@modelcontextprotocol/sdk 1.15.1 → 1.17.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 (80) hide show
  1. package/README.md +43 -7
  2. package/dist/cjs/client/auth.d.ts +69 -12
  3. package/dist/cjs/client/auth.d.ts.map +1 -1
  4. package/dist/cjs/client/auth.js +216 -39
  5. package/dist/cjs/client/auth.js.map +1 -1
  6. package/dist/cjs/client/index.d.ts +63 -63
  7. package/dist/cjs/client/sse.js +3 -3
  8. package/dist/cjs/client/sse.js.map +1 -1
  9. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  10. package/dist/cjs/client/streamableHttp.js +18 -18
  11. package/dist/cjs/client/streamableHttp.js.map +1 -1
  12. package/dist/cjs/server/auth/clients.d.ts +1 -1
  13. package/dist/cjs/server/auth/clients.d.ts.map +1 -1
  14. package/dist/cjs/server/auth/errors.d.ts +33 -18
  15. package/dist/cjs/server/auth/errors.d.ts.map +1 -1
  16. package/dist/cjs/server/auth/errors.js +55 -51
  17. package/dist/cjs/server/auth/errors.js.map +1 -1
  18. package/dist/cjs/server/auth/handlers/register.d.ts +7 -1
  19. package/dist/cjs/server/auth/handlers/register.d.ts.map +1 -1
  20. package/dist/cjs/server/auth/handlers/register.js +5 -4
  21. package/dist/cjs/server/auth/handlers/register.js.map +1 -1
  22. package/dist/cjs/server/auth/providers/proxyProvider.d.ts +6 -0
  23. package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  24. package/dist/cjs/server/auth/providers/proxyProvider.js +9 -4
  25. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  26. package/dist/cjs/server/auth/router.js +1 -1
  27. package/dist/cjs/server/auth/router.js.map +1 -1
  28. package/dist/cjs/server/index.d.ts +6 -6
  29. package/dist/cjs/shared/auth.d.ts +290 -0
  30. package/dist/cjs/shared/auth.d.ts.map +1 -1
  31. package/dist/cjs/shared/auth.js +59 -1
  32. package/dist/cjs/shared/auth.js.map +1 -1
  33. package/dist/cjs/shared/protocol.d.ts +8 -0
  34. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  35. package/dist/cjs/shared/protocol.js +37 -0
  36. package/dist/cjs/shared/protocol.js.map +1 -1
  37. package/dist/cjs/types.d.ts +687 -687
  38. package/dist/cjs/types.d.ts.map +1 -1
  39. package/dist/cjs/types.js +19 -3
  40. package/dist/cjs/types.js.map +1 -1
  41. package/dist/esm/client/auth.d.ts +69 -12
  42. package/dist/esm/client/auth.d.ts.map +1 -1
  43. package/dist/esm/client/auth.js +208 -34
  44. package/dist/esm/client/auth.js.map +1 -1
  45. package/dist/esm/client/index.d.ts +63 -63
  46. package/dist/esm/client/sse.js +3 -3
  47. package/dist/esm/client/sse.js.map +1 -1
  48. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  49. package/dist/esm/client/streamableHttp.js +18 -18
  50. package/dist/esm/client/streamableHttp.js.map +1 -1
  51. package/dist/esm/server/auth/clients.d.ts +1 -1
  52. package/dist/esm/server/auth/clients.d.ts.map +1 -1
  53. package/dist/esm/server/auth/errors.d.ts +33 -18
  54. package/dist/esm/server/auth/errors.d.ts.map +1 -1
  55. package/dist/esm/server/auth/errors.js +52 -49
  56. package/dist/esm/server/auth/errors.js.map +1 -1
  57. package/dist/esm/server/auth/handlers/register.d.ts +7 -1
  58. package/dist/esm/server/auth/handlers/register.d.ts.map +1 -1
  59. package/dist/esm/server/auth/handlers/register.js +5 -4
  60. package/dist/esm/server/auth/handlers/register.js.map +1 -1
  61. package/dist/esm/server/auth/providers/proxyProvider.d.ts +6 -0
  62. package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  63. package/dist/esm/server/auth/providers/proxyProvider.js +9 -4
  64. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  65. package/dist/esm/server/auth/router.js +1 -1
  66. package/dist/esm/server/auth/router.js.map +1 -1
  67. package/dist/esm/server/index.d.ts +6 -6
  68. package/dist/esm/shared/auth.d.ts +290 -0
  69. package/dist/esm/shared/auth.d.ts.map +1 -1
  70. package/dist/esm/shared/auth.js +58 -0
  71. package/dist/esm/shared/auth.js.map +1 -1
  72. package/dist/esm/shared/protocol.d.ts +8 -0
  73. package/dist/esm/shared/protocol.d.ts.map +1 -1
  74. package/dist/esm/shared/protocol.js +37 -0
  75. package/dist/esm/shared/protocol.js.map +1 -1
  76. package/dist/esm/types.d.ts +687 -687
  77. package/dist/esm/types.d.ts.map +1 -1
  78. package/dist/esm/types.js +19 -3
  79. package/dist/esm/types.js.map +1 -1
  80. package/package.json +3 -2
