mcp-use 1.2.1-canary.0 → 1.2.2-canary.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/index.js CHANGED
@@ -2,41 +2,42 @@ import {
2
2
  AcquireActiveMCPServerTool,
3
3
  AddMCPServerFromConfigTool,
4
4
  BaseAdapter,
5
- BaseConnector,
6
- BaseMCPClient,
7
5
  ConnectMCPServerTool,
8
- ConnectionManager,
9
- HttpConnector,
10
6
  LangChainAdapter,
11
7
  ListMCPServersTool,
12
8
  MCPAgent,
13
- MCPSession,
14
9
  ObservabilityManager,
15
10
  ReleaseMCPServerConnectionTool,
16
11
  RemoteAgent,
17
12
  ServerManager,
18
13
  Telemetry,
19
- WebSocketConnector,
20
14
  createReadableStreamFromGenerator,
21
15
  setTelemetrySource,
22
16
  streamEventsToAISDK,
23
17
  streamEventsToAISDKWithTools
24
- } from "./chunk-MGUO7HXB.js";
18
+ } from "./chunk-UVUM35MV.js";
25
19
  import {
26
20
  useMcp,
27
21
  useWidget,
28
22
  useWidgetProps,
29
23
  useWidgetState,
30
24
  useWidgetTheme
31
- } from "./chunk-JV7HAYUT.js";
25
+ } from "./chunk-CPV4QNHD.js";
32
26
  import {
27
+ BaseConnector,
28
+ BaseMCPClient,
33
29
  BrowserOAuthClientProvider,
30
+ ConnectionManager,
31
+ HttpConnector,
32
+ MCPSession,
33
+ WebSocketConnector,
34
34
  onMcpAuthorization
35
- } from "./chunk-62GFHYCL.js";
35
+ } from "./chunk-C3SRZK7H.js";
36
+ import "./chunk-EYAIJPBH.js";
36
37
  import {
37
38
  Logger,
38
39
  logger
39
- } from "./chunk-ZUEQQ6YK.js";
40
+ } from "./chunk-VPPILX7B.js";
40
41
  import {
41
42
  __name
42
43
  } from "./chunk-SHUYVCID.js";
@@ -3,7 +3,8 @@ import {
3
3
  langfuseClient,
4
4
  langfuseHandler,
5
5
  langfuseInitPromise
6
- } from "./chunk-ZUEQQ6YK.js";
6
+ } from "./chunk-EYAIJPBH.js";
7
+ import "./chunk-VPPILX7B.js";
7
8
  import "./chunk-SHUYVCID.js";
