@mcp-use/client 2.1.3 → 2.1.4-canary.1
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/browser.d.ts +4 -1
- package/dist/auth/browser.d.ts.map +1 -1
- package/dist/index-browser.js +32 -5
- package/dist/index-browser.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.js +32 -5
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
package/dist/react/index.js
CHANGED
|
@@ -1900,7 +1900,7 @@ var HttpConnector = class extends BaseConnector {
|
|
|
1900
1900
|
};
|
|
1901
1901
|
|
|
1902
1902
|
// src/utils/version.ts
|
|
1903
|
-
var VERSION = "2.1.
|
|
1903
|
+
var VERSION = "2.1.4-canary.1";
|
|
1904
1904
|
function getPackageVersion() {
|
|
1905
1905
|
return VERSION;
|
|
1906
1906
|
}
|
|
@@ -1971,6 +1971,11 @@ function resolveClientOptions(clientOptions) {
|
|
|
1971
1971
|
};
|
|
1972
1972
|
}
|
|
1973
1973
|
|
|
1974
|
+
// src/auth/browser.ts
|
|
1975
|
+
import {
|
|
1976
|
+
extractWWWAuthenticateParams
|
|
1977
|
+
} from "@modelcontextprotocol/client";
|
|
1978
|
+
|
|
1974
1979
|
// src/auth/storage.ts
|
|
1975
1980
|
var AUTH_CRYPTO_DATABASE = "mcp-use-oauth-crypto";
|
|
1976
1981
|
var AUTH_CRYPTO_STORE = "keys";
|
|
@@ -2510,6 +2515,8 @@ var BrowserOAuthClientProvider = class {
|
|
|
2510
2515
|
proxyOAuthRequests;
|
|
2511
2516
|
lastAttemptedAuthUrl = null;
|
|
2512
2517
|
authorizationPending = false;
|
|
2518
|
+
/** Latest protected-resource metadata URL advertised by an MCP 401. */
|
|
2519
|
+
challengedResourceMetadataUrl;
|
|
2513
2520
|
/** Callback invoked immediately before an authorization popup opens. */
|
|
2514
2521
|
onPopupWindow;
|
|
2515
2522
|
constructor(serverUrl, options = {}) {
|
|
@@ -2617,6 +2624,13 @@ var BrowserOAuthClientProvider = class {
|
|
|
2617
2624
|
return url;
|
|
2618
2625
|
}
|
|
2619
2626
|
}
|
|
2627
|
+
rememberResourceMetadataChallenge(response) {
|
|
2628
|
+
if (response.status !== 401) return false;
|
|
2629
|
+
const { resourceMetadataUrl } = extractWWWAuthenticateParams(response);
|
|
2630
|
+
if (!resourceMetadataUrl) return false;
|
|
2631
|
+
this.challengedResourceMetadataUrl = resourceMetadataUrl.toString();
|
|
2632
|
+
return true;
|
|
2633
|
+
}
|
|
2620
2634
|
/**
|
|
2621
2635
|
* Returns a `fetch` function, scoped to this provider, that routes OAuth
|
|
2622
2636
|
* metadata and non-browser OAuth endpoint requests through the configured
|
|
@@ -2655,10 +2669,12 @@ var BrowserOAuthClientProvider = class {
|
|
|
2655
2669
|
}
|
|
2656
2670
|
const isMetadata = pathname.includes("/.well-known/");
|
|
2657
2671
|
if (!oauthProxyUrl) {
|
|
2658
|
-
|
|
2672
|
+
const response2 = await base(
|
|
2659
2673
|
isMetadata ? url : input,
|
|
2660
2674
|
isMetadata ? { ...init, cache: "no-store" } : init
|
|
2661
2675
|
);
|
|
2676
|
+
if (!isMetadata) this.rememberResourceMetadataChallenge(response2);
|
|
2677
|
+
return response2;
|
|
2662
2678
|
}
|
|
2663
2679
|
if (!restoredDiscovery) {
|
|
2664
2680
|
restoredDiscovery = true;
|
|
@@ -2678,7 +2694,11 @@ var BrowserOAuthClientProvider = class {
|
|
|
2678
2694
|
pathname
|
|
2679
2695
|
);
|
|
2680
2696
|
if (!isMetadata && !isProxiedEndpoint) {
|
|
2681
|
-
|
|
2697
|
+
const response2 = await base(input, init);
|
|
2698
|
+
if (this.rememberResourceMetadataChallenge(response2)) {
|
|
2699
|
+
discoveredEndpoints.clear();
|
|
2700
|
+
}
|
|
2701
|
+
return response2;
|
|
2682
2702
|
}
|
|
2683
2703
|
try {
|
|
2684
2704
|
const urlObj = new URL(url);
|
|
@@ -2815,8 +2835,15 @@ var BrowserOAuthClientProvider = class {
|
|
|
2815
2835
|
return this.session.saveDiscoveryState(state);
|
|
2816
2836
|
}
|
|
2817
2837
|
/** Return previously saved OAuth discovery state, or `undefined`. */
|
|
2818
|
-
discoveryState() {
|
|
2819
|
-
|
|
2838
|
+
async discoveryState() {
|
|
2839
|
+
const state = await this.session.discoveryState();
|
|
2840
|
+
const challengedUrl = this.challengedResourceMetadataUrl;
|
|
2841
|
+
this.challengedResourceMetadataUrl = void 0;
|
|
2842
|
+
if (challengedUrl && state) {
|
|
2843
|
+
await this.session.invalidateCredentials("discovery");
|
|
2844
|
+
return void 0;
|
|
2845
|
+
}
|
|
2846
|
+
return state;
|
|
2820
2847
|
}
|
|
2821
2848
|
/**
|
|
2822
2849
|
* Return the token endpoint from the SDK's persisted discovery state.
|