@modelcontextprotocol/sdk 1.15.0 → 1.16.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 (124) hide show
  1. package/README.md +64 -16
  2. package/dist/cjs/cli.js +5 -1
  3. package/dist/cjs/cli.js.map +1 -1
  4. package/dist/cjs/client/auth.d.ts +72 -8
  5. package/dist/cjs/client/auth.d.ts.map +1 -1
  6. package/dist/cjs/client/auth.js +273 -87
  7. package/dist/cjs/client/auth.js.map +1 -1
  8. package/dist/cjs/client/sse.d.ts.map +1 -1
  9. package/dist/cjs/client/sse.js +8 -13
  10. package/dist/cjs/client/sse.js.map +1 -1
  11. package/dist/cjs/client/stdio.d.ts.map +1 -1
  12. package/dist/cjs/client/stdio.js +10 -6
  13. package/dist/cjs/client/stdio.js.map +1 -1
  14. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  15. package/dist/cjs/client/streamableHttp.js +18 -18
  16. package/dist/cjs/client/streamableHttp.js.map +1 -1
  17. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  18. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +5 -1
  19. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  20. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +11 -1
  21. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  22. package/dist/cjs/examples/server/simpleSseServer.js +5 -1
  23. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  24. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +11 -1
  25. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  26. package/dist/cjs/examples/server/simpleStreamableHttp.js +13 -3
  27. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  28. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +11 -1
  29. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  30. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +5 -1
  31. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  32. package/dist/cjs/server/auth/clients.d.ts +1 -1
  33. package/dist/cjs/server/auth/clients.d.ts.map +1 -1
  34. package/dist/cjs/server/auth/errors.d.ts +33 -18
  35. package/dist/cjs/server/auth/errors.d.ts.map +1 -1
  36. package/dist/cjs/server/auth/errors.js +55 -51
  37. package/dist/cjs/server/auth/errors.js.map +1 -1
  38. package/dist/cjs/server/auth/handlers/register.d.ts +7 -1
  39. package/dist/cjs/server/auth/handlers/register.d.ts.map +1 -1
  40. package/dist/cjs/server/auth/handlers/register.js +5 -4
  41. package/dist/cjs/server/auth/handlers/register.js.map +1 -1
  42. package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  43. package/dist/cjs/server/auth/middleware/bearerAuth.js +5 -2
  44. package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
  45. package/dist/cjs/server/auth/providers/proxyProvider.d.ts +6 -0
  46. package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  47. package/dist/cjs/server/auth/providers/proxyProvider.js +9 -4
  48. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  49. package/dist/cjs/server/auth/router.js +1 -1
  50. package/dist/cjs/server/auth/router.js.map +1 -1
  51. package/dist/cjs/server/streamableHttp.d.ts +13 -1
  52. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  53. package/dist/cjs/server/streamableHttp.js +4 -1
  54. package/dist/cjs/server/streamableHttp.js.map +1 -1
  55. package/dist/cjs/shared/auth.d.ts +3 -0
  56. package/dist/cjs/shared/auth.d.ts.map +1 -1
  57. package/dist/cjs/shared/auth.js +1 -0
  58. package/dist/cjs/shared/auth.js.map +1 -1
  59. package/dist/cjs/shared/protocol.d.ts +8 -0
  60. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  61. package/dist/cjs/shared/protocol.js +37 -0
  62. package/dist/cjs/shared/protocol.js.map +1 -1
  63. package/dist/esm/cli.js +5 -1
  64. package/dist/esm/cli.js.map +1 -1
  65. package/dist/esm/client/auth.d.ts +72 -8
  66. package/dist/esm/client/auth.d.ts.map +1 -1
  67. package/dist/esm/client/auth.js +267 -82
  68. package/dist/esm/client/auth.js.map +1 -1
  69. package/dist/esm/client/sse.d.ts.map +1 -1
  70. package/dist/esm/client/sse.js +8 -13
  71. package/dist/esm/client/sse.js.map +1 -1
  72. package/dist/esm/client/stdio.d.ts.map +1 -1
  73. package/dist/esm/client/stdio.js +10 -6
  74. package/dist/esm/client/stdio.js.map +1 -1
  75. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  76. package/dist/esm/client/streamableHttp.js +18 -18
  77. package/dist/esm/client/streamableHttp.js.map +1 -1
  78. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  79. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +5 -1
  80. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  81. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +11 -1
  82. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  83. package/dist/esm/examples/server/simpleSseServer.js +5 -1
  84. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  85. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +11 -1
  86. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  87. package/dist/esm/examples/server/simpleStreamableHttp.js +13 -3
  88. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  89. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +11 -1
  90. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  91. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +5 -1
  92. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  93. package/dist/esm/server/auth/clients.d.ts +1 -1
  94. package/dist/esm/server/auth/clients.d.ts.map +1 -1
  95. package/dist/esm/server/auth/errors.d.ts +33 -18
  96. package/dist/esm/server/auth/errors.d.ts.map +1 -1
  97. package/dist/esm/server/auth/errors.js +52 -49
  98. package/dist/esm/server/auth/errors.js.map +1 -1
  99. package/dist/esm/server/auth/handlers/register.d.ts +7 -1
  100. package/dist/esm/server/auth/handlers/register.d.ts.map +1 -1
  101. package/dist/esm/server/auth/handlers/register.js +5 -4
  102. package/dist/esm/server/auth/handlers/register.js.map +1 -1
  103. package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  104. package/dist/esm/server/auth/middleware/bearerAuth.js +5 -2
  105. package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
  106. package/dist/esm/server/auth/providers/proxyProvider.d.ts +6 -0
  107. package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  108. package/dist/esm/server/auth/providers/proxyProvider.js +9 -4
  109. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  110. package/dist/esm/server/auth/router.js +1 -1
  111. package/dist/esm/server/auth/router.js.map +1 -1
  112. package/dist/esm/server/streamableHttp.d.ts +13 -1
  113. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  114. package/dist/esm/server/streamableHttp.js +4 -1
  115. package/dist/esm/server/streamableHttp.js.map +1 -1
  116. package/dist/esm/shared/auth.d.ts +3 -0
  117. package/dist/esm/shared/auth.d.ts.map +1 -1
  118. package/dist/esm/shared/auth.js +1 -0
  119. package/dist/esm/shared/auth.js.map +1 -1
  120. package/dist/esm/shared/protocol.d.ts +8 -0
  121. package/dist/esm/shared/protocol.d.ts.map +1 -1
  122. package/dist/esm/shared/protocol.js +37 -0
  123. package/dist/esm/shared/protocol.js.map +1 -1
  124. package/package.json +3 -2
