@plurnk/plurnk-mcp 3.2.0 → 3.3.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.
Files changed (51) hide show
  1. package/README.md +30 -15
  2. package/SPEC.md +190 -93
  3. package/dist/McpExecutor.d.ts +10 -1
  4. package/dist/McpExecutor.d.ts.map +1 -1
  5. package/dist/McpExecutor.js +34 -8
  6. package/dist/McpExecutor.js.map +1 -1
  7. package/dist/McpResources.d.ts +2 -1
  8. package/dist/McpResources.d.ts.map +1 -1
  9. package/dist/McpResources.js +7 -3
  10. package/dist/McpResources.js.map +1 -1
  11. package/dist/Module.d.ts.map +1 -1
  12. package/dist/Module.js +196 -71
  13. package/dist/Module.js.map +1 -1
  14. package/dist/PluginConfiguration.d.ts +8 -10
  15. package/dist/PluginConfiguration.d.ts.map +1 -1
  16. package/dist/PluginConfiguration.js +4 -4
  17. package/dist/PluginConfiguration.js.map +1 -1
  18. package/dist/capabilityMatrix.d.ts.map +1 -1
  19. package/dist/capabilityMatrix.js +1 -0
  20. package/dist/capabilityMatrix.js.map +1 -1
  21. package/dist/client.d.ts +7 -0
  22. package/dist/client.d.ts.map +1 -1
  23. package/dist/client.js +174 -83
  24. package/dist/client.js.map +1 -1
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +2 -2
  27. package/dist/config.js.map +1 -1
  28. package/dist/definition.js.map +1 -1
  29. package/dist/extensionChannel.d.ts.map +1 -1
  30. package/dist/extensionChannel.js +2 -3
  31. package/dist/extensionChannel.js.map +1 -1
  32. package/dist/inputRequired.d.ts.map +1 -1
  33. package/dist/inputRequired.js +11 -4
  34. package/dist/inputRequired.js.map +1 -1
  35. package/dist/oauth.d.ts +28 -4
  36. package/dist/oauth.d.ts.map +1 -1
  37. package/dist/oauth.js +83 -36
  38. package/dist/oauth.js.map +1 -1
  39. package/dist/protocolHeaders.d.ts.map +1 -1
  40. package/dist/protocolHeaders.js +3 -2
  41. package/dist/protocolHeaders.js.map +1 -1
  42. package/dist/registry.d.ts.map +1 -1
  43. package/dist/registry.js +8 -3
  44. package/dist/registry.js.map +1 -1
  45. package/dist/subscriptions.js.map +1 -1
  46. package/dist/tasks.d.ts +2 -2
  47. package/dist/tasks.d.ts.map +1 -1
  48. package/dist/tasks.js +23 -26
  49. package/dist/tasks.js.map +1 -1
  50. package/docs/mcp.md +9 -5
  51. package/package.json +6 -5
package/dist/client.js CHANGED
@@ -1,14 +1,15 @@
1
1
  import { isAbsolute } from "node:path";
2
- import { OAuthClientFlowError, OAuthError, UnauthorizedError, SdkHttpError, ProtocolError, METHOD_NOT_FOUND, Client, ClientCredentialsProvider, StreamableHTTPClientTransport, } from "@modelcontextprotocol/client";
2
+ import { OAuthClientFlowError, OAuthError, UnauthorizedError, SdkHttpError, ProtocolError, METHOD_NOT_FOUND, Client, ClientCredentialsProvider, StreamableHTTPClientTransport, auth, createFetchWithInit, } from "@modelcontextprotocol/client";
3
3
  import { StdioClientTransport, getDefaultEnvironment, } from "@modelcontextprotocol/client/stdio";
4
- import { Validator, } from "@plurnk/plurnk-contracts";
4
+ import { CallToolRequestParamsSchema, GetPromptRequestParamsSchema, ReadResourceRequestParamsSchema } from "@modelcontextprotocol/core";
5
+ import { isRecord, Validator, } from "@plurnk/plurnk-contracts";
5
6
  import packageJson from "../package.json" with { type: "json" };
6
7
  import { ErrorDetail } from "@plurnk/plurnk-execs";
7
8
  import PreparationDiagnostics, {} from "./PreparationDiagnostics.js";
