opencode/patches/@modelcontextprotocol%2Fclient@2.0.0.patch
Aiden Cline 889abb4657
fix(core): fix MCP elicitation forms never appearing (#58184)
Co-authored-by: Dimitris Kourgiantakis <64262257+dimitriskourg@users.noreply.github.com>
Co-authored-by: chrischall <10564245+chrischall@users.noreply.github.com>
2026-10-22 14:42:02 -05:00

84 lines
4.7 KiB
Diff

diff --git a/dist/index.cjs b/dist/index.cjs
index 635f1c0134274c89e7efbcae2adf3d9ecba575ee..3f4dfb779a55deaae2c188a442b78ca519d5c17d 100644
--- a/dist/index.cjs
+++ b/dist/index.cjs
@@ -517,7 +517,7 @@ function applyPublicAuth(clientId, params) {
}
/** Loopback hosts exempt from the in-transit `https:` requirement (RFC 8252 §7.3). */
function isLoopbackHost(hostname) {
- return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "[::1]" || hostname === "::1";
+ return hostname === "localhost" || hostname.endsWith(".localhost") || hostname === "127.0.0.1" || hostname === "[::1]" || hostname === "::1";
}
/**
* SEP-2207: refuse to send credentials to a non-TLS, non-loopback token endpoint.
@@ -977,7 +977,6 @@ async function discoverMetadataWithFallback(serverUrl, wellKnownType, fetchFn, o
else {
const wellKnownPath = buildWellKnownPath(wellKnownType, issuer.pathname);
url = new URL(wellKnownPath, opts?.metadataServerUrl ?? issuer);
- url.search = issuer.search;
}
let response = await tryMetadataDiscovery(url, protocolVersion, fetchFn);
if (!opts?.metadataUrl && shouldAttemptFallback(response, issuer.pathname)) response = await tryMetadataDiscovery(new URL(`/.well-known/${wellKnownType}`, issuer), protocolVersion, fetchFn);
@@ -1158,7 +1157,6 @@ async function startAuthorization(authorizationServerUrl, { metadata, clientInfo
authorizationUrl.searchParams.set("redirect_uri", String(redirectUrl));
if (state) authorizationUrl.searchParams.set("state", state);
if (scope) authorizationUrl.searchParams.set("scope", scope);
- if (scope?.split(" ").includes("offline_access")) authorizationUrl.searchParams.append("prompt", "consent");
if (resource) authorizationUrl.searchParams.set("resource", resource.href);
return {
authorizationUrl,
diff --git a/dist/index.mjs b/dist/index.mjs
index f02ce3ca394e826fc27c9848dbe9a214bf6ba7a9..3508b8e841bb8d3d724fa5ff573902dbca81cf89 100644
--- a/dist/index.mjs
+++ b/dist/index.mjs
@@ -514,7 +514,7 @@ function applyPublicAuth(clientId, params) {
}
/** Loopback hosts exempt from the in-transit `https:` requirement (RFC 8252 §7.3). */
function isLoopbackHost(hostname) {
- return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "[::1]" || hostname === "::1";
+ return hostname === "localhost" || hostname.endsWith(".localhost") || hostname === "127.0.0.1" || hostname === "[::1]" || hostname === "::1";
}
/**
* SEP-2207: refuse to send credentials to a non-TLS, non-loopback token endpoint.
@@ -974,7 +974,6 @@ async function discoverMetadataWithFallback(serverUrl, wellKnownType, fetchFn, o
else {
const wellKnownPath = buildWellKnownPath(wellKnownType, issuer.pathname);
url = new URL(wellKnownPath, opts?.metadataServerUrl ?? issuer);
- url.search = issuer.search;
}
let response = await tryMetadataDiscovery(url, protocolVersion, fetchFn);
if (!opts?.metadataUrl && shouldAttemptFallback(response, issuer.pathname)) response = await tryMetadataDiscovery(new URL(`/.well-known/${wellKnownType}`, issuer), protocolVersion, fetchFn);
@@ -1155,7 +1154,6 @@ async function startAuthorization(authorizationServerUrl, { metadata, clientInfo
authorizationUrl.searchParams.set("redirect_uri", String(redirectUrl));
if (state) authorizationUrl.searchParams.set("state", state);
if (scope) authorizationUrl.searchParams.set("scope", scope);
- if (scope?.split(" ").includes("offline_access")) authorizationUrl.searchParams.append("prompt", "consent");
if (resource) authorizationUrl.searchParams.set("resource", resource.href);
return {
authorizationUrl,
diff --git a/dist/src-NAgB4Mp8.cjs b/dist/src-NAgB4Mp8.cjs
index e8f2499..07f6e5c 100644
--- a/dist/src-NAgB4Mp8.cjs
+++ b/dist/src-NAgB4Mp8.cjs
@@ -5698,7 +5698,7 @@ var Protocol = class {
return this._requestHandlers.get(method);
}
async _oncancel(notification) {
- if (!notification.params.requestId) return;
+ if (notification.params.requestId === void 0) return;
this._requestHandlerAbortControllers.get(notification.params.requestId)?.abort(notification.params.reason);
}
_setupTimeout(messageId, timeout, maxTotalTimeout, onTimeout, resetTimeoutOnProgress = false) {
diff --git a/dist/src-D_zzAWoS.mjs b/dist/src-D_zzAWoS.mjs
index 6ac3d53..82e0aaf 100644
--- a/dist/src-D_zzAWoS.mjs
+++ b/dist/src-D_zzAWoS.mjs
@@ -5697,7 +5697,7 @@ var Protocol = class {
return this._requestHandlers.get(method);
}
async _oncancel(notification) {
- if (!notification.params.requestId) return;
+ if (notification.params.requestId === void 0) return;
this._requestHandlerAbortControllers.get(notification.params.requestId)?.abort(notification.params.reason);
}
_setupTimeout(messageId, timeout, maxTotalTimeout, onTimeout, resetTimeoutOnProgress = false) {