8
9
  export {
9
10
  initializeLangfuse,
@@ -1 +1 @@
1
- {"version":3,"file":"system_prompt_builder.d.ts","sourceRoot":"","sources":["../../../../src/agents/prompts/system_prompt_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,EAAE,EAChC,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,MAAM,EAAE,CAcV;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,MAAM,CAiBR;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,uBAAuB,EAAE,EAChC,oBAAoB,EAAE,MAAM,EAC5B,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,EAAE,OAAO,EACzB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,aAAa,CAiBf"}
1
+ {"version":3,"file":"system_prompt_builder.d.ts","sourceRoot":"","sources":["../../../../src/agents/prompts/system_prompt_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,EAAE,EAChC,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,MAAM,EAAE,CAcV;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,oBAAoB,EAAE,MAAM,EAAE,EAC9B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,MAAM,CAiBR;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,uBAAuB,EAAE,EAChC,oBAAoB,EAAE,MAAM,EAC5B,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,EAAE,OAAO,EACzB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,aAAa,CAiBf"}
@@ -738,6 +738,7 @@ var BaseConnector = class {
738
738
  client = null;
739
739
  connectionManager = null;
740
740
  toolsCache = null;
741
+ capabilitiesCache = null;
741
742
  connected = false;
742
743
  opts;
743
744
  constructor(opts = {}) {
@@ -771,9 +772,11 @@ var BaseConnector = class {
771
772
  }
772
773
  logger.debug("Caching server capabilities & tools");
773
774
  const capabilities = this.client.getServerCapabilities();
775
+ this.capabilitiesCache = capabilities;
774
776
  const listToolsRes = await this.client.listTools(void 0, defaultRequestOptions);
775
777
  this.toolsCache = listToolsRes.tools ?? [];
776
778
  logger.debug(`Fetched ${this.toolsCache.length} tools from server`);
779
+ logger.debug("Server capabilities:", capabilities);
777
780
  return capabilities;
778
781
  }
779
782
  /** Lazily expose the cached tools list. */
@@ -795,7 +798,7 @@ var BaseConnector = class {
795
798
  }
796
799
  /**
797
800
  * List resources from the server with optional pagination
798
- *
801
+ *
799
802
  * @param cursor - Optional cursor for pagination
800
803
  * @param options - Request options
801
804
  * @returns Resource list with optional nextCursor for pagination
@@ -809,7 +812,7 @@ var BaseConnector = class {
809
812
  }
810
813
  /**
811
814
  * List all resources from the server, automatically handling pagination
812
- *
815
+ *
813
816
  * @param options - Request options
814
817
  * @returns Complete list of all resources
815
818
  */
@@ -817,19 +820,31 @@ var BaseConnector = class {
817
820
  if (!this.client) {
818
821
  throw new Error("MCP client is not connected");
819
822
  }
820
- logger.debug("Listing all resources (with auto-pagination)");
821
- const allResources = [];
822
- let cursor = void 0;
823
- do {
824
- const result = await this.client.listResources({ cursor }, options);
825
- allResources.push(...result.resources || []);
826
- cursor = result.nextCursor;
827
- } while (cursor);
828
- return { resources: allResources };
823
+ if (!this.capabilitiesCache?.resources) {
824
+ logger.debug("Server does not advertise resources capability, skipping");
825
+ return { resources: [] };
826
+ }
827
+ try {
828
+ logger.debug("Listing all resources (with auto-pagination)");
829
+ const allResources = [];
830
+ let cursor = void 0;
831
+ do {
832
+ const result = await this.client.listResources({ cursor }, options);
833
+ allResources.push(...result.resources || []);
834
+ cursor = result.nextCursor;
835
+ } while (cursor);
836
+ return { resources: allResources };
837
+ } catch (err) {
838
+ if (err.code === -32601) {
839
+ logger.debug("Server advertised resources but method not found");
840
+ return { resources: [] };
841
+ }
842
+ throw err;
843
+ }
829
844
  }
830
845
  /**
831
846
  * List resource templates from the server
832
- *
847
+ *
833
848
  * @param options - Request options
834
849
  * @returns List of available resource templates
835
850
  */
@@ -847,11 +862,11 @@ var BaseConnector = class {
847
862
  }
848
863
  logger.debug(`Reading resource ${uri}`);
849
864
  const res = await this.client.readResource({ uri }, options);
850
- return { content: res.content, mimeType: res.mimeType };
865
+ return res;
851
866
  }
852
867
  /**
853
868
  * Subscribe to resource updates
854
- *
869
+ *
855
870
  * @param uri - URI of the resource to subscribe to
856
871
  * @param options - Request options
857
872
  */
@@ -864,7 +879,7 @@ var BaseConnector = class {
864
879
  }
865
880
  /**
866
881
  * Unsubscribe from resource updates
867
- *
882
+ *
868
883
  * @param uri - URI of the resource to unsubscribe from
869
884
  * @param options - Request options
870
885
  */
@@ -879,8 +894,20 @@ var BaseConnector = class {
879
894
  if (!this.client) {
880
895
  throw new Error("MCP client is not connected");
881
896
  }
882
- logger.debug("Listing prompt");
883
- return await this.client.listPrompts();
897
+ if (!this.capabilitiesCache?.prompts) {
898
+ logger.debug("Server does not advertise prompts capability, skipping");
899
+ return { prompts: [] };
900
+ }
901
+ try {
902
+ logger.debug("Listing prompts");
903
+ return await this.client.listPrompts();
904
+ } catch (err) {
905
+ if (err.code === -32601) {
906
+ logger.debug("Server advertised prompts but method not found");
907
+ return { prompts: [] };
908
+ }
909
+ throw err;
910
+ }
884
911
  }
885
912
  async getPrompt(name, args) {
886
913
  if (!this.client) {
@@ -976,7 +1003,9 @@ var HttpConnector = class extends BaseConnector {
976
1003
  logger.info("\u2705 Successfully connected via streamable HTTP");
977
1004
  } catch (err) {
978
1005
  let fallbackReason = "Unknown error";
1006
+ let is401Error = false;
979
1007
  if (err instanceof import_streamableHttp2.StreamableHTTPError) {
1008
+ is401Error = err.code === 401;
980
1009
  if (err.code === 400 && err.message.includes("Missing session ID")) {
981
1010
  fallbackReason = "Server requires session ID (FastMCP compatibility) - using SSE transport";
982
1011
  logger.warn(`\u26A0\uFE0F ${fallbackReason}`);
@@ -990,6 +1019,7 @@ var HttpConnector = class extends BaseConnector {
990
1019
  } else if (err instanceof Error) {
991
1020
  const errorStr = err.toString();
992
1021
  const errorMsg = err.message || "";
1022
+ is401Error = errorStr.includes("401") || errorMsg.includes("Unauthorized");
993
1023
  if (errorStr.includes("Missing session ID") || errorStr.includes("Bad Request: Missing session ID") || errorMsg.includes("FastMCP session ID error")) {
994
1024
  fallbackReason = "Server requires session ID (FastMCP compatibility) - using SSE transport";
995
1025
  logger.warn(`\u26A0\uFE0F ${fallbackReason}`);
@@ -1001,6 +1031,13 @@ var HttpConnector = class extends BaseConnector {
1001
1031
  logger.debug(fallbackReason);
1002
1032
  }
1003
1033
  }
1034
+ if (is401Error) {
1035
+ logger.info("Authentication required - skipping SSE fallback");
1036
+ await this.cleanupResources();
1037
+ const authError = new Error("Authentication required");
1038
+ authError.code = 401;
1039
+ throw authError;
1040
+ }
1004
1041
  logger.info("\u{1F504} Falling back to SSE transport...");
1005
1042
  try {
1006
1043
  await this.connectWithSse(baseUrl);
@@ -1009,6 +1046,12 @@ var HttpConnector = class extends BaseConnector {
1009
1046
  logger.error(` Streamable HTTP: ${fallbackReason}`);
1010
1047
  logger.error(` SSE: ${sseErr}`);
1011
1048
  await this.cleanupResources();
1049
+ const sseIs401 = sseErr?.message?.includes("401") || sseErr?.message?.includes("Unauthorized");
1050
+ if (sseIs401) {
1051
+ const authError = new Error("Authentication required");
1052
+ authError.code = 401;
1053
+ throw authError;
1054
+ }
1012
1055
  throw new Error("Could not connect to server with any available transport");
1013
1056
  }
1014
1057
  }
@@ -1018,6 +1061,8 @@ var HttpConnector = class extends BaseConnector {
1018
1061
  this.connectionManager = new StreamableHttpConnectionManager(
1019
1062
  baseUrl,
1020
1063
  {
1064
+ authProvider: this.opts.authProvider,
1065
+ // ← Pass OAuth provider to SDK
1021
1066
  requestInit: {
1022
1067
  headers: this.headers
1023
1068
  },
@@ -1292,7 +1337,7 @@ var WebSocketConnector = class extends BaseConnector {
1292
1337
  }
1293
1338
  async readResource(uri) {
1294
1339
  const res = await this.sendRequest("resources/read", { uri });
1295
- return { content: res.content, mimeType: res.mimeType };
1340
+ return res;
1296
1341
  }
1297
1342
  async request(method, params = null) {
1298
1343
  return await this.sendRequest(method, params);
@@ -1483,13 +1528,15 @@ var BrowserMCPClient = class _BrowserMCPClient extends BaseMCPClient {
1483
1528
  * Supports HTTP and WebSocket connectors only
1484
1529
  */
1485
1530
  createConnectorFromConfig(serverConfig) {
1486
- const { url, transport, headers, authToken } = serverConfig;
1531
+ const { url, transport, headers, authToken, authProvider } = serverConfig;
1487
1532
  if (!url) {
1488
1533
  throw new Error("Server URL is required");
1489
1534
  }
1490
1535
  const connectorOptions = {
1491
1536
  headers,
1492
- authToken
1537
+ authToken,
1538
+ authProvider
1539
+ // ← Pass OAuth provider to connector
1493
1540
  };
1494
1541
  if (transport === "websocket" || url.startsWith("ws://") || url.startsWith("wss://")) {
1495
1542
  return new WebSocketConnector(url, connectorOptions);
@@ -1,63 +1,28 @@
1
1
  import {
2
2
  BaseAdapter,
3
- BaseConnector,
4
- BaseMCPClient,
5
- HttpConnector,
6
3
  LangChainAdapter,
7
4
  MCPAgent,
8
- MCPSession,
9
5
  ObservabilityManager,
10
6
  RemoteAgent,
11
- WebSocketConnector,
12
7
  createReadableStreamFromGenerator,
13
8
  streamEventsToAISDK,
14
9
  streamEventsToAISDKWithTools
15
- } from "../chunk-MGUO7HXB.js";
10
+ } from "../chunk-UVUM35MV.js";
16
11
  import {
12
+ BaseConnector,
13
+ BrowserMCPClient,
17
14
  BrowserOAuthClientProvider,
15
+ HttpConnector,
16
+ MCPSession,
17
+ WebSocketConnector,
18
18
  onMcpAuthorization
19
- } from "../chunk-62GFHYCL.js";
19
+ } from "../chunk-C3SRZK7H.js";
20
+ import "../chunk-EYAIJPBH.js";
20
21
  import {
21
22
  Logger,
22
23
  logger
23
- } from "../chunk-ZUEQQ6YK.js";
24
- import {
25
- __name
26
- } from "../chunk-SHUYVCID.js";
27
-
28
- // src/client/browser.ts
29
- var BrowserMCPClient = class _BrowserMCPClient extends BaseMCPClient {
30
- static {
31
- __name(this, "BrowserMCPClient");
32
- }
33
- constructor(config) {
34
- super(config);
35
- }
36
- static fromDict(cfg) {
37
- return new _BrowserMCPClient(cfg);
38
- }
39
- /**
40
- * Create a connector from server configuration (Browser version)
41
- * Supports HTTP and WebSocket connectors only
42
- */
43
- createConnectorFromConfig(serverConfig) {
44
- const { url, transport, headers, authToken } = serverConfig;
45
- if (!url) {
46
- throw new Error("Server URL is required");
47
- }
48
- const connectorOptions = {
49
- headers,
50
- authToken
51
- };
52
- if (transport === "websocket" || url.startsWith("ws://") || url.startsWith("wss://")) {
53
- return new WebSocketConnector(url, connectorOptions);
54
- } else if (transport === "http" || url.startsWith("http://") || url.startsWith("https://")) {
55
- return new HttpConnector(url, connectorOptions);
56
- } else {
57
- return new HttpConnector(url, connectorOptions);
58
- }
59
- }
60
- };
24
+ } from "../chunk-VPPILX7B.js";
25
+ import "../chunk-SHUYVCID.js";
61
26
 
62
27
  // src/browser.ts
63
28
  import { AIMessage, BaseMessage, HumanMessage, SystemMessage, ToolMessage } from "@langchain/core/messages";
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/client/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;gBACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAI1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB;IAIlE;;;OAGG;IACH,SAAS,CAAC,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa;CAyBtF"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/client/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;gBACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;WAI1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB;IAIlE;;;OAGG;IACH,SAAS,CAAC,yBAAyB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa;CA0BtF"}
@@ -12,6 +12,10 @@ export interface ConnectorInitOptions {
12
12
  * methods when they issue SDK requests. Can be overridden per‑call.
13
13
  */
14
14
  defaultRequestOptions?: RequestOptions;
15
+ /**
16
+ * OAuth client provider for automatic authentication
17
+ */
18
+ authProvider?: any;
15
19
  }
16
20
  /**
17
21
  * Base class for MCP connectors.
@@ -20,6 +24,7 @@ export declare abstract class BaseConnector {
20
24
  protected client: Client | null;
21
25
  protected connectionManager: ConnectionManager<any> | null;
22
26
  protected toolsCache: Tool[] | null;
27
+ protected capabilitiesCache: any;
23
28
  protected connected: boolean;
24
29
  protected readonly opts: ConnectorInitOptions;
25
30
  constructor(opts?: ConnectorInitOptions);
@@ -212,10 +217,47 @@ export declare abstract class BaseConnector {
212
217
  }>, import("zod").ZodTypeAny, "passthrough">>, "many">;
213
218
  }, import("zod").ZodTypeAny, "passthrough">>;
214
219
  /** Read a resource by URI. */
215
- readResource(uri: string, options?: RequestOptions): Promise<{
216
- content: unknown;
217
- mimeType: unknown;
218
- }>;
220
+ readResource(uri: string, options?: RequestOptions): Promise<import("zod").objectOutputType<{
221
+ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
222
+ } & {
223
+ contents: import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodObject<import("zod").objectUtil.extendShape<{
224
+ uri: import("zod").ZodString;
225
+ mimeType: import("zod").ZodOptional<import("zod").ZodString>;
226
+ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
227
+ }, {
228
+ text: import("zod").ZodString;
229
+ }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
230
+ uri: import("zod").ZodString;
231
+ mimeType: import("zod").ZodOptional<import("zod").ZodString>;
232
+ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
233
+ }, {
234
+ text: import("zod").ZodString;
235
+ }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
236
+ uri: import("zod").ZodString;
237
+ mimeType: import("zod").ZodOptional<import("zod").ZodString>;
238
+ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
239
+ }, {
240
+ text: import("zod").ZodString;
241
+ }>, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<import("zod").objectUtil.extendShape<{
242
+ uri: import("zod").ZodString;
243
+ mimeType: import("zod").ZodOptional<import("zod").ZodString>;
244
+ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
245
+ }, {
246
+ blob: import("zod").ZodEffects<import("zod").ZodString, string, string>;
247
+ }>, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
248
+ uri: import("zod").ZodString;
249
+ mimeType: import("zod").ZodOptional<import("zod").ZodString>;
250
+ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
251
+ }, {
252
+ blob: import("zod").ZodEffects<import("zod").ZodString, string, string>;
253
+ }>, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<import("zod").objectUtil.extendShape<{
254
+ uri: import("zod").ZodString;
255
+ mimeType: import("zod").ZodOptional<import("zod").ZodString>;
256
+ _meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
257
+ }, {
258
+ blob: import("zod").ZodEffects<import("zod").ZodString, string, string>;
259
+ }>, import("zod").ZodTypeAny, "passthrough">>]>, "many">;
260
+ }, import("zod").ZodTypeAny, "passthrough">>;
219
261
  /**
220
262
  * Subscribe to resource updates
221
263
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/connectors/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/connectors/base.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/connectors/http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,aAAa,CAAyC;gBAElD,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;IAe5D,mFAAmF;IAC7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAiFhB,yBAAyB;YAoDzB,cAAc;IA8B5B,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7C;IAED;;OAEG;IACH,gBAAgB,IAAI,iBAAiB,GAAG,KAAK,GAAG,IAAI;CAGrD"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/connectors/http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,aAAa,CAAyC;gBAElD,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB;IAe5D,mFAAmF;IAC7E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAwGhB,yBAAyB;YAqDzB,cAAc;IA8B5B,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7C;IAED;;OAEG;IACH,gBAAgB,IAAI,iBAAiB,GAAG,KAAK,GAAG,IAAI;CAGrD"}
@@ -1,4 +1,4 @@
1
- import type { CallToolResult, Tool } from '@modelcontextprotocol/sdk/types.js';
1
+ import type { CallToolResult, ReadResourceResult, Tool } from '@modelcontextprotocol/sdk/types.js';
2
2
  import { WebSocketConnectionManager } from '../task_managers/websocket.js';
3
3
  import { BaseConnector } from './base.js';
4
4
  export interface WebSocketConnectorOptions {
@@ -23,10 +23,7 @@ export declare class WebSocketConnector extends BaseConnector {
23
23
  listTools(): Promise<Tool[]>;
24
24
  callTool(name: string, args: Record<string, any>): Promise<CallToolResult>;
25
25
  listResources(): Promise<any>;
26
- readResource(uri: string): Promise<{
27
- content: ArrayBuffer;
28
- mimeType: string;
29
- }>;
26
+ readResource(uri: string): Promise<ReadResourceResult>;
30
27
  request(method: string, params?: Record<string, any> | null): Promise<any>;
31
28
  get tools(): Tool[];
32
29
  protected cleanupResources(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/connectors/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EACL,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD,SAAS,CAAC,iBAAiB,EAAE,0BAA0B,GAAG,IAAI,CAAO;IACrE,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,OAAO,CACF;IAEb,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,CAAO;gBAE9B,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,yBAA8B;IAQvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,CAAC,WAAW;YAiBL,WAAW;IAqDzB,OAAO,CAAC,SAAS;IAKX,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAS1C,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAK5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAI1E,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;IAK7B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAK9E,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAItF,IAAI,KAAK,IAAI,IAAI,EAAE,CAIlB;cAEe,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjD,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK7C;CACF"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/connectors/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,IAAI,EACL,MAAM,oCAAoC,CAAA;AAG3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAEhD,SAAS,CAAC,iBAAiB,EAAE,0BAA0B,GAAG,IAAI,CAAO;IACrE,OAAO,CAAC,EAAE,CAAkD;IAC5D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,OAAO,CACF;IAEb,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,CAAO;gBAE9B,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,yBAA8B;IAQvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,CAAC,WAAW;YAiBL,WAAW;IAqDzB,OAAO,CAAC,SAAS;IAKX,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAS1C,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAK5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAI1E,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;IAK7B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKtD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAItF,IAAI,KAAK,IAAI,IAAI,EAAE,CAIlB;cAEe,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBjD,IAAI,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK7C;CACF"}