@mcp-use/client 2.4.6-canary.0 → 2.4.6-canary.2
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/.tsbuildinfo +1 -1
- package/dist/auth/flow.d.ts +13 -0
- package/dist/auth/flow.d.ts.map +1 -1
- package/dist/code-mode/executor-vm.d.ts.map +1 -1
- package/dist/core/base.d.ts.map +1 -1
- package/dist/index-browser.js +19 -8
- package/dist/index-browser.js.map +1 -1
- package/dist/index.js +57 -12
- package/dist/index.js.map +1 -1
- package/dist/react/index.js +22 -17
- package/dist/react/index.js.map +1 -1
- package/dist/react/useMcp.d.ts.map +1 -1
- package/dist/telemetry/telemetry-browser.d.ts +1 -1
- package/dist/telemetry/telemetry.d.ts.map +1 -1
- package/dist/transport/http.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/auth/flow.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { type OAuthClientProvider } from "@modelcontextprotocol/client";
|
|
2
|
+
/**
|
|
3
|
+
* Wrap `baseFetch` with the provider's OAuth routing, when it has any.
|
|
4
|
+
*
|
|
5
|
+
* Browser providers expose `getProxyFetch()`, which sends OAuth metadata,
|
|
6
|
+
* registration, and token requests through `oauthProxyUrl` and passes every
|
|
7
|
+
* other request to `baseFetch` unchanged. Providers without it get `baseFetch`
|
|
8
|
+
* back as-is.
|
|
9
|
+
*
|
|
10
|
+
* @param provider - OAuth provider that may expose `getProxyFetch()`.
|
|
11
|
+
* @param baseFetch - Fetch used for requests the provider does not handle.
|
|
12
|
+
* @returns The provider-scoped fetch, or `baseFetch` when there is no wrapper.
|
|
13
|
+
*/
|
|
14
|
+
export declare function scopeOAuthFetch(provider: OAuthClientProvider | undefined, baseFetch: typeof fetch | undefined): typeof fetch | undefined;
|
|
2
15
|
/** Host callback used to complete the official transport's pending OAuth flow. */
|
|
3
16
|
type FinishOAuthAuthorization = (code: string, iss?: string) => Promise<void>;
|
|
4
17
|
/**
|
package/dist/auth/flow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/auth/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAqBtC,kFAAkF;AAClF,KAAK,wBAAwB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAgB/D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAwB3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CAC3C,GACL,OAAO,CAAC,IAAI,CAAC,CAgDf"}
|
|
1
|
+
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/auth/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,8BAA8B,CAAC;AAqBtC;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,SAAS,EAAE,OAAO,KAAK,GAAG,SAAS,GAClC,OAAO,KAAK,GAAG,SAAS,CAK1B;AAED,kFAAkF;AAClF,KAAK,wBAAwB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAgB/D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAwB3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;CAC3C,GACL,OAAO,CAAC,IAAI,CAAC,CAgDf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor-vm.d.ts","sourceRoot":"","sources":["../../src/code-mode/executor-vm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAsEvE;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC;
|
|
1
|
+
{"version":3,"file":"executor-vm.d.ts","sourceRoot":"","sources":["../../src/code-mode/executor-vm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAsEvE;;;GAGG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AA6ED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAC,CAAS;gBAEnB,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAS1D;;OAEG;YACW,cAAc;IAc5B;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAsEvE;;;;OAIG;YACW,aAAa;IAuF3B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
package/dist/core/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EACV,gBAAgB,EAEhB,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/core/base.ts"],"names":[],"mappings":"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"}
|
package/dist/index-browser.js
CHANGED
|
@@ -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.4.6-canary.
|
|
131
|
+
var VERSION = "2.4.6-canary.2";
|
|
132
132
|
function getPackageVersion() {
|
|
133
133
|
return VERSION;
|
|
134
134
|
}
|
|
@@ -341,8 +341,11 @@ var USER_ID_STORAGE_KEY = "mcp_use_user_id";
|
|
|
341
341
|
var PROJECT_API_KEY = "phc_lyTtbYwvkdSbrcMQNPiKiiRWrrM1seyKIMjycSvItEI";
|
|
342
342
|
var HOST = "https://eu.i.posthog.com";
|
|
343
343
|
var configuredStorage = null;
|
|
344
|
+
function isBrowser() {
|
|
345
|
+
return typeof window !== "undefined" && typeof document !== "undefined";
|
|
346
|
+
}
|
|
344
347
|
function isLocalStorageFunctional() {
|
|
345
|
-
return typeof localStorage !== "undefined" && typeof localStorage.getItem === "function" && typeof localStorage.setItem === "function" && typeof localStorage.removeItem === "function";
|
|
348
|
+
return isBrowser() && typeof localStorage !== "undefined" && typeof localStorage.getItem === "function" && typeof localStorage.setItem === "function" && typeof localStorage.removeItem === "function";
|
|
346
349
|
}
|
|
347
350
|
function createLocalStorageBackend() {
|
|
348
351
|
if (!isLocalStorageFunctional()) return null;
|
|
@@ -382,7 +385,7 @@ function detectRuntimeEnvironment() {
|
|
|
382
385
|
if (typeof globalThis.EdgeRuntime !== "undefined") {
|
|
383
386
|
return "edge";
|
|
384
387
|
}
|
|
385
|
-
if (
|
|
388
|
+
if (isBrowser()) {
|
|
386
389
|
return "browser";
|
|
387
390
|
}
|
|
388
391
|
if (typeof process !== "undefined" && typeof process.versions?.node !== "undefined") {
|
|
@@ -1983,6 +1986,9 @@ import {
|
|
|
1983
1986
|
UnauthorizedError
|
|
1984
1987
|
} from "@modelcontextprotocol/client";
|
|
1985
1988
|
var DEFAULT_AUTH_TIMEOUT_MS = 5 * 6e4;
|
|
1989
|
+
function scopeOAuthFetch(provider, baseFetch) {
|
|
1990
|
+
return provider?.getProxyFetch?.(baseFetch) ?? baseFetch;
|
|
1991
|
+
}
|
|
1986
1992
|
function isUnauthorized(err, depth = 0) {
|
|
1987
1993
|
if (!err || depth > 5) return false;
|
|
1988
1994
|
if (err instanceof UnauthorizedError) return true;
|
|
@@ -3077,13 +3083,16 @@ var HttpConnector = class extends BaseConnector {
|
|
|
3077
3083
|
this.headers.Authorization = `Bearer ${opts.authToken}`;
|
|
3078
3084
|
}
|
|
3079
3085
|
this.timeout = opts.timeout ?? 1e4;
|
|
3080
|
-
const
|
|
3086
|
+
const oauthFetch = scopeOAuthFetch(
|
|
3087
|
+
isOAuthClientProvider(opts.authProvider) ? opts.authProvider : void 0,
|
|
3088
|
+
opts.fetch
|
|
3089
|
+
);
|
|
3081
3090
|
this.customFetch = this.gatewayUrl ? createMcpProxyFetch(
|
|
3082
3091
|
originalUrl,
|
|
3083
3092
|
this.gatewayUrl,
|
|
3084
|
-
|
|
3093
|
+
oauthFetch ?? globalThis.fetch.bind(globalThis),
|
|
3085
3094
|
this.serverId
|
|
3086
|
-
) :
|
|
3095
|
+
) : oauthFetch;
|
|
3087
3096
|
this.clientInfo = opts.clientInfo ?? {
|
|
3088
3097
|
name: "http-connector",
|
|
3089
3098
|
version: "1.0.0"
|
|
@@ -4374,7 +4383,9 @@ var BaseMCPClient = class {
|
|
|
4374
4383
|
logger.info(
|
|
4375
4384
|
`[MCPClient] Unauthorized connecting to '${serverName}'; completing OAuth\u2026`
|
|
4376
4385
|
);
|
|
4377
|
-
await completeOAuthFlow(oauthProvider, httpConfig.url
|
|
4386
|
+
await completeOAuthFlow(oauthProvider, httpConfig.url, {
|
|
4387
|
+
fetchFn: scopeOAuthFetch(oauthProvider, httpConfig.fetch)
|
|
4388
|
+
});
|
|
4378
4389
|
session = await openSession();
|
|
4379
4390
|
}
|
|
4380
4391
|
const previous = this.sessions[serverName];
|
|
@@ -4723,7 +4734,7 @@ var BrowserMCPClient = class _BrowserMCPClient extends BaseMCPClient {
|
|
|
4723
4734
|
);
|
|
4724
4735
|
const connectorOptions = {
|
|
4725
4736
|
headers,
|
|
4726
|
-
fetch: configuredFetch
|
|
4737
|
+
fetch: configuredFetch,
|
|
4727
4738
|
authToken,
|
|
4728
4739
|
authProvider,
|
|
4729
4740
|
detectMixedAuth,
|