@mcp-ts/sdk 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +371 -290
- package/dist/adapters/agui-adapter.d.mts +3 -3
- package/dist/adapters/agui-adapter.d.ts +3 -3
- package/dist/adapters/agui-middleware.d.mts +3 -3
- package/dist/adapters/agui-middleware.d.ts +3 -3
- package/dist/adapters/ai-adapter.d.mts +3 -3
- package/dist/adapters/ai-adapter.d.ts +3 -3
- package/dist/adapters/langchain-adapter.d.mts +3 -3
- package/dist/adapters/langchain-adapter.d.ts +3 -3
- package/dist/adapters/mastra-adapter.d.mts +3 -3
- package/dist/adapters/mastra-adapter.d.ts +3 -3
- package/dist/client/index.d.mts +10 -66
- package/dist/client/index.d.ts +10 -66
- package/dist/client/index.js +91 -173
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +91 -173
- package/dist/client/index.mjs.map +1 -1
- package/dist/client/react.d.mts +15 -5
- package/dist/client/react.d.ts +15 -5
- package/dist/client/react.js +130 -182
- package/dist/client/react.js.map +1 -1
- package/dist/client/react.mjs +130 -182
- package/dist/client/react.mjs.map +1 -1
- package/dist/client/vue.d.mts +27 -7
- package/dist/client/vue.d.ts +27 -7
- package/dist/client/vue.js +131 -182
- package/dist/client/vue.js.map +1 -1
- package/dist/client/vue.mjs +131 -182
- package/dist/client/vue.mjs.map +1 -1
- package/dist/{events-BgeztGYZ.d.mts → events-CK3N--3g.d.mts} +2 -0
- package/dist/{events-BgeztGYZ.d.ts → events-CK3N--3g.d.ts} +2 -0
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +224 -258
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +224 -258
- package/dist/index.mjs.map +1 -1
- package/dist/{multi-session-client-CxogNckF.d.mts → multi-session-client-DzjmT7FX.d.mts} +4 -10
- package/dist/{multi-session-client-cox_WXUj.d.ts → multi-session-client-FAFpUzZ4.d.ts} +4 -10
- package/dist/server/index.d.mts +18 -23
- package/dist/server/index.d.ts +18 -23
- package/dist/server/index.js +133 -85
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +133 -85
- package/dist/server/index.mjs.map +1 -1
- package/dist/shared/index.d.mts +3 -3
- package/dist/shared/index.d.ts +3 -3
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs.map +1 -1
- package/dist/{types-CLccx9wW.d.mts → types-CW6lghof.d.mts} +6 -0
- package/dist/{types-CLccx9wW.d.ts → types-CW6lghof.d.ts} +6 -0
- package/package.json +1 -1
- package/src/client/core/sse-client.ts +354 -493
- package/src/client/react/index.ts +16 -16
- package/src/client/react/use-mcp-apps.tsx +214 -214
- package/src/client/react/use-mcp.ts +84 -19
- package/src/client/vue/use-mcp.ts +119 -44
- package/src/server/handlers/nextjs-handler.ts +207 -217
- package/src/server/handlers/sse-handler.ts +14 -0
- package/src/server/mcp/oauth-client.ts +48 -46
- package/src/server/storage/types.ts +12 -5
- package/src/shared/events.ts +2 -0
- package/src/shared/types.ts +6 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
2
|
-
import '../events-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-DzjmT7FX.mjs';
|
|
2
|
+
import '../events-CK3N--3g.mjs';
|
|
3
3
|
import '@modelcontextprotocol/sdk/types.js';
|
|
4
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
5
4
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* MCP Adapter for AG-UI Integration
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
2
|
-
import '../events-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-FAFpUzZ4.js';
|
|
2
|
+
import '../events-CK3N--3g.js';
|
|
3
3
|
import '@modelcontextprotocol/sdk/types.js';
|
|
4
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
5
4
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
5
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* MCP Adapter for AG-UI Integration
|
|
@@ -2,11 +2,11 @@ import { Observable } from 'rxjs';
|
|
|
2
2
|
import { Middleware, RunAgentInput, AbstractAgent, BaseEvent } from '@ag-ui/client';
|
|
3
3
|
export { AbstractAgent, BaseEvent, EventType, Middleware, RunAgentInput, Tool, ToolCallEndEvent } from '@ag-ui/client';
|
|
4
4
|
import { AguiTool } from './agui-adapter.mjs';
|
|
5
|
-
import '../multi-session-client-
|
|
6
|
-
import '../events-
|
|
5
|
+
import '../multi-session-client-DzjmT7FX.mjs';
|
|
6
|
+
import '../events-CK3N--3g.mjs';
|
|
7
7
|
import '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
9
8
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
9
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* AG-UI Middleware for MCP Tool Execution
|
|
@@ -2,11 +2,11 @@ import { Observable } from 'rxjs';
|
|
|
2
2
|
import { Middleware, RunAgentInput, AbstractAgent, BaseEvent } from '@ag-ui/client';
|
|
3
3
|
export { AbstractAgent, BaseEvent, EventType, Middleware, RunAgentInput, Tool, ToolCallEndEvent } from '@ag-ui/client';
|
|
4
4
|
import { AguiTool } from './agui-adapter.js';
|
|
5
|
-
import '../multi-session-client-
|
|
6
|
-
import '../events-
|
|
5
|
+
import '../multi-session-client-FAFpUzZ4.js';
|
|
6
|
+
import '../events-CK3N--3g.js';
|
|
7
7
|
import '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
9
8
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
9
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* AG-UI Middleware for MCP Tool Execution
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-DzjmT7FX.mjs';
|
|
2
2
|
import { ToolSet } from 'ai';
|
|
3
|
-
import '../events-
|
|
3
|
+
import '../events-CK3N--3g.mjs';
|
|
4
4
|
import '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
5
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
6
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
|
|
8
8
|
interface AIAdapterOptions {
|
|
9
9
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-FAFpUzZ4.js';
|
|
2
2
|
import { ToolSet } from 'ai';
|
|
3
|
-
import '../events-
|
|
3
|
+
import '../events-CK3N--3g.js';
|
|
4
4
|
import '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
5
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
6
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
|
|
8
8
|
interface AIAdapterOptions {
|
|
9
9
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-DzjmT7FX.mjs';
|
|
2
2
|
import { StructuredTool } from '@langchain/core/tools';
|
|
3
|
-
import '../events-
|
|
3
|
+
import '../events-CK3N--3g.mjs';
|
|
4
4
|
import '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
5
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
6
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
|
|
8
8
|
interface LangChainAdapterOptions {
|
|
9
9
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-FAFpUzZ4.js';
|
|
2
2
|
import { StructuredTool } from '@langchain/core/tools';
|
|
3
|
-
import '../events-
|
|
3
|
+
import '../events-CK3N--3g.js';
|
|
4
4
|
import '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
5
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
6
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
|
|
8
8
|
interface LangChainAdapterOptions {
|
|
9
9
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-DzjmT7FX.mjs';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import '../events-
|
|
3
|
+
import '../events-CK3N--3g.mjs';
|
|
4
4
|
import '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
5
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
6
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
|
|
8
8
|
interface MastraAdapterOptions {
|
|
9
9
|
/**
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-
|
|
1
|
+
import { M as MCPClient, a as MultiSessionClient } from '../multi-session-client-FAFpUzZ4.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import '../events-
|
|
3
|
+
import '../events-CK3N--3g.js';
|
|
4
4
|
import '@modelcontextprotocol/sdk/types.js';
|
|
5
|
-
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
5
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
6
|
+
import '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
|
|
8
8
|
interface MastraAdapterOptions {
|
|
9
9
|
/**
|
package/dist/client/index.d.mts
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from '../events-
|
|
2
|
-
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, c as McpConnectionState } from '../events-
|
|
3
|
-
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-
|
|
4
|
-
export { p as McpRpcRequest, q as McpRpcResponse, T as ToolInfo } from '../types-
|
|
1
|
+
import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from '../events-CK3N--3g.mjs';
|
|
2
|
+
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, c as McpConnectionState } from '../events-CK3N--3g.mjs';
|
|
3
|
+
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-CW6lghof.mjs';
|
|
4
|
+
export { p as McpRpcRequest, q as McpRpcResponse, T as ToolInfo } from '../types-CW6lghof.mjs';
|
|
5
5
|
import '@modelcontextprotocol/sdk/types.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Stateless RPC-over-stream client for MCP connections.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* client→server RPC requests.
|
|
13
|
-
*
|
|
14
|
-
* Key features:
|
|
15
|
-
* - Direct HTTP response for RPC calls (bypasses SSE latency)
|
|
16
|
-
* - Resource preloading for instant MCP App UI loading
|
|
17
|
-
* - Automatic reconnection with exponential backoff
|
|
18
|
-
* - Type-safe RPC methods
|
|
10
|
+
* Uses single POST requests with `Accept: text/event-stream` for every RPC call.
|
|
11
|
+
* Progress events and the final rpc-response are delivered in the same response.
|
|
19
12
|
*/
|
|
20
13
|
|
|
21
14
|
interface SSEClientOptions {
|
|
22
|
-
/**
|
|
15
|
+
/** MCP endpoint URL */
|
|
23
16
|
url: string;
|
|
24
17
|
/** User/Client identifier */
|
|
25
18
|
identity: string;
|
|
@@ -33,36 +26,17 @@ interface SSEClientOptions {
|
|
|
33
26
|
onStatusChange?: (status: ConnectionStatus) => void;
|
|
34
27
|
/** Callback for MCP App UI events */
|
|
35
28
|
onEvent?: (event: McpAppsUIEvent) => void;
|
|
36
|
-
/** Request timeout in milliseconds @default 60000 */
|
|
37
|
-
requestTimeout?: number;
|
|
38
29
|
/** Enable debug logging @default false */
|
|
39
30
|
debug?: boolean;
|
|
40
31
|
}
|
|
41
32
|
type ConnectionStatus = 'connecting' | 'connected' | 'disconnected' | 'error';
|
|
42
|
-
/**
|
|
43
|
-
* SSE Client for real-time MCP connection management
|
|
44
|
-
*/
|
|
45
33
|
declare class SSEClient {
|
|
46
34
|
private readonly options;
|
|
47
|
-
private eventSource;
|
|
48
|
-
private pendingRequests;
|
|
49
35
|
private resourceCache;
|
|
50
|
-
private
|
|
51
|
-
private isManuallyDisconnected;
|
|
52
|
-
private connectionPromise;
|
|
53
|
-
private connectionResolver;
|
|
36
|
+
private connected;
|
|
54
37
|
constructor(options: SSEClientOptions);
|
|
55
|
-
/**
|
|
56
|
-
* Connect to the SSE endpoint
|
|
57
|
-
*/
|
|
58
38
|
connect(): void;
|
|
59
|
-
/**
|
|
60
|
-
* Disconnect from the SSE endpoint
|
|
61
|
-
*/
|
|
62
39
|
disconnect(): void;
|
|
63
|
-
/**
|
|
64
|
-
* Check if connected to the SSE endpoint
|
|
65
|
-
*/
|
|
66
40
|
isConnected(): boolean;
|
|
67
41
|
getSessions(): Promise<SessionListResult>;
|
|
68
42
|
connectToServer(params: ConnectParams): Promise<ConnectResult>;
|
|
@@ -75,48 +49,18 @@ declare class SSEClient {
|
|
|
75
49
|
getPrompt(sessionId: string, name: string, args?: Record<string, string>): Promise<unknown>;
|
|
76
50
|
listResources(sessionId: string): Promise<ListResourcesResult>;
|
|
77
51
|
readResource(sessionId: string, uri: string): Promise<unknown>;
|
|
78
|
-
/**
|
|
79
|
-
* Preload UI resources for tools that have UI metadata.
|
|
80
|
-
* Call this when tools are discovered to enable instant MCP App UI loading.
|
|
81
|
-
*/
|
|
82
52
|
preloadToolUiResources(sessionId: string, tools: Array<{
|
|
83
53
|
name: string;
|
|
84
54
|
_meta?: unknown;
|
|
85
55
|
}>): void;
|
|
86
|
-
/**
|
|
87
|
-
* Get a preloaded resource from cache, or fetch if not cached.
|
|
88
|
-
*/
|
|
89
56
|
getOrFetchResource(sessionId: string, uri: string): Promise<unknown>;
|
|
90
|
-
/**
|
|
91
|
-
* Check if a resource is already cached
|
|
92
|
-
*/
|
|
93
57
|
hasPreloadedResource(uri: string): boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Clear the resource cache
|
|
96
|
-
*/
|
|
97
58
|
clearResourceCache(): void;
|
|
98
|
-
/**
|
|
99
|
-
* Send an RPC request and return the response directly from HTTP.
|
|
100
|
-
* This bypasses SSE latency by returning results in the HTTP response body.
|
|
101
|
-
*/
|
|
102
59
|
private sendRequest;
|
|
103
|
-
|
|
104
|
-
* Parse RPC response and handle different response formats
|
|
105
|
-
*/
|
|
60
|
+
private readRpcResponseFromStream;
|
|
106
61
|
private parseRpcResponse;
|
|
107
|
-
/**
|
|
108
|
-
* Wait for RPC response via SSE (legacy fallback)
|
|
109
|
-
*/
|
|
110
|
-
private waitForSseResponse;
|
|
111
|
-
/**
|
|
112
|
-
* Handle RPC response received via SSE (legacy)
|
|
113
|
-
*/
|
|
114
|
-
private handleRpcResponse;
|
|
115
|
-
private setupEventListeners;
|
|
116
|
-
private attemptReconnect;
|
|
117
62
|
private buildUrl;
|
|
118
63
|
private buildHeaders;
|
|
119
|
-
private rejectAllPendingRequests;
|
|
120
64
|
private extractUiResourceUri;
|
|
121
65
|
private emitUiEventIfPresent;
|
|
122
66
|
private log;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,25 +1,18 @@
|
|
|
1
|
-
import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from '../events-
|
|
2
|
-
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, c as McpConnectionState } from '../events-
|
|
3
|
-
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-
|
|
4
|
-
export { p as McpRpcRequest, q as McpRpcResponse, T as ToolInfo } from '../types-
|
|
1
|
+
import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from '../events-CK3N--3g.js';
|
|
2
|
+
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, c as McpConnectionState } from '../events-CK3N--3g.js';
|
|
3
|
+
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, n as ListToolsRpcResult, r as RestoreSessionResult, k as FinishAuthResult, L as ListPromptsResult, l as ListResourcesResult } from '../types-CW6lghof.js';
|
|
4
|
+
export { p as McpRpcRequest, q as McpRpcResponse, T as ToolInfo } from '../types-CW6lghof.js';
|
|
5
5
|
import '@modelcontextprotocol/sdk/types.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Stateless RPC-over-stream client for MCP connections.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* client→server RPC requests.
|
|
13
|
-
*
|
|
14
|
-
* Key features:
|
|
15
|
-
* - Direct HTTP response for RPC calls (bypasses SSE latency)
|
|
16
|
-
* - Resource preloading for instant MCP App UI loading
|
|
17
|
-
* - Automatic reconnection with exponential backoff
|
|
18
|
-
* - Type-safe RPC methods
|
|
10
|
+
* Uses single POST requests with `Accept: text/event-stream` for every RPC call.
|
|
11
|
+
* Progress events and the final rpc-response are delivered in the same response.
|
|
19
12
|
*/
|
|
20
13
|
|
|
21
14
|
interface SSEClientOptions {
|
|
22
|
-
/**
|
|
15
|
+
/** MCP endpoint URL */
|
|
23
16
|
url: string;
|
|
24
17
|
/** User/Client identifier */
|
|
25
18
|
identity: string;
|
|
@@ -33,36 +26,17 @@ interface SSEClientOptions {
|
|
|
33
26
|
onStatusChange?: (status: ConnectionStatus) => void;
|
|
34
27
|
/** Callback for MCP App UI events */
|
|
35
28
|
onEvent?: (event: McpAppsUIEvent) => void;
|
|
36
|
-
/** Request timeout in milliseconds @default 60000 */
|
|
37
|
-
requestTimeout?: number;
|
|
38
29
|
/** Enable debug logging @default false */
|
|
39
30
|
debug?: boolean;
|
|
40
31
|
}
|
|
41
32
|
type ConnectionStatus = 'connecting' | 'connected' | 'disconnected' | 'error';
|
|
42
|
-
/**
|
|
43
|
-
* SSE Client for real-time MCP connection management
|
|
44
|
-
*/
|
|
45
33
|
declare class SSEClient {
|
|
46
34
|
private readonly options;
|
|
47
|
-
private eventSource;
|
|
48
|
-
private pendingRequests;
|
|
49
35
|
private resourceCache;
|
|
50
|
-
private
|
|
51
|
-
private isManuallyDisconnected;
|
|
52
|
-
private connectionPromise;
|
|
53
|
-
private connectionResolver;
|
|
36
|
+
private connected;
|
|
54
37
|
constructor(options: SSEClientOptions);
|
|
55
|
-
/**
|
|
56
|
-
* Connect to the SSE endpoint
|
|
57
|
-
*/
|
|
58
38
|
connect(): void;
|
|
59
|
-
/**
|
|
60
|
-
* Disconnect from the SSE endpoint
|
|
61
|
-
*/
|
|
62
39
|
disconnect(): void;
|
|
63
|
-
/**
|
|
64
|
-
* Check if connected to the SSE endpoint
|
|
65
|
-
*/
|
|
66
40
|
isConnected(): boolean;
|
|
67
41
|
getSessions(): Promise<SessionListResult>;
|
|
68
42
|
connectToServer(params: ConnectParams): Promise<ConnectResult>;
|
|
@@ -75,48 +49,18 @@ declare class SSEClient {
|
|
|
75
49
|
getPrompt(sessionId: string, name: string, args?: Record<string, string>): Promise<unknown>;
|
|
76
50
|
listResources(sessionId: string): Promise<ListResourcesResult>;
|
|
77
51
|
readResource(sessionId: string, uri: string): Promise<unknown>;
|
|
78
|
-
/**
|
|
79
|
-
* Preload UI resources for tools that have UI metadata.
|
|
80
|
-
* Call this when tools are discovered to enable instant MCP App UI loading.
|
|
81
|
-
*/
|
|
82
52
|
preloadToolUiResources(sessionId: string, tools: Array<{
|
|
83
53
|
name: string;
|
|
84
54
|
_meta?: unknown;
|
|
85
55
|
}>): void;
|
|
86
|
-
/**
|
|
87
|
-
* Get a preloaded resource from cache, or fetch if not cached.
|
|
88
|
-
*/
|
|
89
56
|
getOrFetchResource(sessionId: string, uri: string): Promise<unknown>;
|
|
90
|
-
/**
|
|
91
|
-
* Check if a resource is already cached
|
|
92
|
-
*/
|
|
93
57
|
hasPreloadedResource(uri: string): boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Clear the resource cache
|
|
96
|
-
*/
|
|
97
58
|
clearResourceCache(): void;
|
|
98
|
-
/**
|
|
99
|
-
* Send an RPC request and return the response directly from HTTP.
|
|
100
|
-
* This bypasses SSE latency by returning results in the HTTP response body.
|
|
101
|
-
*/
|
|
102
59
|
private sendRequest;
|
|
103
|
-
|
|
104
|
-
* Parse RPC response and handle different response formats
|
|
105
|
-
*/
|
|
60
|
+
private readRpcResponseFromStream;
|
|
106
61
|
private parseRpcResponse;
|
|
107
|
-
/**
|
|
108
|
-
* Wait for RPC response via SSE (legacy fallback)
|
|
109
|
-
*/
|
|
110
|
-
private waitForSseResponse;
|
|
111
|
-
/**
|
|
112
|
-
* Handle RPC response received via SSE (legacy)
|
|
113
|
-
*/
|
|
114
|
-
private handleRpcResponse;
|
|
115
|
-
private setupEventListeners;
|
|
116
|
-
private attemptReconnect;
|
|
117
62
|
private buildUrl;
|
|
118
63
|
private buildHeaders;
|
|
119
|
-
private rejectAllPendingRequests;
|
|
120
64
|
private extractUiResourceUri;
|
|
121
65
|
private emitUiEventIfPresent;
|
|
122
66
|
private log;
|