8
9
  import { connectTimeoutMs, expandReferences, requestTimeoutMs, retryPacing, } from "./config.js";
9
10
  import { readDefinition } from "./definition.js";
10
11
  import { INPUT_REQUIRED_MAX_ROUNDS, runInputRequiredRequest, } from "./inputRequired.js";
11
- import InteractiveOAuthProvider from "./oauth.js";
12
+ import InteractiveOAuthProvider, { OAuthGrant } from "./oauth.js";
12
13
  import ExtensionChannel from "./extensionChannel.js";
13
14
  import { assertHeaderDeclarations, mcpRoutingHeaderValue } from "./protocolHeaders.js";
14
15
  import { MCP_OAUTH_CLIENT_CREDENTIALS_EXTENSION_ID, MCP_PROTOCOL_VERSION, } from "./protocol.js";
@@ -16,11 +17,30 @@ import { staticClientCapabilities } from "./capabilityMatrix.js";
16
17
  import Subscriptions from "./subscriptions.js";
17
18
  import PluginConfiguration, {} from "./PluginConfiguration.js";
18
19
  import { callToolWithTasks, serverSupportsTasks, } from "./tasks.js";
20
+ // A request leg's params are proved by the protocol's schema and forwarded whole: the continuation state an
21
+ // input-required round appends rides beside the fields the schema names ({§mcp-host-composition}).
22
+ const CALL_TOOL_PARAMS = CallToolRequestParamsSchema.loose();
23
+ const READ_RESOURCE_PARAMS = ReadResourceRequestParamsSchema.loose();
24
+ const GET_PROMPT_PARAMS = GetPromptRequestParamsSchema.loose();
19
25
  // {§mcp-authority} — capability source: the modern discover result when the
20
26
  // server offered it, else the legacy initialize result the SDK already folded.
21
27
  const serverCapabilities = (client) => client.getDiscoverResult()?.capabilities
22
28
  ?? client.getServerCapabilities();
23
29
  const message = (error) => error instanceof Error ? error.message : String(error);
30
+ // The first error of a type anywhere in a cause chain or aggregate.
31
+ export const causeOf = (error, type, seen = new Set()) => {
32
+ if (error === null || typeof error !== "object" || seen.has(error))
33
+ return undefined;
34
+ seen.add(error);
35
+ if (error instanceof type)
36
+ return error;
37
+ for (const inner of error instanceof AggregateError ? error.errors : []) {
38
+ const found = causeOf(inner, type, seen);
39
+ if (found !== undefined)
40
+ return found;
41
+ }
42
+ return causeOf(error.cause, type, seen);
43
+ };
24
44
  const errorsOf = (error) => error instanceof AggregateError ? [...error.errors] : [error];
25
45
  // {§oauth-client-credentials} — a rejected client-credentials grant is an
26
46
  // authorization fact, never a generic unavailability.
@@ -38,7 +58,7 @@ export const isClientCredentialsRejection = (error) => errorsOf(error).some((can
38
58
  });
39
59
  // {§mcp-transports} Protocol headers are transport-owned; application authentication is not.
40
60
  const clientOwnedHeader = (name) => ["accept", "content-type", "last-event-id"].includes(name.toLowerCase()) || name.toLowerCase().startsWith("mcp-");