package/README.md CHANGED
@@ -45,7 +45,7 @@ The Model Context Protocol allows applications to provide context for LLMs in a
45
45
  npm install @modelcontextprotocol/sdk
46
46
  ```
47
47
 
48
- > ⚠️ MCP requires Node v18.x up to work fine.
48
+ > ⚠️ MCP requires Node.js v18.x or higher to work fine.
49
49
 
50
50
  ## Quick Start
51
51
 
@@ -570,20 +570,31 @@ app.listen(3000);
570
570
  ```
571
571
 
572
572
  > [!TIP]
573
- > When using this in a remote environment, make sure to allow the header parameter `mcp-session-id` in CORS. Otherwise, it may result in a `Bad Request: No valid session ID provided` error.
574
- >
575
- > For example, in Node.js you can configure it like this:
576
- >
577
- > ```ts
578
- > app.use(
579
- > cors({
580
- > origin: ['https://your-remote-domain.com, https://your-other-remote-domain.com'],
581
- > exposedHeaders: ['mcp-session-id'],
582
- > allowedHeaders: ['Content-Type', 'mcp-session-id'],
583
- > })
584
- > );
573
+ > When using this in a remote environment, make sure to allow the header parameter `mcp-session-id` in CORS. Otherwise, it may result in a `Bad Request: No valid session ID provided` error. Read the following section for examples.
585
574
  > ```
586
575
 
