@modelcontextprotocol/sdk 1.24.2 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/auth-extensions.js +5 -9
- package/dist/cjs/client/auth-extensions.js.map +1 -1
- package/dist/cjs/client/auth.js +30 -37
- package/dist/cjs/client/auth.js.map +1 -1
- package/dist/cjs/client/index.d.ts +61 -14
- package/dist/cjs/client/index.d.ts.map +1 -1
- package/dist/cjs/client/index.js +117 -36
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/client/middleware.js +3 -3
- package/dist/cjs/client/middleware.js.map +1 -1
- package/dist/cjs/client/sse.d.ts.map +1 -1
- package/dist/cjs/client/sse.js +20 -26
- package/dist/cjs/client/sse.js.map +1 -1
- package/dist/cjs/client/stdio.js +18 -28
- package/dist/cjs/client/stdio.js.map +1 -1
- package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/client/streamableHttp.js +42 -47
- package/dist/cjs/client/streamableHttp.js.map +1 -1
- package/dist/cjs/client/websocket.js +6 -11
- package/dist/cjs/client/websocket.js.map +1 -1
- package/dist/cjs/examples/client/elicitationUrlExample.js +4 -5
- package/dist/cjs/examples/client/elicitationUrlExample.js.map +1 -1
- package/dist/cjs/examples/client/simpleOAuthClient.js +3 -3
- package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/cjs/examples/client/simpleStreamableHttp.js +7 -9
- package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/client/simpleTaskInteractiveClient.js +1 -2
- package/dist/cjs/examples/client/simpleTaskInteractiveClient.js.map +1 -1
- package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
- package/dist/cjs/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
- package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js +81 -0
- package/dist/cjs/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +10 -4
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/simpleSseServer.js +6 -3
- package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +12 -6
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/simpleStreamableHttp.js +21 -11
- package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/simpleTaskInteractive.js +7 -11
- package/dist/cjs/examples/server/simpleTaskInteractive.js.map +1 -1
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
- package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
- package/dist/cjs/experimental/tasks/client.js +1 -2
- package/dist/cjs/experimental/tasks/client.js.map +1 -1
- package/dist/cjs/experimental/tasks/helpers.js +3 -5
- package/dist/cjs/experimental/tasks/helpers.js.map +1 -1
- package/dist/cjs/experimental/tasks/interfaces.d.ts +3 -3
- package/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -1
- package/dist/cjs/experimental/tasks/stores/in-memory.d.ts +1 -1
- package/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -1
- package/dist/cjs/experimental/tasks/stores/in-memory.js +3 -5
- package/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -1
- package/dist/cjs/inMemory.js +5 -7
- package/dist/cjs/inMemory.js.map +1 -1
- package/dist/cjs/server/auth/handlers/token.js +1 -1
- package/dist/cjs/server/auth/handlers/token.js.map +1 -1
- package/dist/cjs/server/auth/providers/proxyProvider.js +11 -17
- package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
- package/dist/cjs/server/auth/router.js +3 -6
- package/dist/cjs/server/auth/router.js.map +1 -1
- package/dist/cjs/server/completable.js +1 -1
- package/dist/cjs/server/completable.js.map +1 -1
- package/dist/cjs/server/index.d.ts +3 -3
- package/dist/cjs/server/index.d.ts.map +1 -1
- package/dist/cjs/server/index.js +20 -30
- package/dist/cjs/server/index.js.map +1 -1
- package/dist/cjs/server/mcp.d.ts.map +1 -1
- package/dist/cjs/server/mcp.js +25 -11
- package/dist/cjs/server/mcp.js.map +1 -1
- package/dist/cjs/server/middleware/hostHeaderValidation.js +1 -1
- package/dist/cjs/server/middleware/hostHeaderValidation.js.map +1 -1
- package/dist/cjs/server/sse.js +14 -17
- package/dist/cjs/server/sse.js.map +1 -1
- package/dist/cjs/server/stdio.js +4 -7
- package/dist/cjs/server/stdio.js.map +1 -1
- package/dist/cjs/server/streamableHttp.d.ts +52 -153
- package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/server/streamableHttp.js +78 -636
- package/dist/cjs/server/streamableHttp.js.map +1 -1
- package/dist/cjs/server/webStandardStreamableHttp.d.ts +267 -0
- package/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -0
- package/dist/cjs/server/webStandardStreamableHttp.js +729 -0
- package/dist/cjs/server/webStandardStreamableHttp.js.map +1 -0
- package/dist/cjs/server/zod-compat.d.ts +3 -1
- package/dist/cjs/server/zod-compat.d.ts.map +1 -1
- package/dist/cjs/server/zod-compat.js +11 -19
- package/dist/cjs/server/zod-compat.js.map +1 -1
- package/dist/cjs/server/zod-json-schema-compat.js +5 -6
- package/dist/cjs/server/zod-json-schema-compat.js.map +1 -1
- package/dist/cjs/shared/metadataUtils.js +1 -2
- package/dist/cjs/shared/metadataUtils.js.map +1 -1
- package/dist/cjs/shared/protocol.d.ts +1 -1
- package/dist/cjs/shared/protocol.d.ts.map +1 -1
- package/dist/cjs/shared/protocol.js +76 -88
- package/dist/cjs/shared/protocol.js.map +1 -1
- package/dist/cjs/shared/transport.js +1 -1
- package/dist/cjs/shared/transport.js.map +1 -1
- package/dist/cjs/spec.types.d.ts +315 -26
- package/dist/cjs/spec.types.d.ts.map +1 -1
- package/dist/cjs/spec.types.js +2 -2
- package/dist/cjs/spec.types.js.map +1 -1
- package/dist/cjs/types.d.ts +1392 -1248
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +201 -136
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/validation/ajv-provider.d.ts +1 -1
- package/dist/cjs/validation/ajv-provider.d.ts.map +1 -1
- package/dist/cjs/validation/ajv-provider.js +4 -5
- package/dist/cjs/validation/ajv-provider.js.map +1 -1
- package/dist/cjs/validation/cfworker-provider.js +4 -5
- package/dist/cjs/validation/cfworker-provider.js.map +1 -1
- package/dist/cjs/validation/types.d.ts +12 -2
- package/dist/cjs/validation/types.d.ts.map +1 -1
- package/dist/esm/client/auth-extensions.js +5 -9
- package/dist/esm/client/auth-extensions.js.map +1 -1
- package/dist/esm/client/auth.js +30 -37
- package/dist/esm/client/auth.js.map +1 -1
- package/dist/esm/client/index.d.ts +61 -14
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +118 -37
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/client/middleware.js +3 -3
- package/dist/esm/client/middleware.js.map +1 -1
- package/dist/esm/client/sse.d.ts.map +1 -1
- package/dist/esm/client/sse.js +20 -26
- package/dist/esm/client/sse.js.map +1 -1
- package/dist/esm/client/stdio.js +18 -28
- package/dist/esm/client/stdio.js.map +1 -1
- package/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/dist/esm/client/streamableHttp.js +43 -48
- package/dist/esm/client/streamableHttp.js.map +1 -1
- package/dist/esm/client/websocket.js +6 -11
- package/dist/esm/client/websocket.js.map +1 -1
- package/dist/esm/examples/client/elicitationUrlExample.js +4 -5
- package/dist/esm/examples/client/elicitationUrlExample.js.map +1 -1
- package/dist/esm/examples/client/simpleOAuthClient.js +3 -3
- package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/esm/examples/client/simpleStreamableHttp.js +7 -9
- package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/esm/examples/client/simpleTaskInteractiveClient.js +1 -2
- package/dist/esm/examples/client/simpleTaskInteractiveClient.js.map +1 -1
- package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts +10 -0
- package/dist/esm/examples/server/honoWebStandardStreamableHttp.d.ts.map +1 -0
- package/dist/esm/examples/server/honoWebStandardStreamableHttp.js +56 -0
- package/dist/esm/examples/server/honoWebStandardStreamableHttp.js.map +1 -0
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js +10 -4
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/simpleSseServer.js +6 -3
- package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +12 -6
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/simpleStreamableHttp.js +21 -11
- package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/simpleTaskInteractive.js +7 -11
- package/dist/esm/examples/server/simpleTaskInteractive.js.map +1 -1
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +10 -7
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +1 -1
- package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
- package/dist/esm/experimental/tasks/client.js +1 -2
- package/dist/esm/experimental/tasks/client.js.map +1 -1
- package/dist/esm/experimental/tasks/helpers.js +3 -5
- package/dist/esm/experimental/tasks/helpers.js.map +1 -1
- package/dist/esm/experimental/tasks/interfaces.d.ts +3 -3
- package/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -1
- package/dist/esm/experimental/tasks/stores/in-memory.d.ts +1 -1
- package/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -1
- package/dist/esm/experimental/tasks/stores/in-memory.js +3 -5
- package/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -1
- package/dist/esm/inMemory.js +5 -7
- package/dist/esm/inMemory.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/providers/proxyProvider.js +11 -17
- package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
- package/dist/esm/server/auth/router.js +3 -6
- package/dist/esm/server/auth/router.js.map +1 -1
- package/dist/esm/server/completable.js +1 -1
- package/dist/esm/server/completable.js.map +1 -1
- package/dist/esm/server/index.d.ts +3 -3
- package/dist/esm/server/index.d.ts.map +1 -1
- package/dist/esm/server/index.js +20 -30
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/server/mcp.d.ts.map +1 -1
- package/dist/esm/server/mcp.js +25 -11
- package/dist/esm/server/mcp.js.map +1 -1
- package/dist/esm/server/middleware/hostHeaderValidation.js +1 -1
- package/dist/esm/server/middleware/hostHeaderValidation.js.map +1 -1
- package/dist/esm/server/sse.js +14 -17
- package/dist/esm/server/sse.js.map +1 -1
- package/dist/esm/server/stdio.js +4 -7
- package/dist/esm/server/stdio.js.map +1 -1
- package/dist/esm/server/streamableHttp.d.ts +52 -153
- package/dist/esm/server/streamableHttp.d.ts.map +1 -1
- package/dist/esm/server/streamableHttp.js +78 -633
- package/dist/esm/server/streamableHttp.js.map +1 -1
- package/dist/esm/server/webStandardStreamableHttp.d.ts +267 -0
- package/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -0
- package/dist/esm/server/webStandardStreamableHttp.js +725 -0
- package/dist/esm/server/webStandardStreamableHttp.js.map +1 -0
- package/dist/esm/server/zod-compat.d.ts +3 -1
- package/dist/esm/server/zod-compat.d.ts.map +1 -1
- package/dist/esm/server/zod-compat.js +11 -19
- package/dist/esm/server/zod-compat.js.map +1 -1
- package/dist/esm/server/zod-json-schema-compat.js +5 -6
- package/dist/esm/server/zod-json-schema-compat.js.map +1 -1
- package/dist/esm/shared/metadataUtils.js +1 -2
- package/dist/esm/shared/metadataUtils.js.map +1 -1
- package/dist/esm/shared/protocol.d.ts +1 -1
- package/dist/esm/shared/protocol.d.ts.map +1 -1
- package/dist/esm/shared/protocol.js +77 -89
- package/dist/esm/shared/protocol.js.map +1 -1
- package/dist/esm/shared/transport.js +1 -1
- package/dist/esm/shared/transport.js.map +1 -1
- package/dist/esm/spec.types.d.ts +315 -26
- package/dist/esm/spec.types.d.ts.map +1 -1
- package/dist/esm/spec.types.js +2 -2
- package/dist/esm/spec.types.js.map +1 -1
- package/dist/esm/types.d.ts +1392 -1248
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +194 -130
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/validation/ajv-provider.d.ts +1 -1
- package/dist/esm/validation/ajv-provider.d.ts.map +1 -1
- package/dist/esm/validation/ajv-provider.js +3 -4
- package/dist/esm/validation/ajv-provider.js.map +1 -1
- package/dist/esm/validation/cfworker-provider.js +4 -5
- package/dist/esm/validation/cfworker-provider.js.map +1 -1
- package/dist/esm/validation/types.d.ts +12 -2
- package/dist/esm/validation/types.d.ts.map +1 -1
- package/package.json +4 -2
|
@@ -1,106 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js HTTP Streamable HTTP Server Transport
|
|
3
|
+
*
|
|
4
|
+
* This is a thin wrapper around `WebStandardStreamableHTTPServerTransport` that provides
|
|
5
|
+
* compatibility with Node.js HTTP server (IncomingMessage/ServerResponse).
|
|
6
|
+
*
|
|
7
|
+
* For web-standard environments (Cloudflare Workers, Deno, Bun), use `WebStandardStreamableHTTPServerTransport` directly.
|
|
8
|
+
*/
|
|
1
9
|
import { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
10
|
import { Transport } from '../shared/transport.js';
|
|
3
|
-
import { MessageExtraInfo, JSONRPCMessage, RequestId } from '../types.js';
|
|
4
11
|
import { AuthInfo } from './auth/types.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* Interface for resumability support via event storage
|
|
9
|
-
*/
|
|
10
|
-
export interface EventStore {
|
|
11
|
-
/**
|
|
12
|
-
* Stores an event for later retrieval
|
|
13
|
-
* @param streamId ID of the stream the event belongs to
|
|
14
|
-
* @param message The JSON-RPC message to store
|
|
15
|
-
* @returns The generated event ID for the stored event
|
|
16
|
-
*/
|
|
17
|
-
storeEvent(streamId: StreamId, message: JSONRPCMessage): Promise<EventId>;
|
|
18
|
-
/**
|
|
19
|
-
* Get the stream ID associated with a given event ID.
|
|
20
|
-
* @param eventId The event ID to look up
|
|
21
|
-
* @returns The stream ID, or undefined if not found
|
|
22
|
-
*
|
|
23
|
-
* Optional: If not provided, the SDK will use the streamId returned by
|
|
24
|
-
* replayEventsAfter for stream mapping.
|
|
25
|
-
*/
|
|
26
|
-
getStreamIdForEventId?(eventId: EventId): Promise<StreamId | undefined>;
|
|
27
|
-
replayEventsAfter(lastEventId: EventId, { send }: {
|
|
28
|
-
send: (eventId: EventId, message: JSONRPCMessage) => Promise<void>;
|
|
29
|
-
}): Promise<StreamId>;
|
|
30
|
-
}
|
|
12
|
+
import { MessageExtraInfo, JSONRPCMessage, RequestId } from '../types.js';
|
|
13
|
+
import { WebStandardStreamableHTTPServerTransportOptions, EventStore, StreamId, EventId } from './webStandardStreamableHttp.js';
|
|
14
|
+
export type { EventStore, StreamId, EventId };
|
|
31
15
|
/**
|
|
32
16
|
* Configuration options for StreamableHTTPServerTransport
|
|
17
|
+
*
|
|
18
|
+
* This is an alias for WebStandardStreamableHTTPServerTransportOptions for backward compatibility.
|
|
33
19
|
*/
|
|
34
|
-
export
|
|
35
|
-
/**
|
|
36
|
-
* Function that generates a session ID for the transport.
|
|
37
|
-
* The session ID SHOULD be globally unique and cryptographically secure (e.g., a securely generated UUID, a JWT, or a cryptographic hash)
|
|
38
|
-
*
|
|
39
|
-
* Return undefined to disable session management.
|
|
40
|
-
*/
|
|
41
|
-
sessionIdGenerator: (() => string) | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* A callback for session initialization events
|
|
44
|
-
* This is called when the server initializes a new session.
|
|
45
|
-
* Useful in cases when you need to register multiple mcp sessions
|
|
46
|
-
* and need to keep track of them.
|
|
47
|
-
* @param sessionId The generated session ID
|
|
48
|
-
*/
|
|
49
|
-
onsessioninitialized?: (sessionId: string) => void | Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* A callback for session close events
|
|
52
|
-
* This is called when the server closes a session due to a DELETE request.
|
|
53
|
-
* Useful in cases when you need to clean up resources associated with the session.
|
|
54
|
-
* Note that this is different from the transport closing, if you are handling
|
|
55
|
-
* HTTP requests from multiple nodes you might want to close each
|
|
56
|
-
* StreamableHTTPServerTransport after a request is completed while still keeping the
|
|
57
|
-
* session open/running.
|
|
58
|
-
* @param sessionId The session ID that was closed
|
|
59
|
-
*/
|
|
60
|
-
onsessionclosed?: (sessionId: string) => void | Promise<void>;
|
|
61
|
-
/**
|
|
62
|
-
* If true, the server will return JSON responses instead of starting an SSE stream.
|
|
63
|
-
* This can be useful for simple request/response scenarios without streaming.
|
|
64
|
-
* Default is false (SSE streams are preferred).
|
|
65
|
-
*/
|
|
66
|
-
enableJsonResponse?: boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Event store for resumability support
|
|
69
|
-
* If provided, resumability will be enabled, allowing clients to reconnect and resume messages
|
|
70
|
-
*/
|
|
71
|
-
eventStore?: EventStore;
|
|
72
|
-
/**
|
|
73
|
-
* List of allowed host header values for DNS rebinding protection.
|
|
74
|
-
* If not specified, host validation is disabled.
|
|
75
|
-
* @deprecated Use the `hostHeaderValidation` middleware from `@modelcontextprotocol/sdk/server/middleware/hostHeaderValidation.js` instead,
|
|
76
|
-
* or use `createMcpExpressApp` from `@modelcontextprotocol/sdk/server/express.js` which includes localhost protection by default.
|
|
77
|
-
*/
|
|
78
|
-
allowedHosts?: string[];
|
|
79
|
-
/**
|
|
80
|
-
* List of allowed origin header values for DNS rebinding protection.
|
|
81
|
-
* If not specified, origin validation is disabled.
|
|
82
|
-
* @deprecated Use the `hostHeaderValidation` middleware from `@modelcontextprotocol/sdk/server/middleware/hostHeaderValidation.js` instead,
|
|
83
|
-
* or use `createMcpExpressApp` from `@modelcontextprotocol/sdk/server/express.js` which includes localhost protection by default.
|
|
84
|
-
*/
|
|
85
|
-
allowedOrigins?: string[];
|
|
86
|
-
/**
|
|
87
|
-
* Enable DNS rebinding protection (requires allowedHosts and/or allowedOrigins to be configured).
|
|
88
|
-
* Default is false for backwards compatibility.
|
|
89
|
-
* @deprecated Use the `hostHeaderValidation` middleware from `@modelcontextprotocol/sdk/server/middleware/hostHeaderValidation.js` instead,
|
|
90
|
-
* or use `createMcpExpressApp` from `@modelcontextprotocol/sdk/server/express.js` which includes localhost protection by default.
|
|
91
|
-
*/
|
|
92
|
-
enableDnsRebindingProtection?: boolean;
|
|
93
|
-
/**
|
|
94
|
-
* Retry interval in milliseconds to suggest to clients in SSE retry field.
|
|
95
|
-
* When set, the server will send a retry field in SSE priming events to control
|
|
96
|
-
* client reconnection timing for polling behavior.
|
|
97
|
-
*/
|
|
98
|
-
retryInterval?: number;
|
|
99
|
-
}
|
|
20
|
+
export type StreamableHTTPServerTransportOptions = WebStandardStreamableHTTPServerTransportOptions;
|
|
100
21
|
/**
|
|
101
22
|
* Server transport for Streamable HTTP: this implements the MCP Streamable HTTP transport specification.
|
|
102
23
|
* It supports both SSE streaming and direct HTTP responses.
|
|
103
24
|
*
|
|
25
|
+
* This is a wrapper around `WebStandardStreamableHTTPServerTransport` that provides Node.js HTTP compatibility.
|
|
26
|
+
* It uses the `@hono/node-server` library to convert between Node.js HTTP and Web Standard APIs.
|
|
27
|
+
*
|
|
104
28
|
* Usage example:
|
|
105
29
|
*
|
|
106
30
|
* ```typescript
|
|
@@ -132,79 +56,57 @@ export interface StreamableHTTPServerTransportOptions {
|
|
|
132
56
|
* - No session validation is performed
|
|
133
57
|
*/
|
|
134
58
|
export declare class StreamableHTTPServerTransport implements Transport {
|
|
135
|
-
private
|
|
136
|
-
private
|
|
137
|
-
private
|
|
138
|
-
|
|
139
|
-
private _requestResponseMap;
|
|
140
|
-
private _initialized;
|
|
141
|
-
private _enableJsonResponse;
|
|
142
|
-
private _standaloneSseStreamId;
|
|
143
|
-
private _eventStore?;
|
|
144
|
-
private _onsessioninitialized?;
|
|
145
|
-
private _onsessionclosed?;
|
|
146
|
-
private _allowedHosts?;
|
|
147
|
-
private _allowedOrigins?;
|
|
148
|
-
private _enableDnsRebindingProtection;
|
|
149
|
-
private _retryInterval?;
|
|
150
|
-
sessionId?: string;
|
|
151
|
-
onclose?: () => void;
|
|
152
|
-
onerror?: (error: Error) => void;
|
|
153
|
-
onmessage?: (message: JSONRPCMessage, extra?: MessageExtraInfo) => void;
|
|
154
|
-
constructor(options: StreamableHTTPServerTransportOptions);
|
|
155
|
-
/**
|
|
156
|
-
* Starts the transport. This is required by the Transport interface but is a no-op
|
|
157
|
-
* for the Streamable HTTP transport as connections are managed per-request.
|
|
158
|
-
*/
|
|
159
|
-
start(): Promise<void>;
|
|
160
|
-
/**
|
|
161
|
-
* Validates request headers for DNS rebinding protection.
|
|
162
|
-
* @returns Error message if validation fails, undefined if validation passes.
|
|
163
|
-
*/
|
|
164
|
-
private validateRequestHeaders;
|
|
165
|
-
/**
|
|
166
|
-
* Handles an incoming HTTP request, whether GET or POST
|
|
167
|
-
*/
|
|
168
|
-
handleRequest(req: IncomingMessage & {
|
|
169
|
-
auth?: AuthInfo;
|
|
170
|
-
}, res: ServerResponse, parsedBody?: unknown): Promise<void>;
|
|
59
|
+
private _webStandardTransport;
|
|
60
|
+
private _requestListener;
|
|
61
|
+
private _requestContext;
|
|
62
|
+
constructor(options?: StreamableHTTPServerTransportOptions);
|
|
171
63
|
/**
|
|
172
|
-
*
|
|
173
|
-
* Only sends if eventStore is configured (opt-in for resumability).
|
|
64
|
+
* Gets the session ID for this transport instance.
|
|
174
65
|
*/
|
|
175
|
-
|
|
66
|
+
get sessionId(): string | undefined;
|
|
176
67
|
/**
|
|
177
|
-
*
|
|
68
|
+
* Sets callback for when the transport is closed.
|
|
178
69
|
*/
|
|
179
|
-
|
|
70
|
+
set onclose(handler: (() => void) | undefined);
|
|
71
|
+
get onclose(): (() => void) | undefined;
|
|
180
72
|
/**
|
|
181
|
-
*
|
|
182
|
-
* Only used when resumability is enabled
|
|
73
|
+
* Sets callback for transport errors.
|
|
183
74
|
*/
|
|
184
|
-
|
|
75
|
+
set onerror(handler: ((error: Error) => void) | undefined);
|
|
76
|
+
get onerror(): ((error: Error) => void) | undefined;
|
|
185
77
|
/**
|
|
186
|
-
*
|
|
78
|
+
* Sets callback for incoming messages.
|
|
187
79
|
*/
|
|
188
|
-
|
|
80
|
+
set onmessage(handler: ((message: JSONRPCMessage, extra?: MessageExtraInfo) => void) | undefined);
|
|
81
|
+
get onmessage(): ((message: JSONRPCMessage, extra?: MessageExtraInfo) => void) | undefined;
|
|
189
82
|
/**
|
|
190
|
-
*
|
|
83
|
+
* Starts the transport. This is required by the Transport interface but is a no-op
|
|
84
|
+
* for the Streamable HTTP transport as connections are managed per-request.
|
|
191
85
|
*/
|
|
192
|
-
|
|
86
|
+
start(): Promise<void>;
|
|
193
87
|
/**
|
|
194
|
-
*
|
|
88
|
+
* Closes the transport and all active connections.
|
|
195
89
|
*/
|
|
196
|
-
|
|
90
|
+
close(): Promise<void>;
|
|
197
91
|
/**
|
|
198
|
-
*
|
|
92
|
+
* Sends a JSON-RPC message through the transport.
|
|
199
93
|
*/
|
|
200
|
-
|
|
94
|
+
send(message: JSONRPCMessage, options?: {
|
|
95
|
+
relatedRequestId?: RequestId;
|
|
96
|
+
}): Promise<void>;
|
|
201
97
|
/**
|
|
202
|
-
*
|
|
203
|
-
*
|
|
98
|
+
* Handles an incoming HTTP request, whether GET or POST.
|
|
99
|
+
*
|
|
100
|
+
* This method converts Node.js HTTP objects to Web Standard Request/Response
|
|
101
|
+
* and delegates to the underlying WebStandardStreamableHTTPServerTransport.
|
|
102
|
+
*
|
|
103
|
+
* @param req - Node.js IncomingMessage, optionally with auth property from middleware
|
|
104
|
+
* @param res - Node.js ServerResponse
|
|
105
|
+
* @param parsedBody - Optional pre-parsed body from body-parser middleware
|
|
204
106
|
*/
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
107
|
+
handleRequest(req: IncomingMessage & {
|
|
108
|
+
auth?: AuthInfo;
|
|
109
|
+
}, res: ServerResponse, parsedBody?: unknown): Promise<void>;
|
|
208
110
|
/**
|
|
209
111
|
* Close an SSE stream for a specific request, triggering client reconnection.
|
|
210
112
|
* Use this to implement polling behavior during long-running operations -
|
|
@@ -216,8 +118,5 @@ export declare class StreamableHTTPServerTransport implements Transport {
|
|
|
216
118
|
* Use this to implement polling behavior for server-initiated notifications.
|
|
217
119
|
*/
|
|
218
120
|
closeStandaloneSSEStream(): void;
|
|
219
|
-
send(message: JSONRPCMessage, options?: {
|
|
220
|
-
relatedRequestId?: RequestId;
|
|
221
|
-
}): Promise<void>;
|
|
222
121
|
}
|
|
223
122
|
//# sourceMappingURL=streamableHttp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"streamableHttp.d.ts","sourceRoot":"","sources":["../../../src/server/streamableHttp.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAEH,+CAA+C,EAC/C,UAAU,EACV,QAAQ,EACR,OAAO,EACV,MAAM,gCAAgC,CAAC;AAGxC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAE9C;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,GAAG,+CAA+C,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,6BAA8B,YAAW,SAAS;IAC3D,OAAO,CAAC,qBAAqB,CAA2C;IACxE,OAAO,CAAC,gBAAgB,CAAwC;IAEhE,OAAO,CAAC,eAAe,CAAkF;gBAE7F,OAAO,GAAE,oCAAyC;IAe9D;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,EAE5C;IAED,IAAI,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAEtC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,EAExD;IAED,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAElD;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,SAAS,EAE/F;IAED,IAAI,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,SAAS,CAEzF;IAED;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F;;;;;;;;;OASG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzH;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAI1C;;;OAGG;IACH,wBAAwB,IAAI,IAAI;CAGnC"}
|