41
- const resolveDefinition = (source, environ, defaultCwd, plugin, oauthRedirectUrl) => {
61
+ const resolveDefinition = (source, environ, { cwd: defaultCwd, plugin, oauthRedirectUrl, oauthGrant }) => {
42
62
  const definition = readDefinition(source);
43
63
  const field = `MCP server '${definition.name}'`;
44
64
  if (definition.type === "stdio") {
@@ -60,8 +80,14 @@ const resolveDefinition = (source, environ, defaultCwd, plugin, oauthRedirectUrl
60
80
  const headers = configured.length === 0 ? undefined : Object.fromEntries(configured.map(([name, value]) => [name, plugin === undefined ? expandReferences(value, environ, `${field}.headers.${name}`) : value]));
61
81
  const url = definition.url;
62
82
  const authorization = definition.authorization;
63
- const redirectUrl = (authorization?.type === "oauth" ? authorization.redirectUrl : undefined) ?? oauthRedirectUrl;
64
- if ((authorization === undefined || authorization.type === "oauth") && redirectUrl === undefined) {
83
+ const configuredRedirect = authorization?.type === "oauth" ? authorization.redirectUrl : undefined;
84
+ const redirectUrl = configuredRedirect ?? oauthRedirectUrl;
85
+ // {§oauth-grant} A client's callback begins a new grant; any other connection carries the alias's accepted one, or
86
+ // begins one at the redirect the definition configures.
87
+ const grant = oauthRedirectUrl === undefined && oauthGrant !== undefined
88
+ ? oauthGrant
89
+ : redirectUrl === undefined ? undefined : new OAuthGrant(redirectUrl);
90
+ if ((authorization === undefined || authorization.type === "oauth") && grant === undefined) {
65
91
  return {
66
92
  type: "streamable-http",
67
93
  url,
@@ -70,10 +96,10 @@ const resolveDefinition = (source, environ, defaultCwd, plugin, oauthRedirectUrl
70
96
  };
71
97
  }
72
98
  if (authorization?.type === "bearer") {
73
- const field = `MCP server '${definition.name}'.authorization.token`;
74
- const token = expandReferences(authorization.token, environ, field);
99
+ const tokenField = `MCP server '${definition.name}'.authorization.token`;
100
+ const token = expandReferences(authorization.token, environ, tokenField);
75
101
  if (token.length === 0)
76
- throw new Error(`${field} resolved empty.`);
102
+ throw new Error(`${tokenField} resolved empty.`);
77
103
  return {
78
104
  type: "streamable-http",
79
105
  url,
@@ -91,6 +117,7 @@ const resolveDefinition = (source, environ, defaultCwd, plugin, oauthRedirectUrl
91
117
  url,
92
118
  ...(headers === undefined ? {} : { headers }),
93
119
  clientCredentials: true,
120
+ // oxlint-disable-next-line typescript/no-deprecated -- {§oauth-client-credentials} keeps `issuer` optional; without one the SDK's unbound overload, which it deprecates, is the declared behaviour
94
121
  authProvider: new ClientCredentialsProvider({
95
122
  clientId: authorization.clientId,
96
123
  clientSecret: secret,
@@ -103,11 +130,14 @@ const resolveDefinition = (source, environ, defaultCwd, plugin, oauthRedirectUrl
103
130
  cachePartition: `client:${authorization.clientId}`,
104
131
  };
105
132
  }
106
- // {§oauth-lifetime} — registration data, tokens, PKCE verifier, and
107
- // callback state remain process-memory in this provider.
133
+ // {§oauth-lifetime} — the registration and tokens are the grant's, which outlives this connection; the PKCE
134
+ // verifier and callback state are this provider's. All of it is process memory.
108
135
  const oauthProvider = new InteractiveOAuthProvider({
109
- redirectUrl: redirectUrl,
136
+ grant: grant,
137
+ redirectConfigured: configuredRedirect !== undefined,
110
138
  ...(authorization?.scope === undefined ? {} : { scope: authorization.scope }),
139
+ ...(authorization?.issuer === undefined ? {} : { issuer: authorization.issuer }),
140
+ ...(authorization?.authorizationParams === undefined ? {} : { authorizationParams: authorization.authorizationParams }),
111
141
  ...(authorization !== undefined && "clientMetadataUrl" in authorization ? { clientMetadataUrl: authorization.clientMetadataUrl } : {}),
112
142
  ...(authorization !== undefined && "clientId" in authorization
113
143
  ? { clientId: authorization.clientId, clientSecret: expandReferences(authorization.clientSecret, environ, `${field}.clientSecret`) }
@@ -131,49 +161,52 @@ const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]);
131
161
  // The SDK re-wraps a transport failure without keeping it as a cause, so each HTTP transport's refused
132
162
  // redirect is kept beside it for the connection failure to carry.
133
163
  const refusedRedirects = new WeakMap();
164
+ // The fetch each HTTP transport authorizes through, as the SDK composes it, for a sign-in this host starts itself.
165
+ const authorizationFetches = new WeakMap();
134
166
  const openTransport = (definition, environment = getDefaultEnvironment()) => {
135
167
  if (definition.type === "streamable-http") {
168
+ const requestInit = definition.headers === undefined ? undefined : { headers: definition.headers };
169
+ const transportFetch = async (url, init) => {
170
+ const body = typeof init?.body === "string"
171
+ ? (() => {
172
+ try {
173
+ return JSON.parse(init.body);
174
+ }
175
+ catch {
176
+ return undefined;
177
+ }
178
+ })()
179
+ : undefined;
180
+ const request = body !== null && typeof body === "object" && !Array.isArray(body)
181
+ ? body
182
+ : undefined;
183
+ let sent = init;
184
+ if (["tasks/get", "tasks/update", "tasks/cancel"].includes(String(request?.method))
185
+ && typeof request?.params?.taskId === "string") {
186
+ const headers = new Headers(init?.headers);
187
+ headers.set("Mcp-Name", mcpRoutingHeaderValue(request.params.taskId));
188
+ sent = { ...init, headers };
189
+ }
190
+ // {§mcp-redirect-refused} — configured headers never reach another origin: no
191
+ // redirect is followed, and a redirected endpoint fails naming where it pointed.
192
+ const response = await fetch(url, { ...sent, redirect: "manual" });
193
+ if (REDIRECT_STATUSES.has(response.status)) {
194
+ const location = response.headers.get("location");
195
+ await response.body?.cancel();
196
+ const refused = new McpRedirectError(String(url), location === null ? null : new URL(location, String(url)).href);
197
+ refusedRedirects.set(transport, refused);
198
+ throw refused;
199
+ }
200
+ return response;
201
+ };
136
202
  const transport = new StreamableHTTPClientTransport(new URL(definition.url), {
137
- ...(definition.headers === undefined
138
- ? {}
139
- : { requestInit: { headers: definition.headers } }),
203
+ ...(requestInit === undefined ? {} : { requestInit }),
140
204
  ...(definition.authProvider === undefined
141
205
  ? {}
142
206
  : { authProvider: definition.authProvider }),
143
- fetch: async (url, init) => {
144
- const body = typeof init?.body === "string"
145
- ? (() => {
146
- try {
147
- return JSON.parse(init.body);
148
- }
149
- catch {
150
- return undefined;
151
- }
152
- })()
153
- : undefined;
154
- const request = body !== null && typeof body === "object" && !Array.isArray(body)
155
- ? body
156
- : undefined;
157
- let sent = init;
158
- if (["tasks/get", "tasks/update", "tasks/cancel"].includes(String(request?.method))
159
- && typeof request?.params?.taskId === "string") {
160
- const headers = new Headers(init?.headers);
161
- headers.set("Mcp-Name", mcpRoutingHeaderValue(request.params.taskId));
162
- sent = { ...init, headers };
163
- }
164
- // {§mcp-redirect-refused} — configured headers never reach another origin: no
165
- // redirect is followed, and a redirected endpoint fails naming where it pointed.
166
- const response = await fetch(url, { ...sent, redirect: "manual" });
167
- if (REDIRECT_STATUSES.has(response.status)) {
168
- const location = response.headers.get("location");
169
- await response.body?.cancel();
170
- const refused = new McpRedirectError(String(url), location === null ? null : new URL(location, String(url)).href);
171
- refusedRedirects.set(transport, refused);
172
- throw refused;
173
- }
174
- return response;
175
- },
207
+ fetch: transportFetch,
176
208
  });
209
+ authorizationFetches.set(transport, createFetchWithInit(transportFetch, requestInit));
177
210
  return transport;
178
211
  }
179
212
  // {§mcp-stdio-process-ownership} — stdio servers spawn through the
@@ -198,6 +231,7 @@ const openTransport = (definition, environment = getDefaultEnvironment()) => {
198
231
  ...Object.fromEntries(Object.keys(getDefaultEnvironment()).map((name) => [name, undefined])),
199
232
  ...environment,
200
233
  ...definition.env,
234
+ // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- the SDK types the env narrower than spawn's contract; an undefined value omits a key
201
235
  },
202
236
  });
203
237
  };
@@ -229,37 +263,39 @@ class CatalogClient extends Client {
229
263
  #returned = new Map();
230
264
  #unsupported = new Set();
231
265
  get unsupportedLists() {
232
- return [...this.#unsupported].sort();
266
+ return [...this.#unsupported].toSorted();
233
267
  }
234
268
  async request(...args) {
235
269
  const sent = args[0];
236
- const collection = typeof sent.method === "string" ? LIST_COLLECTIONS.get(sent.method) : undefined;
270
+ const method = isRecord(sent) && typeof sent.method === "string" ? sent.method : undefined;
271
+ const cursor = isRecord(sent) && isRecord(sent.params) ? sent.params.cursor : undefined;
272
+ const collection = method === undefined ? undefined : LIST_COLLECTIONS.get(method);
237
273
  let result;
238
274
  try {
275
+ // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- the SDK's overloaded request is forwarded verbatim with the caller's arguments
239
276
  result = await super.request(...args);
240
277
  }
241
278
  catch (error) {
242
279
  // {§mcp-catalog-list-absence} — never turn a later-page error into a partial success.
243
- if (collection === undefined || typeof sent.method !== "string"
244
- || sent.params?.cursor !== undefined
280
+ if (collection === undefined || method === undefined
281
+ || cursor !== undefined
245
282
  || !ProtocolError.isInstance(error) || error.code !== METHOD_NOT_FOUND)
246
283
  throw error;
247
- this.#unsupported.add(sent.method);
284
+ this.#unsupported.add(method);
248
285
  return { resultType: "complete", [collection]: [], ttlMs: 0, cacheScope: "private" };
249
286
  }
250
- if (collection === undefined || typeof sent.method !== "string")
287
+ if (collection === undefined || method === undefined)
251
288
  return result;
252
- this.#unsupported.delete(sent.method);
253
- const cursor = sent.params?.cursor;
289
+ this.#unsupported.delete(method);
254
290
  if (cursor === undefined)
255
- this.#returned.set(sent.method, new Set());
256
- const returned = this.#returned.get(sent.method) ?? new Set();
257
- this.#returned.set(sent.method, returned);
258
- const next = result?.nextCursor;
291
+ this.#returned.set(method, new Set());
292
+ const returned = this.#returned.get(method) ?? new Set();
293
+ this.#returned.set(method, returned);
294
+ const next = isRecord(result) ? result.nextCursor : undefined;
259
295
  if (typeof next !== "string")
260
296
  return result;
261
297
  if (next === cursor || returned.has(next))
262
- throw new CatalogNonConvergenceError(sent.method, next);
298
+ throw new CatalogNonConvergenceError(method, next);
263
299
  returned.add(next);
264
300
  return result;
265
301
  }
@@ -275,6 +311,8 @@ export class McpRedirectError extends Error {
275
311
  this.location = location;
276
312
  }
277
313
  }
314
+ // {§mcp-request-unauthorized} The sentence each surface refuses a request awaiting a sign-in with.
315
+ export const awaitsSignIn = (server) => `MCP server '${server}' awaits the operator's sign-in; the request was not completed.`;
278
316
  export class AuthorizationRequiredError extends Error {
279
317
  authorizationUrl;
280
318
  constructor(authorizationUrl, cause) {
@@ -339,8 +377,8 @@ const openClient = async (definition, environ, options, transport) => {
339
377
  catch (failure) {
340
378
  const refused = transport instanceof StreamableHTTPClientTransport ? refusedRedirects.get(transport) : undefined;
341
379
  const cause = refused ?? failure;
342
- const authorizationUrl = definition.type === "streamable-http"
343
- ? definition.oauthProvider?.takeAuthorizationUrl()
380
+ const authorization = definition.type === "streamable-http"
381
+ ? definition.oauthProvider?.takeAuthorization()
344
382
  : undefined;
345
383
  let closeFailure;
346
384
  try {
@@ -349,8 +387,8 @@ const openClient = async (definition, environ, options, transport) => {
349
387
  catch (error) {
350
388
  closeFailure = error;
351
389
  }
352
- if (authorizationUrl !== undefined) {
353
- throw new AuthorizationRequiredError(authorizationUrl.href, closeFailure === undefined ? cause : new AggregateError([cause, closeFailure]));
390
+ if (authorization !== undefined) {
391
+ throw new AuthorizationRequiredError(authorization.url?.href, closeFailure === undefined ? cause : new AggregateError([cause, closeFailure]));
354
392
  }
355
393
  if (closeFailure === undefined && definition.type === "streamable-http"
356
394
  && definition.authProvider === undefined
@@ -412,7 +450,7 @@ export default class ServerConnection {
412
450
  #closed = false;
413
451
  constructor(definition, environ = process.env, options = {}) {
414
452
  this.#definition = structuredClone(Validator.assertMcpServerDefinition(definition));
415
- this.#resolved = resolveDefinition(this.#definition, environ, options.cwd, options.plugin, options.oauthRedirectUrl);
453
+ this.#resolved = resolveDefinition(this.#definition, environ, options);
416
454
  this.#environ = environ;
417
455
  this.#options = options;
418
456
  const symbolic = JSON.stringify(definition);
@@ -431,6 +469,10 @@ export default class ServerConnection {
431
469
  get authorizationUrl() {
432
470
  return this.#pendingAuthorization?.authorizationUrl ?? null;
433
471
  }
472
+ // {§oauth-grant} The grant this connection presents, or begins.
473
+ get oauthGrant() {
474
+ return this.#resolved.type === "streamable-http" ? this.#resolved.oauthProvider?.grant : undefined;
475
+ }
434
476
  preparationDiagnostic(cause) {
435
477
  return this.#diagnostics.describe(cause);
436
478
  }
@@ -483,6 +525,34 @@ export default class ServerConnection {
483
525
  async connect() {
484
526
  return (await this.#open()).client;
485
527
  }
528
+ // {§oauth-begin-unchallenged} A server whose catalog answers anonymously challenges no connection, so the SDK never
529
+ // starts its authorization; a sign-in the client begins starts it here, as the transport would on a challenge.
530
+ async beginAuthorization() {
531
+ const resolved = this.#resolved;
532
+ if (resolved.type !== "streamable-http" || resolved.oauthProvider === undefined) {
533
+ throw new Error(`MCP server '${this.#definition.name}' has no interactive OAuth sign-in.`);
534
+ }
535
+ const opened = await this.#open();
536
+ if (!(opened.transport instanceof StreamableHTTPClientTransport)) {
537
+ throw new Error(`MCP server '${this.#definition.name}' is not connected over Streamable HTTP.`);
538
+ }
539
+ const result = await auth(resolved.oauthProvider, {
540
+ serverUrl: new URL(resolved.url),
541
+ fetchFn: authorizationFetches.get(opened.transport),
542
+ });
543
+ if (result === "AUTHORIZED")
544
+ return undefined;
545
+ const authorizationUrl = resolved.oauthProvider.takeAuthorization()?.url;
546
+ if (authorizationUrl === undefined)
547
+ throw new Error("OAuth authorization redirected without an authorization URL.");
548
+ this.#pendingAuthorization = {
549
+ transport: opened.transport,
550
+ provider: resolved.oauthProvider,
551
+ authorizationUrl: authorizationUrl.href,
552
+ standaloneTransport: false,
553
+ };
554
+ return authorizationUrl.href;
555
+ }
486
556
  async finishAuthorization(callbackUrl) {
487
557
  const pending = this.#pendingAuthorization;
488
558
  if (pending === undefined) {
@@ -511,9 +581,14 @@ export default class ServerConnection {
511
581
  return await run(opened, signal);
512
582
  }
513
583
  catch (cause) {
514
- const authorization = this.#takeAuthorization(opened, cause);
515
- if (authorization !== null)
584
+ // A nested request already took its authorization and said so.
585
+ if (cause instanceof AuthorizationRequiredError)
586
+ throw cause;
587
+ const authorization = this.#takeAuthorization(opened, cause) ?? this.#refusedUnsigned(cause);
588
+ if (authorization !== null) {
589
+ this.#options.onAuthorizationRequired?.();
516
590
  throw authorization;
591
+ }
517
592
  throw cause;
518
593
  }
519
594
  }
@@ -522,15 +597,31 @@ export default class ServerConnection {
522
597
  settled.resolve();
523
598
  }
524
599
  }
600
+ // {§mcp-request-unauthorized} A request the server refused with HTTP 401, on a definition that configures no credential
601
+ // of its own, awaits a sign-in exactly as a challenge at connection does.
602
+ #refusedUnsigned(cause) {
603
+ if (this.#resolved.type !== "streamable-http")
604
+ return null;
605
+ const configured = (this.#resolved.authProvider !== undefined && this.#resolved.oauthProvider === undefined)
606
+ || Object.keys(this.#resolved.headers ?? {}).some((name) => name.toLowerCase() === "authorization");
607
+ if (configured)
608
+ return null;
609
+ const refused = causeOf(cause, SdkHttpError)?.status === 401 || causeOf(cause, UnauthorizedError) !== undefined;
610
+ return refused ? new AuthorizationRequiredError(undefined, cause) : null;
611
+ }
525
612
  #takeAuthorization(opened, cause) {
526
613
  if (this.#resolved.type !== "streamable-http"
527
614
  || this.#resolved.oauthProvider === undefined
528
615
  || !(opened.transport instanceof StreamableHTTPClientTransport)) {
529
616
  return null;
530
617
  }
531
- const authorizationUrl = this.#resolved.oauthProvider.takeAuthorizationUrl();
532
- if (authorizationUrl === undefined)
618
+ const authorization = this.#resolved.oauthProvider.takeAuthorization();
619
+ if (authorization === undefined)
533
620
  return null;
621
+ // {§oauth-grant} The grant no longer answers, and no client waits at its redirect.
622
+ const authorizationUrl = authorization.url;
623
+ if (authorizationUrl === undefined)
624
+ return new AuthorizationRequiredError(undefined, cause);
534
625
  this.#pendingAuthorization = {
535
626
  transport: opened.transport,
536
627
  provider: this.#resolved.oauthProvider,
@@ -617,11 +708,11 @@ export default class ServerConnection {
617
708
  }, signal);
618
709
  }
619
710
  async callTool(name, args, signal, onProgress, interact, toolDefinition) {
620
- return this.#request(async ({ client, subscriptions, extensions }, signal) => {
711
+ return this.#request(async ({ client, subscriptions, extensions }, requestSignal) => {
621
712
  const timeout = requestTimeoutMs(this.#environ);
622
713
  // {§mcp-header-declarations} — the definition is scanned before either leg; an invalid declaration
623
714
  // refuses the call here and nothing reaches the transport.
624
- const listed = async () => (await this.tools(signal))
715
+ const listed = async () => (await this.tools(requestSignal))
625
716
  .find((candidate) => candidate.name === name);
626
717
  if (serverSupportsTasks(serverCapabilities(client))) {
627
718
  const tool = toolDefinition ?? await listed();
@@ -634,7 +725,7 @@ export default class ServerConnection {
634
725
  name,
635
726
  args,
636
727
  tool,
637
- signal,
728
+ signal: requestSignal,
638
729
  onProgress,
639
730
  interact,
640
731
  timeout,
@@ -645,7 +736,7 @@ export default class ServerConnection {
645
736
  // The direct leg never waits on a failed listing ({§mcp-catalog-deadline}): a definition at hand is
646
737
  // scanned, and a call with none to scan proceeds as it always has, with no routing headers.
647
738
  const tool = toolDefinition ?? await listed().catch(() => {
648
- signal.throwIfAborted();
739
+ requestSignal.throwIfAborted();
649
740
  return undefined;
650
741
  });
651
742
  if (tool !== undefined)
@@ -658,37 +749,37 @@ export default class ServerConnection {
658
749
  interact,
659
750
  onProgress,
660
751
  timeout,
661
- requestLeg: (params, options) => client.callTool(params, { ...options, ...(tool === undefined ? {} : { toolDefinition: tool }) }),
752
+ requestLeg: (params, options) => client.callTool(CALL_TOOL_PARAMS.parse(params), { ...options, ...(tool === undefined ? {} : { toolDefinition: tool }) }),
662
753
  });
663
754
  }, signal);
664
755
  }
665
756
  async readResource(uri, signal, interact) {
666
- return this.#request(async ({ client, subscriptions }, signal) => {
667
- await subscriptions.selectResource(uri, signal);
757
+ return this.#request(async ({ client, subscriptions }, requestSignal) => {
758
+ await subscriptions.selectResource(uri, requestSignal);
668
759
  return runInputRequiredRequest({
669
760
  server: this.#definition.name,
670
761
  operation: "resources/read",
671
762
  originalParams: { uri },
672
- signal,
763
+ signal: requestSignal,
673
764
  interact,
674
765
  timeout: requestTimeoutMs(this.#environ),
675
- requestLeg: (params, options, retry) => client.readResource(params, retry ? { ...options, cacheMode: "refresh" } : options),
766
+ requestLeg: (params, options, retry) => client.readResource(READ_RESOURCE_PARAMS.parse(params), retry ? { ...options, cacheMode: "refresh" } : options),
676
767
  });
677
768
  }, signal);
678
769
  }
679
770
  async getPrompt(name, args, signal, interact) {
680
- return this.#request(async ({ client }, signal) => runInputRequiredRequest({
771
+ return this.#request(async ({ client }, requestSignal) => runInputRequiredRequest({
681
772
  server: this.#definition.name,
682
773
  operation: "prompts/get",
683
774
  originalParams: { name, ...(args === undefined ? {} : { arguments: args }) },
684
- signal,
775
+ signal: requestSignal,
685
776
  interact,
686
777
  timeout: requestTimeoutMs(this.#environ),
687
- requestLeg: (params, options) => client.getPrompt(params, options),
778
+ requestLeg: (params, options) => client.getPrompt(GET_PROMPT_PARAMS.parse(params), options),
688
779
  }), signal);
689
780
  }
690
781
  async complete(params, signal) {
691
- return this.#request(async ({ client }, signal) => client.complete(params, this.#requestOptions(signal)), signal);
782
+ return this.#request(async ({ client }, requestSignal) => client.complete(params, this.#requestOptions(requestSignal)), signal);
692
783
  }
693
784
  #requestOptions(signal, onProgress) {
694
785
  const timeout = requestTimeoutMs(this.#environ);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAOjE,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAW,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,MAKtF,CAAC;AAmCP,eAAO,MAAM,cAAc,UAAW,MAAM,YAAW,MAAM,CAAC,UAAU,KAAiB,UAEvF,CAAC;AAEH,eAAO,MAAM,kBAAkB,aAAa,MAAM,CAAC,UAAU,KAAiB,KAAK,CAAC,8BAA8B,GAAG;IAAE,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAYvJ,CAAC;AAMF,eAAO,MAAM,qBAAqB,gBACjB,SAAS,MAAM,EAAE,YACrB,MAAM,CAAC,UAAU,YAChB,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG;IAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KAC3F,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG;IAAE,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAmErF,CAAC;AAGF,eAAO,MAAM,mBAAmB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EASpF,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,OAAiC,CAAC;AAE9E,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAClB,CAAC;AAE3D,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,aAAa,MAAM,CAAC,UAAU,KAAiB,WAStE,CAAC;AAEF,eAAO,MAAM,YAAY,2BAA4B,WAAW,WAAW,MAAM,KAAG,MACnC,CAAC;AAGlD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,gBAe3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAClB,CAAC;AAE3D,eAAO,MAAM,qBAAqB,aAAa,MAAM,CAAC,UAAU,KAAiB,IAOhF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAC5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAOjE,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,gBAAgB,UAAW,MAAM,WAAW,MAAM,CAAC,UAAU,SAAS,MAAM,KAAG,MAKtF,CAAC;AAmCP,eAAO,MAAM,cAAc,UAAW,MAAM,YAAW,MAAM,CAAC,UAAU,KAAiB,UAEvF,CAAC;AAEH,eAAO,MAAM,kBAAkB,aAAa,MAAM,CAAC,UAAU,KAAiB,KAAK,CAAC,8BAA8B,GAAG;IAAE,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAYvJ,CAAC;AAGF,eAAO,MAAM,qBAAqB,gBACjB,SAAS,MAAM,EAAE,YACrB,MAAM,CAAC,UAAU,YAChB,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG;IAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KAC3F,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG;IAAE,UAAU,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAmErF,CAAC;AAGF,eAAO,MAAM,mBAAmB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAAM,EASpF,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,OAAiC,CAAC;AAE9E,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAClB,CAAC;AAE3D,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,aAAa,MAAM,CAAC,UAAU,KAAiB,WAStE,CAAC;AAEF,eAAO,MAAM,YAAY,2BAA4B,WAAW,WAAW,MAAM,KAAG,MACnC,CAAC;AAGlD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,gBAe3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAa,MAAM,CAAC,UAAU,KAAiB,MAClB,CAAC;AAE3D,eAAO,MAAM,qBAAqB,aAAa,MAAM,CAAC,UAAU,KAAiB,IAOhF,CAAC"}