576
+
577
+ #### CORS Configuration for Browser-Based Clients
578
+
579
+ If you'd like your server to be accessible by browser-based MCP clients, you'll need to configure CORS headers. The `Mcp-Session-Id` header must be exposed for browser clients to access it:
580
+
581
+ ```typescript
582
+ import cors from 'cors';
583
+
584
+ // Add CORS middleware before your MCP routes
585
+ app.use(cors({
586
+ origin: '*', // Configure appropriately for production, for example:
587
+ // origin: ['https://your-remote-domain.com', 'https://your-other-remote-domain.com'],
588
+ exposedHeaders: ['Mcp-Session-Id'],
589
+ allowedHeaders: ['Content-Type', 'mcp-session-id'],
590
+ }));
591
+ ```
592
+
593
+ This configuration is necessary because:
594
+ - The MCP streamable HTTP transport uses the `Mcp-Session-Id` header for session management
595
+ - Browsers restrict access to response headers unless explicitly exposed via CORS
596
+ - Without this configuration, browser-based clients won't be able to read the session ID from initialization responses
597
+
587
598
  #### Without Session Management (Stateless)
588
599
 
589
600
  For simpler use cases where session management isn't needed:
@@ -865,7 +876,7 @@ const putMessageTool = server.tool(
865
876
  "putMessage",
866
877
  { channel: z.string(), message: z.string() },
867
878
  async ({ channel, message }) => ({
868
- content: [{ type: "text", text: await putMessage(channel, string) }]
879
+ content: [{ type: "text", text: await putMessage(channel, message) }]
869
880
  })
870
881
  );
871
882
  // Until we upgrade auth, `putMessage` is disabled (won't show up in listTools)
@@ -873,7 +884,7 @@ putMessageTool.disable()
873
884
 
874
885
  const upgradeAuthTool = server.tool(
875
886
  "upgradeAuth",
876
- { permission: z.enum(["write', admin"])},
887
+ { permission: z.enum(["write", "admin"])},
877
888
  // Any mutations here will automatically emit `listChanged` notifications
878
889
  async ({ permission }) => {
879
890
  const { ok, err, previous } = await upgradeAuthAndStoreToken(permission)
@@ -902,6 +913,43 @@ const transport = new StdioServerTransport();
902
913
  await server.connect(transport);
903
914
  ```
904
915
 
916
+ ### Improving Network Efficiency with Notification Debouncing
917
+
918
+ When performing bulk updates that trigger notifications (e.g., enabling or disabling multiple tools in a loop), the SDK can send a large number of messages in a short period. To improve performance and reduce network traffic, you can enable notification debouncing.
919
+
920
+ This feature coalesces multiple, rapid calls for the same notification type into a single message. For example, if you disable five tools in a row, only one `notifications/tools/list_changed` message will be sent instead of five.
921
+
922
+ > [!IMPORTANT]
923
+ > This feature is designed for "simple" notifications that do not carry unique data in their parameters. To prevent silent data loss, debouncing is **automatically bypassed** for any notification that contains a `params` object or a `relatedRequestId`. Such notifications will always be sent immediately.
924
+
925
+ This is an opt-in feature configured during server initialization.
926
+
927
+ ```typescript
928
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
929
+
930
+ const server = new McpServer(
931
+ {
932
+ name: "efficient-server",
933
+ version: "1.0.0"
934
+ },
935
+ {
936
+ // Enable notification debouncing for specific methods
937
+ debouncedNotificationMethods: [
938
+ 'notifications/tools/list_changed',
939
+ 'notifications/resources/list_changed',
940
+ 'notifications/prompts/list_changed'
941
+ ]
942
+ }
943
+ );
944
+
945
+ // Now, any rapid changes to tools, resources, or prompts will result
946
+ // in a single, consolidated notification for each type.
947
+ server.registerTool("tool1", ...).disable();
948
+ server.registerTool("tool2", ...).disable();
949
+ server.registerTool("tool3", ...).disable();
950
+ // Only one 'notifications/tools/list_changed' is sent.
951
+ ```
952
+
905
953
  ### Low-Level Server
906
954
 
907
955
  For more control, you can use the low-level Server class directly:
@@ -1164,7 +1212,7 @@ This setup allows you to:
1164
1212
 
1165
1213
  ### Backwards Compatibility
1166
1214
 
1167
- Clients and servers with StreamableHttp tranport can maintain [backwards compatibility](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#backwards-compatibility) with the deprecated HTTP+SSE transport (from protocol version 2024-11-05) as follows
1215
+ Clients and servers with StreamableHttp transport can maintain [backwards compatibility](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#backwards-compatibility) with the deprecated HTTP+SSE transport (from protocol version 2024-11-05) as follows
1168
1216
 
1169
1217
  #### Client-Side Compatibility
1170
1218
 
package/dist/cjs/cli.js CHANGED
@@ -83,7 +83,11 @@ async function runServer(port) {
83
83
  }
84
84
  await transport.handlePostMessage(req, res);
85
85
  });
86
- app.listen(port, () => {
86
+ app.listen(port, (error) => {
87
+ if (error) {
88
+ console.error('Failed to start server:', error);
89
+ process.exit(1);
90
+ }
87
91
  console.log(`Server running on http://localhost:${port}/sse`);
88
92
  });