@@ -37,7 +37,7 @@ export class StreamableHTTPClientTransport {
37
37
  }
38
38
  let result;
39
39
  try {
40
- result = await auth(this._authProvider, { serverUrl: this._url, resourceMetadataUrl: this._resourceMetadataUrl });
40
+ result = await auth(this._authProvider, { serverUrl: this._url, resourceMetadataUrl: this._resourceMetadataUrl, fetchFn: this._fetch });
41
41
  }
42
42
  catch (error) {
43
43
  (_a = this.onerror) === null || _a === void 0 ? void 0 : _a.call(this, error);
@@ -98,7 +98,7 @@ export class StreamableHTTPClientTransport {
98
98
  }
99
99
  throw new StreamableHTTPError(response.status, `Failed to open SSE stream: ${response.statusText}`);
100
100
  }
101
- this._handleSseStream(response.body, options);
101
+ this._handleSseStream(response.body, options, true);
102
102
  }
103
103
  catch (error) {
104
104
  (_c = this.onerror) === null || _c === void 0 ? void 0 : _c.call(this, error);
@@ -158,7 +158,7 @@ export class StreamableHTTPClientTransport {
158
158
  });
159
159
  }, delay);
160
160
  }
161
- _handleSseStream(stream, options) {
161
+ _handleSseStream(stream, options, isReconnectable) {
162
162
  if (!stream) {
163
163
  return;
164
164
  }
@@ -202,19 +202,19 @@ export class StreamableHTTPClientTransport {
202
202
  // Handle stream errors - likely a network disconnect
203
203
  (_c = this.onerror) === null || _c === void 0 ? void 0 : _c.call(this, new Error(`SSE stream disconnected: ${error}`));
204
204
  // Attempt to reconnect if the stream disconnects unexpectedly and we aren't closing
205
- if (this._abortController && !this._abortController.signal.aborted) {
205
+ if (isReconnectable &&
206
+ this._abortController &&
207
+ !this._abortController.signal.aborted) {
206
208
  // Use the exponential backoff reconnection strategy
207
- if (lastEventId !== undefined) {
208
- try {
209
- this._scheduleReconnection({
210
- resumptionToken: lastEventId,
211
- onresumptiontoken,
212
- replayMessageId
213
- }, 0);
214
- }
215
- catch (error) {
216
- (_d = this.onerror) === null || _d === void 0 ? void 0 : _d.call(this, new Error(`Failed to reconnect: ${error instanceof Error ? error.message : String(error)}`));
217
- }
209
+ try {
210
+ this._scheduleReconnection({
211
+ resumptionToken: lastEventId,
212
+ onresumptiontoken,
213
+ replayMessageId
214
+ }, 0);
215
+ }
216
+ catch (error) {
217
+ (_d = this.onerror) === null || _d === void 0 ? void 0 : _d.call(this, new Error(`Failed to reconnect: ${error instanceof Error ? error.message : String(error)}`));
218
218
  }
219
219
  }
220
220
  }
@@ -234,7 +234,7 @@ export class StreamableHTTPClientTransport {
234
234
  if (!this._authProvider) {
235
235
  throw new UnauthorizedError("No auth provider");
236
236
  }
237
- const result = await auth(this._authProvider, { serverUrl: this._url, authorizationCode, resourceMetadataUrl: this._resourceMetadataUrl });
237
+ const result = await auth(this._authProvider, { serverUrl: this._url, authorizationCode, resourceMetadataUrl: this._resourceMetadataUrl, fetchFn: this._fetch });
238
238
  if (result !== "AUTHORIZED") {
239
239
  throw new UnauthorizedError("Failed to authorize");
240
240
  }
@@ -273,7 +273,7 @@ export class StreamableHTTPClientTransport {
273
273
  if (!response.ok) {
274
274
  if (response.status === 401 && this._authProvider) {
275
275
  this._resourceMetadataUrl = extractResourceMetadataUrl(response);
276
- const result = await auth(this._authProvider, { serverUrl: this._url, resourceMetadataUrl: this._resourceMetadataUrl });
276
+ const result = await auth(this._authProvider, { serverUrl: this._url, resourceMetadataUrl: this._resourceMetadataUrl, fetchFn: this._fetch });
277
277
  if (result !== "AUTHORIZED") {
278
278
  throw new UnauthorizedError();
279
279
  }
@@ -303,7 +303,7 @@ export class StreamableHTTPClientTransport {
303
303
  // Handle SSE stream responses for requests
304
304
  // We use the same handler as standalone streams, which now supports
305
305
  // reconnection with the last event ID
306
- this._handleSseStream(response.body, { onresumptiontoken });
306
+ this._handleSseStream(response.body, { onresumptiontoken }, false);
307
307
  }
308
308
  else if (contentType === null || contentType === void 0 ? void 0 : contentType.includes("application/json")) {
309
309
  // For non-streaming servers, we might get direct JSON responses
@@ -1 +1 @@
1
- {"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/client/streamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamableHttp.js","sourceRoot":"","sources":["../../../src/client/streamableHttp.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,6 @@ export interface OAuthRegisteredClientsStore {
14
14
  *
15
15
  * If unimplemented, dynamic client registration is unsupported.
16
16
  */
17
- registerClient?(client: OAuthClientInformationFull): OAuthClientInformationFull | Promise<OAuthClientInformationFull>;
17
+ registerClient?(client: Omit<OAuthClientInformationFull, "client_id" | "client_id_issued_at">): OAuthClientInformationFull | Promise<OAuthClientInformationFull>;
18
18
  }
19
19
  //# sourceMappingURL=clients.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/server/auth/clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAEtH;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,0BAA0B,GAAG,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACvH"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/server/auth/clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,SAAS,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAEtH;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,0BAA0B,EAAE,WAAW,GAAG,qBAAqB,CAAC,GAAG,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAClK"}
@@ -3,13 +3,14 @@ import { OAuthErrorResponse } from "../../shared/auth.js";
3
3
  * Base class for all OAuth errors
4
4
  */
5
5
  export declare class OAuthError extends Error {
6
- readonly errorCode: string;
7
6
  readonly errorUri?: string | undefined;
8
- constructor(errorCode: string, message: string, errorUri?: string | undefined);
7
+ static errorCode: string;
8
+ constructor(message: string, errorUri?: string | undefined);
9
9
  /**
10
10
  * Converts the error to a standard OAuth error response object
11
11
  */
12
12
  toResponseObject(): OAuthErrorResponse;
13
+ get errorCode(): string;
13
14
  }
14
15
  /**
15
16
  * Invalid request error - The request is missing a required parameter,
@@ -17,14 +18,14 @@ export declare class OAuthError extends Error {
17
18
  * or is otherwise malformed.
18
19
  */
19
20
  export declare class InvalidRequestError extends OAuthError {
20
- constructor(message: string, errorUri?: string);
21
+ static errorCode: string;
21
22
  }
22
23
  /**
23
24
  * Invalid client error - Client authentication failed (e.g., unknown client, no client
24
25
  * authentication included, or unsupported authentication method).
25
26
  */
26
27
  export declare class InvalidClientError extends OAuthError {
27
- constructor(message: string, errorUri?: string);
28
+ static errorCode: string;
28
29
  }
29
30
  /**
30
31
  * Invalid grant error - The provided authorization grant or refresh token is
@@ -32,95 +33,109 @@ export declare class InvalidClientError extends OAuthError {
32
33
  * authorization request, or was issued to another client.
33
34
  */
34
35
  export declare class InvalidGrantError extends OAuthError {
35
- constructor(message: string, errorUri?: string);
36
+ static errorCode: string;
36
37
  }
37
38
  /**
38
39
  * Unauthorized client error - The authenticated client is not authorized to use
39
40
  * this authorization grant type.
40
41
  */
41
42
  export declare class UnauthorizedClientError extends OAuthError {
42
- constructor(message: string, errorUri?: string);
43
+ static errorCode: string;
43
44
  }
44
45
  /**
45
46
  * Unsupported grant type error - The authorization grant type is not supported
46
47
  * by the authorization server.
47
48
  */
48
49
  export declare class UnsupportedGrantTypeError extends OAuthError {
49
- constructor(message: string, errorUri?: string);
50
+ static errorCode: string;
50
51
  }
51
52
  /**
52
53
  * Invalid scope error - The requested scope is invalid, unknown, malformed, or
53
54
  * exceeds the scope granted by the resource owner.
54
55
  */
55
56
  export declare class InvalidScopeError extends OAuthError {
56
- constructor(message: string, errorUri?: string);
57
+ static errorCode: string;
57
58
  }
58
59
  /**
59
60
  * Access denied error - The resource owner or authorization server denied the request.
60
61
  */
61
62
  export declare class AccessDeniedError extends OAuthError {
62
- constructor(message: string, errorUri?: string);
63
+ static errorCode: string;
63
64
  }
64
65
  /**
65
66
  * Server error - The authorization server encountered an unexpected condition
66
67
  * that prevented it from fulfilling the request.
67
68
  */
68
69
  export declare class ServerError extends OAuthError {
69
- constructor(message: string, errorUri?: string);
70
+ static errorCode: string;
70
71
  }
71
72
  /**
72
73
  * Temporarily unavailable error - The authorization server is currently unable to
73
74
  * handle the request due to a temporary overloading or maintenance of the server.
74
75
  */
75
76
  export declare class TemporarilyUnavailableError extends OAuthError {
76
- constructor(message: string, errorUri?: string);
77
+ static errorCode: string;
77
78
  }
78
79
  /**
79
80
  * Unsupported response type error - The authorization server does not support
80
81
  * obtaining an authorization code using this method.
81
82
  */
82
83
  export declare class UnsupportedResponseTypeError extends OAuthError {
83
- constructor(message: string, errorUri?: string);
84
+ static errorCode: string;
84
85
  }
85
86
  /**
86
87
  * Unsupported token type error - The authorization server does not support
87
88
  * the requested token type.
88
89
  */
89
90
  export declare class UnsupportedTokenTypeError extends OAuthError {
90
- constructor(message: string, errorUri?: string);
91
+ static errorCode: string;
91
92
  }
92
93
  /**
93
94
  * Invalid token error - The access token provided is expired, revoked, malformed,
94
95
  * or invalid for other reasons.
95
96
  */
96
97
  export declare class InvalidTokenError extends OAuthError {
97
- constructor(message: string, errorUri?: string);
98
+ static errorCode: string;
98
99
  }
99
100
  /**
100
101
  * Method not allowed error - The HTTP method used is not allowed for this endpoint.
101
102
  * (Custom, non-standard error)
102
103
  */
103
104
  export declare class MethodNotAllowedError extends OAuthError {
104
- constructor(message: string, errorUri?: string);
105
+ static errorCode: string;
105
106
  }
106
107
  /**
107
108
  * Too many requests error - Rate limit exceeded.
108
109
  * (Custom, non-standard error based on RFC 6585)
109
110
  */
110
111
  export declare class TooManyRequestsError extends OAuthError {
111
- constructor(message: string, errorUri?: string);
112
+ static errorCode: string;
112
113
  }
113
114
  /**
114
115
  * Invalid client metadata error - The client metadata is invalid.
115
116
  * (Custom error for dynamic client registration - RFC 7591)
116
117
  */
117
118
  export declare class InvalidClientMetadataError extends OAuthError {
118
- constructor(message: string, errorUri?: string);
119
+ static errorCode: string;
119
120
  }
120
121
  /**
121
122
  * Insufficient scope error - The request requires higher privileges than provided by the access token.
122
123
  */
123
124
  export declare class InsufficientScopeError extends OAuthError {
124
- constructor(message: string, errorUri?: string);
125
+ static errorCode: string;
125
126
  }
127
+ /**
128
+ * A utility class for defining one-off error codes
129
+ */
130
+ export declare class CustomOAuthError extends OAuthError {
131
+ private readonly customErrorCode;
132
+ constructor(customErrorCode: string, message: string, errorUri?: string);
133
+ get errorCode(): string;
134
+ }
135
+ /**
136
+ * A full list of all OAuthErrors, enabling parsing from error responses
137
+ */
138
+ export declare const OAUTH_ERRORS: {
139
+ readonly [x: string]: typeof InvalidRequestError;
140
+ };
126
141
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/server/auth/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;aAEjB,SAAS,EAAE,MAAM;aAEjB,QAAQ,CAAC,EAAE,MAAM;gBAFjB,SAAS,EAAE,MAAM,EACjC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,YAAA;IAMnC;;OAEG;IACH,gBAAgB,IAAI,kBAAkB;CAYvC;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;gBACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;gBACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;gBAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,UAAU;gBAC7B,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,UAAU;gBAC7C,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,UAAU;gBAC9C,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;gBAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;gBACnC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;gBACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;gBAC5C,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;gBACxC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAG/C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/server/auth/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;aAKjB,QAAQ,CAAC,EAAE,MAAM;IAJnC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGvB,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,YAAA;IAMnC;;OAEG;IACH,gBAAgB,IAAI,kBAAkB;IAatC,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,SAAS,SAAqB;CACtC;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,MAAM,CAAC,SAAS,SAAoB;CACrC;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,SAAS,SAAmB;CACpC;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,MAAM,CAAC,SAAS,SAAyB;CAC1C;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,MAAM,CAAC,SAAS,SAA4B;CAC7C;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,SAAS,SAAmB;CACpC;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,SAAS,SAAmB;CACpC;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,SAAS,SAAkB;CACnC;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,UAAU;IACzD,MAAM,CAAC,SAAS,SAA6B;CAC9C;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,UAAU;IAC1D,MAAM,CAAC,SAAS,SAA+B;CAChD;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,MAAM,CAAC,SAAS,SAA4B;CAC7C;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,SAAS,SAAmB;CACpC;AAED;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,SAAS,SAAwB;CACzC;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,MAAM,CAAC,SAAS,SAAuB;CACxC;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,UAAU;IACxD,MAAM,CAAC,SAAS,SAA6B;CAC9C;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IACpD,MAAM,CAAC,SAAS,SAAwB;CACzC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAIxF,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;CAiBf,CAAC"}
@@ -2,9 +2,8 @@
2
2
  * Base class for all OAuth errors
3
3
  */
4
4
  export class OAuthError extends Error {
5
- constructor(errorCode, message, errorUri) {
5
+ constructor(message, errorUri) {
6
6
  super(message);
7
- this.errorCode = errorCode;
8
7
  this.errorUri = errorUri;
9
8
  this.name = this.constructor.name;
10
9
  }
@@ -21,6 +20,9 @@ export class OAuthError extends Error {
21
20
  }
22
21
  return response;
23
22
  }
23
+ get errorCode() {
24
+ return this.constructor.errorCode;
25
+ }
24
26
  }
25
27
  /**
26
28
  * Invalid request error - The request is missing a required parameter,
@@ -28,142 +30,143 @@ export class OAuthError extends Error {
28
30
  * or is otherwise malformed.
29
31
  */
30
32
  export class InvalidRequestError extends OAuthError {
31
- constructor(message, errorUri) {
32
- super("invalid_request", message, errorUri);
33
- }
34
33
  }
34
+ InvalidRequestError.errorCode = "invalid_request";
35
35
  /**
36
36
  * Invalid client error - Client authentication failed (e.g., unknown client, no client
37
37
  * authentication included, or unsupported authentication method).
38
38
  */
39
39
  export class InvalidClientError extends OAuthError {
40
- constructor(message, errorUri) {
41
- super("invalid_client", message, errorUri);
42
- }
43
40
  }
41
+ InvalidClientError.errorCode = "invalid_client";
44
42
  /**
45
43
  * Invalid grant error - The provided authorization grant or refresh token is
46
44
  * invalid, expired, revoked, does not match the redirection URI used in the
47
45
  * authorization request, or was issued to another client.
48
46
  */
49
47
  export class InvalidGrantError extends OAuthError {
50
- constructor(message, errorUri) {
51
- super("invalid_grant", message, errorUri);
52
- }
53
48
  }
49
+ InvalidGrantError.errorCode = "invalid_grant";
54
50
  /**
55
51
  * Unauthorized client error - The authenticated client is not authorized to use
56
52
  * this authorization grant type.
57
53
  */
58
54
  export class UnauthorizedClientError extends OAuthError {
59
- constructor(message, errorUri) {
60
- super("unauthorized_client", message, errorUri);
61
- }
62
55
  }
56
+ UnauthorizedClientError.errorCode = "unauthorized_client";
63
57
  /**
64
58
  * Unsupported grant type error - The authorization grant type is not supported
65
59
  * by the authorization server.
66
60
  */
67
61
  export class UnsupportedGrantTypeError extends OAuthError {
68
- constructor(message, errorUri) {
69
- super("unsupported_grant_type", message, errorUri);
70
- }
71
62
  }
63
+ UnsupportedGrantTypeError.errorCode = "unsupported_grant_type";
72
64
  /**
73
65
  * Invalid scope error - The requested scope is invalid, unknown, malformed, or
74
66
  * exceeds the scope granted by the resource owner.
75
67
  */
76
68
  export class InvalidScopeError extends OAuthError {
77
- constructor(message, errorUri) {
78
- super("invalid_scope", message, errorUri);
79
- }
80
69
  }
70
+ InvalidScopeError.errorCode = "invalid_scope";
81
71
  /**
82
72
  * Access denied error - The resource owner or authorization server denied the request.
83
73
  */
84
74
  export class AccessDeniedError extends OAuthError {
85
- constructor(message, errorUri) {
86
- super("access_denied", message, errorUri);
87
- }
88
75
  }
76
+ AccessDeniedError.errorCode = "access_denied";
89
77
  /**
90
78
  * Server error - The authorization server encountered an unexpected condition
91
79
  * that prevented it from fulfilling the request.
92
80
  */
93
81
  export class ServerError extends OAuthError {
94
- constructor(message, errorUri) {
95
- super("server_error", message, errorUri);
96
- }
97
82
  }
83
+ ServerError.errorCode = "server_error";
98
84
  /**
99
85
  * Temporarily unavailable error - The authorization server is currently unable to
100
86
  * handle the request due to a temporary overloading or maintenance of the server.
101
87
  */
102
88
  export class TemporarilyUnavailableError extends OAuthError {
103
- constructor(message, errorUri) {
104
- super("temporarily_unavailable", message, errorUri);
105
- }
106
89
  }
90
+ TemporarilyUnavailableError.errorCode = "temporarily_unavailable";
107
91
  /**
108
92
  * Unsupported response type error - The authorization server does not support
109
93
  * obtaining an authorization code using this method.
110
94
  */
111
95
  export class UnsupportedResponseTypeError extends OAuthError {
112
- constructor(message, errorUri) {
113
- super("unsupported_response_type", message, errorUri);
114
- }
115
96
  }
97
+ UnsupportedResponseTypeError.errorCode = "unsupported_response_type";
116
98
  /**
117
99
  * Unsupported token type error - The authorization server does not support
118
100
  * the requested token type.
119
101
  */
120
102
  export class UnsupportedTokenTypeError extends OAuthError {
121
- constructor(message, errorUri) {
122
- super("unsupported_token_type", message, errorUri);
123
- }
124
103
  }
104
+ UnsupportedTokenTypeError.errorCode = "unsupported_token_type";
125
105
  /**
126
106
  * Invalid token error - The access token provided is expired, revoked, malformed,
127
107
  * or invalid for other reasons.
128
108
  */
129
109
  export class InvalidTokenError extends OAuthError {
130
- constructor(message, errorUri) {
131
- super("invalid_token", message, errorUri);
132
- }
133
110
  }
111
+ InvalidTokenError.errorCode = "invalid_token";
134
112
  /**
135
113
  * Method not allowed error - The HTTP method used is not allowed for this endpoint.
136
114
  * (Custom, non-standard error)
137
115
  */
138
116
  export class MethodNotAllowedError extends OAuthError {
139
- constructor(message, errorUri) {
140
- super("method_not_allowed", message, errorUri);
141
- }
142
117
  }
118
+ MethodNotAllowedError.errorCode = "method_not_allowed";
143
119
  /**
144
120
  * Too many requests error - Rate limit exceeded.
145
121
  * (Custom, non-standard error based on RFC 6585)
146
122
  */
147
123
  export class TooManyRequestsError extends OAuthError {
148
- constructor(message, errorUri) {
149
- super("too_many_requests", message, errorUri);
150
- }
151
124
  }
125
+ TooManyRequestsError.errorCode = "too_many_requests";
152
126
  /**
153
127
  * Invalid client metadata error - The client metadata is invalid.
154
128
  * (Custom error for dynamic client registration - RFC 7591)
155
129
  */
156
130
  export class InvalidClientMetadataError extends OAuthError {
157
- constructor(message, errorUri) {
158
- super("invalid_client_metadata", message, errorUri);
159
- }
160
131
  }
132
+ InvalidClientMetadataError.errorCode = "invalid_client_metadata";
161
133
  /**
162
134
  * Insufficient scope error - The request requires higher privileges than provided by the access token.
163
135
  */
164
136
  export class InsufficientScopeError extends OAuthError {
165
- constructor(message, errorUri) {
166
- super("insufficient_scope", message, errorUri);
137
+ }
138
+ InsufficientScopeError.errorCode = "insufficient_scope";
139
+ /**
140
+ * A utility class for defining one-off error codes
141
+ */
142
+ export class CustomOAuthError extends OAuthError {
143
+ constructor(customErrorCode, message, errorUri) {
144
+ super(message, errorUri);
145
+ this.customErrorCode = customErrorCode;
146
+ }
147
+ get errorCode() {
148
+ return this.customErrorCode;
167
149
  }
168
150
  }
151
+ /**
152
+ * A full list of all OAuthErrors, enabling parsing from error responses
153
+ */
154
+ export const OAUTH_ERRORS = {
155
+ [InvalidRequestError.errorCode]: InvalidRequestError,
156
+ [InvalidClientError.errorCode]: InvalidClientError,
157
+ [InvalidGrantError.errorCode]: InvalidGrantError,
158
+ [UnauthorizedClientError.errorCode]: UnauthorizedClientError,
159
+ [UnsupportedGrantTypeError.errorCode]: UnsupportedGrantTypeError,
160
+ [InvalidScopeError.errorCode]: InvalidScopeError,
161
+ [AccessDeniedError.errorCode]: AccessDeniedError,
162
+ [ServerError.errorCode]: ServerError,
163
+ [TemporarilyUnavailableError.errorCode]: TemporarilyUnavailableError,
164
+ [UnsupportedResponseTypeError.errorCode]: UnsupportedResponseTypeError,
165
+ [UnsupportedTokenTypeError.errorCode]: UnsupportedTokenTypeError,
166
+ [InvalidTokenError.errorCode]: InvalidTokenError,
167
+ [MethodNotAllowedError.errorCode]: MethodNotAllowedError,
168
+ [TooManyRequestsError.errorCode]: TooManyRequestsError,
169
+ [InvalidClientMetadataError.errorCode]: InvalidClientMetadataError,
170
+ [InsufficientScopeError.errorCode]: InsufficientScopeError,
171
+ };
169
172
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/server/auth/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/server/auth/errors.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,12 @@ export type ClientRegistrationHandlerOptions = {
18
18
  * Registration endpoints are particularly sensitive to abuse and should be rate limited.
19
19
  */
20
20
  rateLimit?: Partial<RateLimitOptions> | false;
21
+ /**
22
+ * Whether to generate a client ID before calling the client registration endpoint.
23
+ *
24
+ * If not set, defaults to true.
25
+ */
26
+ clientIdGeneration?: boolean;
21
27
  };
22
- export declare function clientRegistrationHandler({ clientsStore, clientSecretExpirySeconds, rateLimit: rateLimitConfig }: ClientRegistrationHandlerOptions): RequestHandler;
28
+ export declare function clientRegistrationHandler({ clientsStore, clientSecretExpirySeconds, rateLimit: rateLimitConfig, clientIdGeneration, }: ClientRegistrationHandlerOptions): RequestHandler;
23
29
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../../src/server/auth/handlers/register.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAa,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAS5E,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;OAEG;IACH,YAAY,EAAE,2BAA2B,CAAC;IAE1C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;CAC/C,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,YAAY,EACZ,yBAAgE,EAChE,SAAS,EAAE,eAAe,EAC3B,EAAE,gCAAgC,GAAG,cAAc,CAwEnD"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../../src/server/auth/handlers/register.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIlD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAa,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAS5E,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;OAEG;IACH,YAAY,EAAE,2BAA2B,CAAC;IAE1C;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IAE9C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,YAAY,EACZ,yBAAgE,EAChE,SAAS,EAAE,eAAe,EAC1B,kBAAyB,GAC1B,EAAE,gCAAgC,GAAG,cAAc,CA0EnD"}
@@ -6,7 +6,7 @@ import { rateLimit } from "express-rate-limit";
6
6
  import { allowedMethods } from "../middleware/allowedMethods.js";
7
7
  import { InvalidClientMetadataError, ServerError, TooManyRequestsError, OAuthError } from "../errors.js";
8
8
  const DEFAULT_CLIENT_SECRET_EXPIRY_SECONDS = 30 * 24 * 60 * 60; // 30 days
9
- export function clientRegistrationHandler({ clientsStore, clientSecretExpirySeconds = DEFAULT_CLIENT_SECRET_EXPIRY_SECONDS, rateLimit: rateLimitConfig }) {
9
+ export function clientRegistrationHandler({ clientsStore, clientSecretExpirySeconds = DEFAULT_CLIENT_SECRET_EXPIRY_SECONDS, rateLimit: rateLimitConfig, clientIdGeneration = true, }) {
10
10
  if (!clientsStore.registerClient) {
11
11
  throw new Error("Client registration store does not support registering clients");
12
12
  }
@@ -37,7 +37,6 @@ export function clientRegistrationHandler({ clientsStore, clientSecretExpirySeco
37
37
  const clientMetadata = parseResult.data;
38
38
  const isPublicClient = clientMetadata.token_endpoint_auth_method === 'none';
39
39
  // Generate client credentials
40
- const clientId = crypto.randomUUID();
41
40
  const clientSecret = isPublicClient
42
41
  ? undefined
43
42
  : crypto.randomBytes(32).toString('hex');
@@ -48,11 +47,13 @@ export function clientRegistrationHandler({ clientsStore, clientSecretExpirySeco
48
47
  const clientSecretExpiresAt = isPublicClient ? undefined : secretExpiryTime;
49
48
  let clientInfo = {
50
49
  ...clientMetadata,
51
- client_id: clientId,
52
50
  client_secret: clientSecret,
53
- client_id_issued_at: clientIdIssuedAt,
54
51
  client_secret_expires_at: clientSecretExpiresAt,
55
52
  };
53
+ if (clientIdGeneration) {
54
+ clientInfo.client_id = crypto.randomUUID();
55
+ clientInfo.client_id_issued_at = clientIdIssuedAt;
56
+ }
56
57
  clientInfo = await clientsStore.registerClient(clientInfo);
57
58
  res.status(201).json(clientInfo);
58
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../../src/server/auth/handlers/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../../src/server/auth/handlers/register.ts"],"names":[],"mappings":"AAAA,OAAO,OAA2B,MAAM,SAAS,CAAC;AAClD,OAAO,EAA8B,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,SAAS,EAA+B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,oBAAoB,EACpB,UAAU,EACX,MAAM,cAAc,CAAC;AA8BtB,MAAM,oCAAoC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;AAE1E,MAAM,UAAU,yBAAyB,CAAC,EACxC,YAAY,EACZ,yBAAyB,GAAG,oCAAoC,EAChE,SAAS,EAAE,eAAe,EAC1B,kBAAkB,GAAG,IAAI,GACQ;IACjC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,wEAAwE;IACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEhC,kFAAkF;IAClF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3B,oFAAoF;IACpF,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YACnB,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,SAAS;YACnC,GAAG,EAAE,EAAE,EAAE,+DAA+D;YACxE,eAAe,EAAE,IAAI;YACrB,aAAa,EAAE,KAAK;YACpB,OAAO,EAAE,IAAI,oBAAoB,CAAC,mEAAmE,CAAC,CAAC,gBAAgB,EAAE;YACzH,GAAG,eAAe;SACnB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,yBAAyB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,0BAA0B,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC;YACxC,MAAM,cAAc,GAAG,cAAc,CAAC,0BAA0B,KAAK,MAAM,CAAA;YAE3E,8BAA8B;YAC9B,MAAM,YAAY,GAAG,cAAc;gBACjC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAEvD,sCAAsC;YACtC,MAAM,eAAe,GAAG,yBAAyB,GAAG,CAAC,CAAA;YACrD,MAAM,gBAAgB,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3F,MAAM,qBAAqB,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAA;YAE3E,IAAI,UAAU,GAA2E;gBACvF,GAAG,cAAc;gBACjB,aAAa,EAAE,YAAY;gBAC3B,wBAAwB,EAAE,qBAAqB;aAChD,CAAC;YAEF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3C,UAAU,CAAC,mBAAmB,GAAG,gBAAgB,CAAC;YACpD,CAAC;YAED,UAAU,GAAG,MAAM,YAAY,CAAC,cAAe,CAAC,UAAU,CAAC,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,KAAK,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACxD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,uBAAuB,CAAC,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}