@mcp-use/client 2.1.1-canary.2 → 2.1.1-canary.4

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.
@@ -128,7 +128,7 @@ var Logger = class {
128
128
  var logger = Logger.get();
129
129
 
130
130
  // src/utils/version.ts
131
- var VERSION = "2.1.1-canary.2";
131
+ var VERSION = "2.1.1-canary.4";
132
132
  function getPackageVersion() {
133
133
  return VERSION;
134
134
  }
package/dist/index.js CHANGED
@@ -1525,7 +1525,7 @@ init_connector_telemetry();
1525
1525
  init_logging();
1526
1526
 
1527
1527
  // src/utils/version.ts
1528
- var VERSION = "2.1.1-canary.2";
1528
+ var VERSION = "2.1.1-canary.4";
1529
1529
  function getPackageVersion() {
1530
1530
  return VERSION;
1531
1531
  }
@@ -1 +1 @@
1
- {"version":3,"file":"McpClientProvider.d.ts","sourceRoot":"","sources":["../../src/react/McpClientProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpClientProvider.d.ts","sourceRoot":"","sources":["../../src/react/McpClientProvider.tsx"],"names":[],"mappings":"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"}
@@ -1923,7 +1923,7 @@ var HttpConnector = class extends BaseConnector {
1923
1923
  };
1924
1924
 
1925
1925
  // src/utils/version.ts
1926
- var VERSION = "2.1.1-canary.2";
1926
+ var VERSION = "2.1.1-canary.4";
1927
1927
  function getPackageVersion() {
1928
1928
  return VERSION;
1929
1929
  }
@@ -4882,6 +4882,16 @@ function requireConnection(params, operation) {
4882
4882
  }
4883
4883
  return connection;
4884
4884
  }
4885
+ async function executeWithAuthorizationSignal(params, operation) {
4886
+ try {
4887
+ return await operation();
4888
+ } catch (error) {
4889
+ if (isOAuthInteractionRequired(error)) {
4890
+ params.onAuthorizationRequired(error);
4891
+ }
4892
+ throw error;
4893
+ }
4894
+ }
4885
4895
  function useMcpOperations(params) {
4886
4896
  const callTool = useCallback(
4887
4897
  async (name, args, options) => {
@@ -4889,7 +4899,10 @@ function useMcpOperations(params) {
4889
4899
  params.addLog("info", `Calling tool: ${name}`, args);
4890
4900
  const startedAt = Date.now();
4891
4901
  try {
4892
- const result = await connection.callTool(name, args || {}, options);
4902
+ const result = await executeWithAuthorizationSignal(
4903
+ params,
4904
+ () => connection.callTool(name, args || {}, options)
4905
+ );
4893
4906
  params.addLog("info", `Tool "${name}" call successful:`, result);
4894
4907
  Tel.getInstance().trackUseMcpToolCall({
4895
4908
  toolName: name,
@@ -4899,9 +4912,6 @@ function useMcpOperations(params) {
4899
4912
  });
4900
4913
  return result;
4901
4914
  } catch (error) {
4902
- if (isOAuthInteractionRequired(error)) {
4903
- params.onAuthorizationRequired(error);
4904
- }
4905
4915
  params.addLog("error", `Tool "${name}" call failed:`, error);
4906
4916
  Tel.getInstance().trackUseMcpToolCall({
4907
4917
  toolName: name,
@@ -4918,15 +4928,21 @@ function useMcpOperations(params) {
4918
4928
  const listResources = useCallback(async () => {
4919
4929
  const connection = requireConnection(params, "list resources");
4920
4930
  params.addLog("info", "Listing resources");
4921
- const result = await connection.listAllResources();
4931
+ const result = await executeWithAuthorizationSignal(
4932
+ params,
4933
+ () => connection.listAllResources()
4934
+ );
4922
4935
  params.setResources(result.resources || []);
4923
- }, [params.addLog]);
4936
+ }, [params.addLog, params.onAuthorizationRequired]);
4924
4937
  const readResource = useCallback(
4925
4938
  async (uri) => {
4926
4939
  const connection = requireConnection(params, "read resource");
4927
4940
  params.addLog("info", `Reading resource: ${uri}`);
4928
4941
  try {
4929
- const result = await connection.readResource(uri);
4942
+ const result = await executeWithAuthorizationSignal(
4943
+ params,
4944
+ () => connection.readResource(uri)
4945
+ );
4930
4946
  Tel.getInstance().trackUseMcpResourceRead({ resourceUri: uri, success: true }).catch(() => {
4931
4947
  });
4932
4948
  return result;
@@ -4940,83 +4956,112 @@ function useMcpOperations(params) {
4940
4956
  throw error;
4941
4957
  }
4942
4958
  },
4943
- [params.addLog]
4959
+ [params.addLog, params.onAuthorizationRequired]
4944
4960
  );
4945
4961
  const listSkills = useCallback(async () => {
4946
4962
  const connection = requireConnection(params, "list skills");
4947
4963
  params.addLog("info", "Listing skills");
4948
- const result = await connection.listAllSkills();
4964
+ const result = await executeWithAuthorizationSignal(
4965
+ params,
4966
+ () => connection.listAllSkills()
4967
+ );
4949
4968
  params.setSkills(result.skills);
4950
- }, [params.addLog]);
4969
+ }, [params.addLog, params.onAuthorizationRequired]);
4951
4970
  const getSkill = useCallback(
4952
4971
  async (uri) => {
4953
4972
  const connection = requireConnection(params, "get skill");
4954
4973
  params.addLog("info", `Getting skill: ${uri}`);
4955
- return connection.getSkill(uri);
4974
+ return executeWithAuthorizationSignal(
4975
+ params,
4976
+ () => connection.getSkill(uri)
4977
+ );
4956
4978
  },
4957
- [params.addLog]
4979
+ [params.addLog, params.onAuthorizationRequired]
4958
4980
  );
4959
4981
  const readResourceDirectory = useCallback(
4960
4982
  async (uri, cursor) => {
4961
4983
  const connection = requireConnection(params, "read resource directory");
4962
4984
  params.addLog("info", `Reading resource directory: ${uri}`);
4963
- return connection.readResourceDirectory(uri, cursor);
4985
+ return executeWithAuthorizationSignal(
4986
+ params,
4987
+ () => connection.readResourceDirectory(uri, cursor)
4988
+ );
4964
4989
  },
4965
- [params.addLog]
4990
+ [params.addLog, params.onAuthorizationRequired]
4966
4991
  );
4967
4992
  const listPrompts = useCallback(async () => {
4968
4993
  const connection = requireConnection(params, "list prompts");
4969
4994
  params.addLog("info", "Listing prompts");
4970
- const result = await connection.listPrompts();
4995
+ const result = await executeWithAuthorizationSignal(
4996
+ params,
4997
+ () => connection.listPrompts()
4998
+ );
4971
4999
  params.setPrompts(result.prompts || []);
4972
- }, [params.addLog]);
5000
+ }, [params.addLog, params.onAuthorizationRequired]);
4973
5001
  const refreshTools = useCallback(async () => {
4974
5002
  if (params.stateRef.current !== "ready" || !params.connectionRef.current)
4975
5003
  return;
4976
5004
  try {
4977
- params.setTools(await params.connectionRef.current.listTools() || []);
5005
+ params.setTools(
5006
+ await executeWithAuthorizationSignal(
5007
+ params,
5008
+ () => params.connectionRef.current.listTools()
5009
+ ) || []
5010
+ );
4978
5011
  } catch (error) {
4979
5012
  params.addLog("error", "Failed to refresh tools:", error);
4980
5013
  }
4981
- }, [params.addLog]);
5014
+ }, [params.addLog, params.onAuthorizationRequired]);
4982
5015
  const refreshResources = useCallback(async () => {
4983
5016
  if (params.stateRef.current !== "ready" || !params.connectionRef.current)
4984
5017
  return;
4985
5018
  try {
4986
- const result = await params.connectionRef.current.listAllResources();
5019
+ const result = await executeWithAuthorizationSignal(
5020
+ params,
5021
+ () => params.connectionRef.current.listAllResources()
5022
+ );
4987
5023
  params.setResources(result.resources || []);
4988
5024
  } catch (error) {
4989
5025
  params.addLog("warn", "Failed to refresh resources:", error);
4990
5026
  }
4991
- }, [params.addLog]);
5027
+ }, [params.addLog, params.onAuthorizationRequired]);
4992
5028
  const refreshPrompts = useCallback(async () => {
4993
5029
  if (params.stateRef.current !== "ready" || !params.connectionRef.current)
4994
5030
  return;
4995
5031
  try {
4996
- const result = await params.connectionRef.current.listPrompts();
5032
+ const result = await executeWithAuthorizationSignal(
5033
+ params,
5034
+ () => params.connectionRef.current.listPrompts()
5035
+ );
4997
5036
  params.setPrompts(result.prompts || []);
4998
5037
  } catch (error) {
4999
5038
  params.addLog("warn", "Failed to refresh prompts:", error);
5000
5039
  }
5001
- }, [params.addLog]);
5040
+ }, [params.addLog, params.onAuthorizationRequired]);
5002
5041
  const refreshSkills = useCallback(async () => {
5003
5042
  if (params.stateRef.current !== "ready" || !params.connectionRef.current)
5004
5043
  return;
5005
5044
  try {
5006
- const result = await params.connectionRef.current.listAllSkills();
5045
+ const result = await executeWithAuthorizationSignal(
5046
+ params,
5047
+ () => params.connectionRef.current.listAllSkills()
5048
+ );
5007
5049
  params.setSkills(result.skills);
5008
5050
  } catch (error) {
5009
5051
  params.setSkills([]);
5010
5052
  params.addLog("debug", "Skills are unavailable after refresh:", error);
5011
5053
  }
5012
- }, [params.addLog]);
5054
+ }, [params.addLog, params.onAuthorizationRequired]);
5013
5055
  const refreshResourceTemplates = useCallback(async () => {
5014
5056
  const connection = requireConnection(params, "refresh resource templates");
5015
- const result = await connection.listResourceTemplates();
5057
+ const result = await executeWithAuthorizationSignal(
5058
+ params,
5059
+ () => connection.listResourceTemplates()
5060
+ );
5016
5061
  if (params.isMounted()) {
5017
5062
  params.setResourceTemplates(result.resourceTemplates || []);
5018
5063
  }
5019
- }, [params.addLog]);
5064
+ }, [params.addLog, params.onAuthorizationRequired]);
5020
5065
  const refreshAll = useCallback(
5021
5066
  () => Promise.all([
5022
5067
  refreshTools(),
@@ -5029,13 +5074,22 @@ function useMcpOperations(params) {
5029
5074
  const getPrompt = useCallback(
5030
5075
  async (name, args) => {
5031
5076
  const connection = requireConnection(params, "get prompt");
5032
- return connection.getPrompt(name, args || {});
5077
+ return executeWithAuthorizationSignal(
5078
+ params,
5079
+ () => connection.getPrompt(name, args || {})
5080
+ );
5033
5081
  },
5034
- [params.addLog]
5082
+ [params.addLog, params.onAuthorizationRequired]
5035
5083
  );
5036
5084
  const complete = useCallback(
5037
- async (request) => requireConnection(params, "request completion").complete(request),
5038
- [params.addLog]
5085
+ async (request) => {
5086
+ const connection = requireConnection(params, "request completion");
5087
+ return executeWithAuthorizationSignal(
5088
+ params,
5089
+ () => connection.complete(request)
5090
+ );
5091
+ },
5092
+ [params.addLog, params.onAuthorizationRequired]
5039
5093
  );
5040
5094
  return {
5041
5095
  callTool,
@@ -6905,7 +6959,7 @@ function isSameMcpServer(left, right) {
6905
6959
  return left.id === right.id && sameSerializedValue(
6906
6960
  pickLiveServerConfig(left),
6907
6961
  pickLiveServerConfig(right)
6908
- ) && left.name === right.name && left.state === right.state && left.error === right.error && left.authUrl === right.authUrl && sameSerializedValue(left.authTokens, right.authTokens) && sameSerializedValue(left.authorization, right.authorization) && left.protocolEra === right.protocolEra && left.protocolVersion === right.protocolVersion && sameSerializedValue(left.serverInfo, right.serverInfo) && sameSerializedValue(left.capabilities, right.capabilities) && left.instructions === right.instructions && sameSerializedValue(left.extensions, right.extensions) && sameSerializedValue(left.tools, right.tools) && sameSerializedValue(left.resources, right.resources) && sameSerializedValue(left.resourceTemplates, right.resourceTemplates) && sameSerializedValue(left.prompts, right.prompts) && sameSerializedValue(left.notifications, right.notifications) && left.unreadNotificationCount === right.unreadNotificationCount && sameSerializedValue(
6962
+ ) && left.name === right.name && left.state === right.state && left.error === right.error && left.authUrl === right.authUrl && sameSerializedValue(left.authTokens, right.authTokens) && sameSerializedValue(left.authorization, right.authorization) && left.protocolEra === right.protocolEra && left.protocolVersion === right.protocolVersion && sameSerializedValue(left.serverInfo, right.serverInfo) && sameSerializedValue(left.capabilities, right.capabilities) && left.instructions === right.instructions && sameSerializedValue(left.extensions, right.extensions) && sameSerializedValue(left.tools, right.tools) && sameSerializedValue(left.resources, right.resources) && sameSerializedValue(left.resourceTemplates, right.resourceTemplates) && sameSerializedValue(left.prompts, right.prompts) && sameSerializedValue(left.skills, right.skills) && sameSerializedValue(left.notifications, right.notifications) && left.unreadNotificationCount === right.unreadNotificationCount && sameSerializedValue(
6909
6963
  left.pendingSamplingRequests,
6910
6964
  right.pendingSamplingRequests
6911
6965
  ) && sameSerializedValue(
@@ -7080,6 +7134,7 @@ function McpServerWrapper({
7080
7134
  mcp.resources,
7081
7135
  mcp.resourceTemplates,
7082
7136
  mcp.prompts,
7137
+ mcp.skills,
7083
7138
  mcp.serverInfo,
7084
7139
  mcp.capabilities,
7085
7140
  mcp.protocolEra,