89
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import type { OAuthClientMetadata, OAuthClientInformation, OAuthTokens, OAuthMetadata, OAuthClientInformationFull, OAuthProtectedResourceMetadata } from "../shared/auth.js";
1
+ import { OAuthClientMetadata, OAuthClientInformation, OAuthTokens, OAuthMetadata, OAuthClientInformationFull, OAuthProtectedResourceMetadata } from "../shared/auth.js";
2
+ import { OAuthError } from "../server/auth/errors.js";
3
+ import { FetchLike } from "../shared/transport.js";
2
4
  /**
3
5
  * Implements an end-to-end OAuth client to be used with one MCP server.
4
6
  *
@@ -58,6 +60,25 @@ export interface OAuthClientProvider {
58
60
  * the authorization result.
59
61
  */
60
62
  codeVerifier(): string | Promise<string>;
63
+ /**
64
+ * Adds custom client authentication to OAuth token requests.
65
+ *
66
+ * This optional method allows implementations to customize how client credentials
67
+ * are included in token exchange and refresh requests. When provided, this method
68
+ * is called instead of the default authentication logic, giving full control over
69
+ * the authentication mechanism.
70
+ *
71
+ * Common use cases include:
72
+ * - Supporting authentication methods beyond the standard OAuth 2.0 methods
73
+ * - Adding custom headers for proprietary authentication schemes
74
+ * - Implementing client assertion-based authentication (e.g., JWT bearer tokens)
75
+ *
76
+ * @param headers - The request headers (can be modified to add authentication)
77
+ * @param params - The request body parameters (can be modified to add credentials)
78
+ * @param url - The token endpoint URL being called
79
+ * @param metadata - Optional OAuth metadata for the server, which may include supported authentication methods
80
+ */
81
+ addClientAuthentication?(headers: Headers, params: URLSearchParams, url: string | URL, metadata?: OAuthMetadata): void | Promise<void>;
61
82
  /**
62
83
  * If defined, overrides the selection and validation of the
63
84
  * RFC 8707 Resource Indicator. If left undefined, default
@@ -66,22 +87,41 @@ export interface OAuthClientProvider {
66
87
  * Implementations must verify the returned resource matches the MCP server.
67
88
  */
68
89
  validateResourceURL?(serverUrl: string | URL, resource?: string): Promise<URL | undefined>;
90
+ /**
91
+ * If implemented, provides a way for the client to invalidate (e.g. delete) the specified
92
+ * credentials, in the case where the server has indicated that they are no longer valid.
93
+ * This avoids requiring the user to intervene manually.
94
+ */
95
+ invalidateCredentials?(scope: 'all' | 'client' | 'tokens' | 'verifier'): void | Promise<void>;
69
96
  }
70
97
  export type AuthResult = "AUTHORIZED" | "REDIRECT";
71
98
  export declare class UnauthorizedError extends Error {
72
99
  constructor(message?: string);
73
100
  }
101
+ /**
102
+ * Parses an OAuth error response from a string or Response object.
103
+ *
104
+ * If the input is a standard OAuth2.0 error response, it will be parsed according to the spec
105
+ * and an instance of the appropriate OAuthError subclass will be returned.
106
+ * If parsing fails, it falls back to a generic ServerError that includes
107
+ * the response status (if available) and original content.
108
+ *
109
+ * @param input - A Response object or string containing the error response
110
+ * @returns A Promise that resolves to an OAuthError instance
111
+ */
112
+ export declare function parseErrorResponse(input: Response | string): Promise<OAuthError>;
74
113
  /**
75
114
  * Orchestrates the full auth flow with a server.
76
115
  *
77
116
  * This can be used as a single entry point for all authorization functionality,
78
117
  * instead of linking together the other lower-level functions in this module.
79
118
  */
80
- export declare function auth(provider: OAuthClientProvider, { serverUrl, authorizationCode, scope, resourceMetadataUrl }: {
119
+ export declare function auth(provider: OAuthClientProvider, options: {
81
120
  serverUrl: string | URL;
82
121
  authorizationCode?: string;
83
122
  scope?: string;
84
123
  resourceMetadataUrl?: URL;
124
+ fetchFn?: FetchLike;
85
125
  }): Promise<AuthResult>;
86
126
  export declare function selectResourceURL(serverUrl: string | URL, provider: OAuthClientProvider, resourceMetadata?: OAuthProtectedResourceMetadata): Promise<URL | undefined>;
87
127
  /**
@@ -97,16 +137,17 @@ export declare function extractResourceMetadataUrl(res: Response): URL | undefin
97
137
  export declare function discoverOAuthProtectedResourceMetadata(serverUrl: string | URL, opts?: {
98
138
  protocolVersion?: string;
99
139
  resourceMetadataUrl?: string | URL;
100
- }): Promise<OAuthProtectedResourceMetadata>;
140
+ }, fetchFn?: FetchLike): Promise<OAuthProtectedResourceMetadata>;
101
141
  /**
102
142
  * Looks up RFC 8414 OAuth 2.0 Authorization Server Metadata.
103
143
  *
104
144
  * If the server returns a 404 for the well-known endpoint, this function will
105
145
  * return `undefined`. Any other errors will be thrown as exceptions.
106
146
  */
107
- export declare function discoverOAuthMetadata(authorizationServerUrl: string | URL, opts?: {
147
+ export declare function discoverOAuthMetadata(issuer: string | URL, { authorizationServerUrl, protocolVersion, }?: {
148
+ authorizationServerUrl?: string | URL;
108
149
  protocolVersion?: string;
109
- }): Promise<OAuthMetadata | undefined>;
150
+ }, fetchFn?: FetchLike): Promise<OAuthMetadata | undefined>;
110
151
  /**
111
152
  * Begins the authorization flow with the given server, by generating a PKCE challenge and constructing the authorization URL.
112
153
  */
@@ -123,29 +164,52 @@ export declare function startAuthorization(authorizationServerUrl: string | URL,
123
164
  }>;
124
165
  /**
125
166
  * Exchanges an authorization code for an access token with the given server.
167
+ *
168
+ * Supports multiple client authentication methods as specified in OAuth 2.1:
169
+ * - Automatically selects the best authentication method based on server support
170
+ * - Falls back to appropriate defaults when server metadata is unavailable
171
+ *
172
+ * @param authorizationServerUrl - The authorization server's base URL
173
+ * @param options - Configuration object containing client info, auth code, etc.
174
+ * @returns Promise resolving to OAuth tokens
175
+ * @throws {Error} When token exchange fails or authentication is invalid
126
176
  */
127
- export declare function exchangeAuthorization(authorizationServerUrl: string | URL, { metadata, clientInformation, authorizationCode, codeVerifier, redirectUri, resource, }: {
177
+ export declare function exchangeAuthorization(authorizationServerUrl: string | URL, { metadata, clientInformation, authorizationCode, codeVerifier, redirectUri, resource, addClientAuthentication, fetchFn, }: {
128
178
  metadata?: OAuthMetadata;
129
179
  clientInformation: OAuthClientInformation;
130
180
  authorizationCode: string;
131
181
  codeVerifier: string;
132
182
  redirectUri: string | URL;
133
183
  resource?: URL;
184
+ addClientAuthentication?: OAuthClientProvider["addClientAuthentication"];
185
+ fetchFn?: FetchLike;
134
186
  }): Promise<OAuthTokens>;
135
187
  /**
136
188
  * Exchange a refresh token for an updated access token.
189
+ *
190
+ * Supports multiple client authentication methods as specified in OAuth 2.1:
191
+ * - Automatically selects the best authentication method based on server support
192
+ * - Preserves the original refresh token if a new one is not returned
193
+ *
194
+ * @param authorizationServerUrl - The authorization server's base URL
195
+ * @param options - Configuration object containing client info, refresh token, etc.
196
+ * @returns Promise resolving to OAuth tokens (preserves original refresh_token if not replaced)
197
+ * @throws {Error} When token refresh fails or authentication is invalid
137
198
  */
138
- export declare function refreshAuthorization(authorizationServerUrl: string | URL, { metadata, clientInformation, refreshToken, resource, }: {
199
+ export declare function refreshAuthorization(authorizationServerUrl: string | URL, { metadata, clientInformation, refreshToken, resource, addClientAuthentication, fetchFn, }: {
139
200
  metadata?: OAuthMetadata;
140
201
  clientInformation: OAuthClientInformation;
141
202
  refreshToken: string;
142
203
  resource?: URL;
204
+ addClientAuthentication?: OAuthClientProvider["addClientAuthentication"];
205
+ fetchFn?: FetchLike;
143
206
  }): Promise<OAuthTokens>;
144
207
  /**
145
208
  * Performs OAuth 2.0 Dynamic Client Registration according to RFC 7591.
146
209
  */
147
- export declare function registerClient(authorizationServerUrl: string | URL, { metadata, clientMetadata, }: {
210
+ export declare function registerClient(authorizationServerUrl: string | URL, { metadata, clientMetadata, fetchFn, }: {
148
211
  metadata?: OAuthMetadata;
149
212
  clientMetadata: OAuthClientMetadata;
213
+ fetchFn?: FetchLike;
150
214
  }): Promise<OAuthClientInformationFull>;
151
215
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,0BAA0B,EAC1B,8BAA8B,EAE/B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAIL,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,GAAG,CAAC;IAEhC;;OAEG;IACH,IAAI,cAAc,IAAI,mBAAmB,CAAC;IAE1C;;OAEG;IACH,KAAK,CAAC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnC;;;;OAIG;IACH,iBAAiB,IAAI,sBAAsB,GAAG,SAAS,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IAEtG;;;;;;;OAOG;IACH,qBAAqB,CAAC,CAAC,iBAAiB,EAAE,0BAA0B,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5F;;;OAGG;IACH,MAAM,IAAI,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAErE;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;OAEG;IACH,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;;OAGG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC;;;;;;;;;;;;;;;;;OAiBG;IACH,uBAAuB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvI;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC;IAE3F;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,CAAC,EAAE,MAAM;CAG7B;AA8GD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CActF;AAED;;;;;GAKG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,OAAO,CAAC,EAAE,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC,UAAU,CAAC,CAgBtB;AAqHD,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,CAmB3K;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,QAAQ,GAAG,GAAG,GAAG,SAAS,CAuBzE;AAED;;;;;GAKG;AACH,wBAAsB,sCAAsC,CAC1D,SAAS,EAAE,MAAM,GAAG,GAAG,EACvB,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACvE,OAAO,GAAE,SAAiB,GACzB,OAAO,CAAC,8BAA8B,CAAC,CAqBzC;AA4FD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,GAAG,GAAG,EACpB,EACE,sBAAsB,EACtB,eAAe,GAChB,GAAE;IACD,sBAAsB,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;CACrB,EACN,OAAO,GAAE,SAAiB,GACzB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAiCpC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,sBAAsB,EAAE,MAAM,GAAG,GAAG,EACpC,EACE,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,GACA,OAAO,CAAC;IAAE,gBAAgB,EAAE,GAAG,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CA4D1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CACzC,sBAAsB,EAAE,MAAM,GAAG,GAAG,EACpC,EACE,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,uBAAuB,EACvB,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GACA,OAAO,CAAC,WAAW,CAAC,CAoDtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,sBAAsB,EAAE,MAAM,GAAG,GAAG,EACpC,EACE,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,uBAAuB,EACvB,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iBAAiB,EAAE,sBAAsB,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IACzE,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GACA,OAAO,CAAC,WAAW,CAAC,CAoDtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,sBAAsB,EAAE,MAAM,GAAG,GAAG,EACpC,EACE,QAAQ,EACR,cAAc,EACd,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,cAAc,EAAE,mBAAmB,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GACA,OAAO,CAAC,0BAA0B,CAAC,CA0BrC"}