@modelcontextprotocol/sdk 1.12.3 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +342 -24
  2. package/dist/cjs/client/auth.d.ts +15 -3
  3. package/dist/cjs/client/auth.d.ts.map +1 -1
  4. package/dist/cjs/client/auth.js +40 -10
  5. package/dist/cjs/client/auth.js.map +1 -1
  6. package/dist/cjs/client/index.d.ts +308 -26
  7. package/dist/cjs/client/index.d.ts.map +1 -1
  8. package/dist/cjs/client/index.js +11 -2
  9. package/dist/cjs/client/index.js.map +1 -1
  10. package/dist/cjs/client/sse.d.ts +2 -0
  11. package/dist/cjs/client/sse.d.ts.map +1 -1
  12. package/dist/cjs/client/sse.js +30 -13
  13. package/dist/cjs/client/sse.js.map +1 -1
  14. package/dist/cjs/client/streamableHttp.d.ts +3 -0
  15. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  16. package/dist/cjs/client/streamableHttp.js +9 -0
  17. package/dist/cjs/client/streamableHttp.js.map +1 -1
  18. package/dist/cjs/examples/client/simpleStreamableHttp.js +261 -5
  19. package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
  20. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +10 -4
  21. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  22. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +21 -7
  23. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  24. package/dist/cjs/examples/server/simpleStreamableHttp.js +246 -10
  25. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  26. package/dist/cjs/server/auth/handlers/authorize.d.ts.map +1 -1
  27. package/dist/cjs/server/auth/handlers/authorize.js +3 -3
  28. package/dist/cjs/server/auth/handlers/authorize.js.map +1 -1
  29. package/dist/cjs/server/auth/handlers/register.d.ts.map +1 -1
  30. package/dist/cjs/server/auth/handlers/register.js +0 -1
  31. package/dist/cjs/server/auth/handlers/register.js.map +1 -1
  32. package/dist/cjs/server/auth/handlers/revoke.d.ts +1 -1
  33. package/dist/cjs/server/auth/handlers/revoke.d.ts.map +1 -1
  34. package/dist/cjs/server/auth/handlers/revoke.js +4 -6
  35. package/dist/cjs/server/auth/handlers/revoke.js.map +1 -1
  36. package/dist/cjs/server/auth/handlers/token.d.ts.map +1 -1
  37. package/dist/cjs/server/auth/handlers/token.js +6 -6
  38. package/dist/cjs/server/auth/handlers/token.js.map +1 -1
  39. package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  40. package/dist/cjs/server/auth/middleware/bearerAuth.js +0 -1
  41. package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
  42. package/dist/cjs/server/auth/middleware/clientAuth.d.ts.map +1 -1
  43. package/dist/cjs/server/auth/middleware/clientAuth.js +0 -1
  44. package/dist/cjs/server/auth/middleware/clientAuth.js.map +1 -1
  45. package/dist/cjs/server/auth/provider.d.ts +3 -2
  46. package/dist/cjs/server/auth/provider.d.ts.map +1 -1
  47. package/dist/cjs/server/auth/providers/proxyProvider.d.ts +2 -2
  48. package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  49. package/dist/cjs/server/auth/providers/proxyProvider.js +10 -2
  50. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  51. package/dist/cjs/server/auth/types.d.ts +5 -0
  52. package/dist/cjs/server/auth/types.d.ts.map +1 -1
  53. package/dist/cjs/server/completable.d.ts +3 -1
  54. package/dist/cjs/server/completable.d.ts.map +1 -1
  55. package/dist/cjs/server/completable.js.map +1 -1
  56. package/dist/cjs/server/index.d.ts +14 -1
  57. package/dist/cjs/server/index.d.ts.map +1 -1
  58. package/dist/cjs/server/index.js +36 -5
  59. package/dist/cjs/server/index.js.map +1 -1
  60. package/dist/cjs/server/mcp.d.ts +28 -1
  61. package/dist/cjs/server/mcp.d.ts.map +1 -1
  62. package/dist/cjs/server/mcp.js +147 -84
  63. package/dist/cjs/server/mcp.js.map +1 -1
  64. package/dist/cjs/server/sse.d.ts.map +1 -1
  65. package/dist/cjs/server/sse.js.map +1 -1
  66. package/dist/cjs/server/streamableHttp.d.ts +2 -1
  67. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  68. package/dist/cjs/server/streamableHttp.js +36 -5
  69. package/dist/cjs/server/streamableHttp.js.map +1 -1
  70. package/dist/cjs/shared/auth-utils.d.ts +23 -0
  71. package/dist/cjs/shared/auth-utils.d.ts.map +1 -0
  72. package/dist/cjs/shared/auth-utils.js +48 -0
  73. package/dist/cjs/shared/auth-utils.js.map +1 -0
  74. package/dist/cjs/shared/metadataUtils.d.ts +12 -0
  75. package/dist/cjs/shared/metadataUtils.d.ts.map +1 -0
  76. package/dist/cjs/shared/metadataUtils.js +29 -0
  77. package/dist/cjs/shared/metadataUtils.js.map +1 -0
  78. package/dist/cjs/shared/transport.d.ts +4 -0
  79. package/dist/cjs/shared/transport.d.ts.map +1 -1
  80. package/dist/cjs/types.d.ts +16263 -2158
  81. package/dist/cjs/types.d.ts.map +1 -1
  82. package/dist/cjs/types.js +220 -59
  83. package/dist/cjs/types.js.map +1 -1
  84. package/dist/esm/client/auth.d.ts +15 -3
  85. package/dist/esm/client/auth.d.ts.map +1 -1
  86. package/dist/esm/client/auth.js +39 -10
  87. package/dist/esm/client/auth.js.map +1 -1
  88. package/dist/esm/client/index.d.ts +308 -26
  89. package/dist/esm/client/index.d.ts.map +1 -1
  90. package/dist/esm/client/index.js +11 -2
  91. package/dist/esm/client/index.js.map +1 -1
  92. package/dist/esm/client/sse.d.ts +2 -0
  93. package/dist/esm/client/sse.d.ts.map +1 -1
  94. package/dist/esm/client/sse.js +30 -13
  95. package/dist/esm/client/sse.js.map +1 -1
  96. package/dist/esm/client/streamableHttp.d.ts +3 -0
  97. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  98. package/dist/esm/client/streamableHttp.js +9 -0
  99. package/dist/esm/client/streamableHttp.js.map +1 -1
  100. package/dist/esm/examples/client/simpleStreamableHttp.js +259 -6
  101. package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
  102. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +10 -4
  103. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  104. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +21 -7
  105. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  106. package/dist/esm/examples/server/simpleStreamableHttp.js +246 -10
  107. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  108. package/dist/esm/server/auth/handlers/authorize.d.ts.map +1 -1
  109. package/dist/esm/server/auth/handlers/authorize.js +3 -3
  110. package/dist/esm/server/auth/handlers/authorize.js.map +1 -1
  111. package/dist/esm/server/auth/handlers/register.d.ts.map +1 -1
  112. package/dist/esm/server/auth/handlers/register.js +0 -1
  113. package/dist/esm/server/auth/handlers/register.js.map +1 -1
  114. package/dist/esm/server/auth/handlers/revoke.d.ts +1 -1
  115. package/dist/esm/server/auth/handlers/revoke.d.ts.map +1 -1
  116. package/dist/esm/server/auth/handlers/revoke.js +5 -7
  117. package/dist/esm/server/auth/handlers/revoke.js.map +1 -1
  118. package/dist/esm/server/auth/handlers/token.d.ts.map +1 -1
  119. package/dist/esm/server/auth/handlers/token.js +6 -6
  120. package/dist/esm/server/auth/handlers/token.js.map +1 -1
  121. package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  122. package/dist/esm/server/auth/middleware/bearerAuth.js +0 -1
  123. package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
  124. package/dist/esm/server/auth/middleware/clientAuth.d.ts.map +1 -1
  125. package/dist/esm/server/auth/middleware/clientAuth.js +0 -1
  126. package/dist/esm/server/auth/middleware/clientAuth.js.map +1 -1
  127. package/dist/esm/server/auth/provider.d.ts +3 -2
  128. package/dist/esm/server/auth/provider.d.ts.map +1 -1
  129. package/dist/esm/server/auth/providers/proxyProvider.d.ts +2 -2
  130. package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  131. package/dist/esm/server/auth/providers/proxyProvider.js +10 -2
  132. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  133. package/dist/esm/server/auth/types.d.ts +5 -0
  134. package/dist/esm/server/auth/types.d.ts.map +1 -1
  135. package/dist/esm/server/completable.d.ts +3 -1
  136. package/dist/esm/server/completable.d.ts.map +1 -1
  137. package/dist/esm/server/completable.js.map +1 -1
  138. package/dist/esm/server/index.d.ts +14 -1
  139. package/dist/esm/server/index.d.ts.map +1 -1
  140. package/dist/esm/server/index.js +34 -6
  141. package/dist/esm/server/index.js.map +1 -1
  142. package/dist/esm/server/mcp.d.ts +28 -1
  143. package/dist/esm/server/mcp.d.ts.map +1 -1
  144. package/dist/esm/server/mcp.js +147 -84
  145. package/dist/esm/server/mcp.js.map +1 -1
  146. package/dist/esm/server/sse.d.ts.map +1 -1
  147. package/dist/esm/server/sse.js.map +1 -1
  148. package/dist/esm/server/streamableHttp.d.ts +2 -1
  149. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  150. package/dist/esm/server/streamableHttp.js +37 -6
  151. package/dist/esm/server/streamableHttp.js.map +1 -1
  152. package/dist/esm/shared/auth-utils.d.ts +23 -0
  153. package/dist/esm/shared/auth-utils.d.ts.map +1 -0
  154. package/dist/esm/shared/auth-utils.js +44 -0
  155. package/dist/esm/shared/auth-utils.js.map +1 -0
  156. package/dist/esm/shared/metadataUtils.d.ts +12 -0
  157. package/dist/esm/shared/metadataUtils.d.ts.map +1 -0
  158. package/dist/esm/shared/metadataUtils.js +26 -0
  159. package/dist/esm/shared/metadataUtils.js.map +1 -0
  160. package/dist/esm/shared/transport.d.ts +4 -0
  161. package/dist/esm/shared/transport.d.ts.map +1 -1
  162. package/dist/esm/types.d.ts +16263 -2158
  163. package/dist/esm/types.d.ts.map +1 -1
  164. package/dist/esm/types.js +217 -57
  165. package/dist/esm/types.js.map +1 -1
  166. package/package.json +6 -3
@@ -1,7 +1,9 @@
1
1
  import { Client } from '../../client/index.js';
2
2
  import { StreamableHTTPClientTransport } from '../../client/streamableHttp.js';
3
3
  import { createInterface } from 'node:readline';
4
- import { ListToolsResultSchema, CallToolResultSchema, ListPromptsResultSchema, GetPromptResultSchema, ListResourcesResultSchema, LoggingMessageNotificationSchema, ResourceListChangedNotificationSchema, } from '../../types.js';
4
+ import { ListToolsResultSchema, CallToolResultSchema, ListPromptsResultSchema, GetPromptResultSchema, ListResourcesResultSchema, LoggingMessageNotificationSchema, ResourceListChangedNotificationSchema, ElicitRequestSchema, ReadResourceResultSchema, } from '../../types.js';
5
+ import { getDisplayName } from '../../shared/metadataUtils.js';
6
+ import Ajv from "ajv";
5
7
  // Create readline interface for user input
6
8
  const readline = createInterface({
7
9
  input: process.stdin,
@@ -34,11 +36,13 @@ function printHelp() {
34
36
  console.log(' call-tool <name> [args] - Call a tool with optional JSON arguments');
35
37
  console.log(' greet [name] - Call the greet tool');
36
38
  console.log(' multi-greet [name] - Call the multi-greet tool with notifications');
39
+ console.log(' collect-info [type] - Test elicitation with collect-user-info tool (contact/preferences/feedback)');
37
40
  console.log(' start-notifications [interval] [count] - Start periodic notifications');
38
41
  console.log(' run-notifications-tool-with-resumability [interval] [count] - Run notification tool with resumability');
39
42
  console.log(' list-prompts - List available prompts');
40
43
  console.log(' get-prompt [name] [args] - Get a prompt with optional JSON arguments');
41
44
  console.log(' list-resources - List available resources');
45
+ console.log(' read-resource <uri> - Read a specific resource by URI');
42
46
  console.log(' help - Show this help');
43
47
  console.log(' quit - Exit the program');
44
48
  }
@@ -88,6 +92,9 @@ function commandLoop() {
88
92
  case 'multi-greet':
89
93
  await callMultiGreetTool(args[1] || 'MCP User');
90
94
  break;
95
+ case 'collect-info':
96
+ await callCollectInfoTool(args[1] || 'contact');
97
+ break;
91
98
  case 'start-notifications': {
92
99
  const interval = args[1] ? parseInt(args[1], 10) : 2000;
93
100
  const count = args[2] ? parseInt(args[2], 10) : 10;
@@ -124,6 +131,14 @@ function commandLoop() {
124
131
  case 'list-resources':
125
132
  await listResources();
126
133
  break;
134
+ case 'read-resource':
135
+ if (args.length < 2) {
136
+ console.log('Usage: read-resource <uri>');
137
+ }
138
+ else {
139
+ await readResource(args[1]);
140
+ }
141
+ break;
127
142
  case 'help':
128
143
  printHelp();
129
144
  break;
@@ -155,14 +170,189 @@ async function connect(url) {
155
170
  }
156
171
  console.log(`Connecting to ${serverUrl}...`);
157
172
  try {
158
- // Create a new client
173
+ // Create a new client with elicitation capability
159
174
  client = new Client({
160
175
  name: 'example-client',
161
176
  version: '1.0.0'
177
+ }, {
178
+ capabilities: {
179
+ elicitation: {},
180
+ },
162
181
  });
163
182
  client.onerror = (error) => {
164
183
  console.error('\x1b[31mClient error:', error, '\x1b[0m');
165
184
  };
185
+ // Set up elicitation request handler with proper validation
186
+ client.setRequestHandler(ElicitRequestSchema, async (request) => {
187
+ var _a;
188
+ console.log('\n🔔 Elicitation Request Received:');
189
+ console.log(`Message: ${request.params.message}`);
190
+ console.log('Requested Schema:');
191
+ console.log(JSON.stringify(request.params.requestedSchema, null, 2));
192
+ const schema = request.params.requestedSchema;
193
+ const properties = schema.properties;
194
+ const required = schema.required || [];
195
+ // Set up AJV validator for the requested schema
196
+ const ajv = new Ajv();
197
+ const validate = ajv.compile(schema);
198
+ let attempts = 0;
199
+ const maxAttempts = 3;
200
+ while (attempts < maxAttempts) {
201
+ attempts++;
202
+ console.log(`\nPlease provide the following information (attempt ${attempts}/${maxAttempts}):`);
203
+ const content = {};
204
+ let inputCancelled = false;
205
+ // Collect input for each field
206
+ for (const [fieldName, fieldSchema] of Object.entries(properties)) {
207
+ const field = fieldSchema;
208
+ const isRequired = required.includes(fieldName);
209
+ let prompt = `${field.title || fieldName}`;
210
+ // Add helpful information to the prompt
211
+ if (field.description) {
212
+ prompt += ` (${field.description})`;
213
+ }
214
+ if (field.enum) {
215
+ prompt += ` [options: ${field.enum.join(', ')}]`;
216
+ }
217
+ if (field.type === 'number' || field.type === 'integer') {
218
+ if (field.minimum !== undefined && field.maximum !== undefined) {
219
+ prompt += ` [${field.minimum}-${field.maximum}]`;
220
+ }
221
+ else if (field.minimum !== undefined) {
222
+ prompt += ` [min: ${field.minimum}]`;
223
+ }
224
+ else if (field.maximum !== undefined) {
225
+ prompt += ` [max: ${field.maximum}]`;
226
+ }
227
+ }
228
+ if (field.type === 'string' && field.format) {
229
+ prompt += ` [format: ${field.format}]`;
230
+ }
231
+ if (isRequired) {
232
+ prompt += ' *required*';
233
+ }
234
+ if (field.default !== undefined) {
235
+ prompt += ` [default: ${field.default}]`;
236
+ }
237
+ prompt += ': ';
238
+ const answer = await new Promise((resolve) => {
239
+ readline.question(prompt, (input) => {
240
+ resolve(input.trim());
241
+ });
242
+ });
243
+ // Check for cancellation
244
+ if (answer.toLowerCase() === 'cancel' || answer.toLowerCase() === 'c') {
245
+ inputCancelled = true;
246
+ break;
247
+ }
248
+ // Parse and validate the input
249
+ try {
250
+ if (answer === '' && field.default !== undefined) {
251
+ content[fieldName] = field.default;
252
+ }
253
+ else if (answer === '' && !isRequired) {
254
+ // Skip optional empty fields
255
+ continue;
256
+ }
257
+ else if (answer === '') {
258
+ throw new Error(`${fieldName} is required`);
259
+ }
260
+ else {
261
+ // Parse the value based on type
262
+ let parsedValue;
263
+ if (field.type === 'boolean') {
264
+ parsedValue = answer.toLowerCase() === 'true' || answer.toLowerCase() === 'yes' || answer === '1';
265
+ }
266
+ else if (field.type === 'number') {
267
+ parsedValue = parseFloat(answer);
268
+ if (isNaN(parsedValue)) {
269
+ throw new Error(`${fieldName} must be a valid number`);
270
+ }
271
+ }
272
+ else if (field.type === 'integer') {
273
+ parsedValue = parseInt(answer, 10);
274
+ if (isNaN(parsedValue)) {
275
+ throw new Error(`${fieldName} must be a valid integer`);
276
+ }
277
+ }
278
+ else if (field.enum) {
279
+ if (!field.enum.includes(answer)) {
280
+ throw new Error(`${fieldName} must be one of: ${field.enum.join(', ')}`);
281
+ }
282
+ parsedValue = answer;
283
+ }
284
+ else {
285
+ parsedValue = answer;
286
+ }
287
+ content[fieldName] = parsedValue;
288
+ }
289
+ }
290
+ catch (error) {
291
+ console.log(`❌ Error: ${error}`);
292
+ // Continue to next attempt
293
+ break;
294
+ }
295
+ }
296
+ if (inputCancelled) {
297
+ return { action: 'cancel' };
298
+ }
299
+ // If we didn't complete all fields due to an error, try again
300
+ if (Object.keys(content).length !== Object.keys(properties).filter(name => required.includes(name) || content[name] !== undefined).length) {
301
+ if (attempts < maxAttempts) {
302
+ console.log('Please try again...');
303
+ continue;
304
+ }
305
+ else {
306
+ console.log('Maximum attempts reached. Declining request.');
307
+ return { action: 'reject' };
308
+ }
309
+ }
310
+ // Validate the complete object against the schema
311
+ const isValid = validate(content);
312
+ if (!isValid) {
313
+ console.log('❌ Validation errors:');
314
+ (_a = validate.errors) === null || _a === void 0 ? void 0 : _a.forEach(error => {
315
+ console.log(` - ${error.dataPath || 'root'}: ${error.message}`);
316
+ });
317
+ if (attempts < maxAttempts) {
318
+ console.log('Please correct the errors and try again...');
319
+ continue;
320
+ }
321
+ else {
322
+ console.log('Maximum attempts reached. Declining request.');
323
+ return { action: 'reject' };
324
+ }
325
+ }
326
+ // Show the collected data and ask for confirmation
327
+ console.log('\n✅ Collected data:');
328
+ console.log(JSON.stringify(content, null, 2));
329
+ const confirmAnswer = await new Promise((resolve) => {
330
+ readline.question('\nSubmit this information? (yes/no/cancel): ', (input) => {
331
+ resolve(input.trim().toLowerCase());
332
+ });
333
+ });
334
+ if (confirmAnswer === 'yes' || confirmAnswer === 'y') {
335
+ return {
336
+ action: 'accept',
337
+ content,
338
+ };
339
+ }
340
+ else if (confirmAnswer === 'cancel' || confirmAnswer === 'c') {
341
+ return { action: 'cancel' };
342
+ }
343
+ else if (confirmAnswer === 'no' || confirmAnswer === 'n') {
344
+ if (attempts < maxAttempts) {
345
+ console.log('Please re-enter the information...');
346
+ continue;
347
+ }
348
+ else {
349
+ return { action: 'reject' };
350
+ }
351
+ }
352
+ }
353
+ console.log('Maximum attempts reached. Declining request.');
354
+ return { action: 'reject' };
355
+ });
166
356
  transport = new StreamableHTTPClientTransport(new URL(serverUrl), {
167
357
  sessionId: sessionId
168
358
  });
@@ -270,7 +460,7 @@ async function listTools() {
270
460
  }
271
461
  else {
272
462
  for (const tool of toolsResult.tools) {
273
- console.log(` - ${tool.name}: ${tool.description}`);
463
+ console.log(` - id: ${tool.name}, name: ${getDisplayName(tool)}, description: ${tool.description}`);
274
464
  }
275
465
  }
276
466
  }
@@ -294,14 +484,40 @@ async function callTool(name, args) {
294
484
  console.log(`Calling tool '${name}' with args:`, args);
295
485
  const result = await client.request(request, CallToolResultSchema);
296
486
  console.log('Tool result:');
487
+ const resourceLinks = [];
297
488
  result.content.forEach(item => {
298
489
  if (item.type === 'text') {
299
490
  console.log(` ${item.text}`);
300
491
  }
492
+ else if (item.type === 'resource_link') {
493
+ const resourceLink = item;
494
+ resourceLinks.push(resourceLink);
495
+ console.log(` 📁 Resource Link: ${resourceLink.name}`);
496
+ console.log(` URI: ${resourceLink.uri}`);
497
+ if (resourceLink.mimeType) {
498
+ console.log(` Type: ${resourceLink.mimeType}`);
499
+ }
500
+ if (resourceLink.description) {
501
+ console.log(` Description: ${resourceLink.description}`);
502
+ }
503
+ }
504
+ else if (item.type === 'resource') {
505
+ console.log(` [Embedded Resource: ${item.resource.uri}]`);
506
+ }
507
+ else if (item.type === 'image') {
508
+ console.log(` [Image: ${item.mimeType}]`);
509
+ }
510
+ else if (item.type === 'audio') {
511
+ console.log(` [Audio: ${item.mimeType}]`);
512
+ }
301
513
  else {
302
- console.log(` ${item.type} content:`, item);
514
+ console.log(` [Unknown content type]:`, item);
303
515
  }
304
516
  });
517
+ // Offer to read resource links
518
+ if (resourceLinks.length > 0) {
519
+ console.log(`\nFound ${resourceLinks.length} resource link(s). Use 'read-resource <uri>' to read their content.`);
520
+ }
305
521
  }
306
522
  catch (error) {
307
523
  console.log(`Error calling tool ${name}: ${error}`);
@@ -314,6 +530,10 @@ async function callMultiGreetTool(name) {
314
530
  console.log('Calling multi-greet tool with notifications...');
315
531
  await callTool('multi-greet', { name });
316
532
  }
533
+ async function callCollectInfoTool(infoType) {
534
+ console.log(`Testing elicitation with collect-user-info tool (${infoType})...`);
535
+ await callTool('collect-user-info', { infoType });
536
+ }
317
537
  async function startNotifications(interval, count) {
318
538
  console.log(`Starting notification stream: interval=${interval}ms, count=${count || 'unlimited'}`);
319
539
  await callTool('start-notification-stream', { interval, count });
@@ -372,7 +592,7 @@ async function listPrompts() {
372
592
  }
373
593
  else {
374
594
  for (const prompt of promptsResult.prompts) {
375
- console.log(` - ${prompt.name}: ${prompt.description}`);
595
+ console.log(` - id: ${prompt.name}, name: ${getDisplayName(prompt)}, description: ${prompt.description}`);
376
596
  }
377
597
  }
378
598
  }
@@ -420,7 +640,7 @@ async function listResources() {
420
640
  }
421
641
  else {
422
642
  for (const resource of resourcesResult.resources) {
423
- console.log(` - ${resource.name}: ${resource.uri}`);
643
+ console.log(` - id: ${resource.name}, name: ${getDisplayName(resource)}, description: ${resource.uri}`);
424
644
  }
425
645
  }
426
646
  }
@@ -428,6 +648,39 @@ async function listResources() {
428
648
  console.log(`Resources not supported by this server (${error})`);
429
649
  }
430
650
  }
651
+ async function readResource(uri) {
652
+ if (!client) {
653
+ console.log('Not connected to server.');
654
+ return;
655
+ }
656
+ try {
657
+ const request = {
658
+ method: 'resources/read',
659
+ params: { uri }
660
+ };
661
+ console.log(`Reading resource: ${uri}`);
662
+ const result = await client.request(request, ReadResourceResultSchema);
663
+ console.log('Resource contents:');
664
+ for (const content of result.contents) {
665
+ console.log(` URI: ${content.uri}`);
666
+ if (content.mimeType) {
667
+ console.log(` Type: ${content.mimeType}`);
668
+ }
669
+ if ('text' in content && typeof content.text === 'string') {
670
+ console.log(' Content:');
671
+ console.log(' ---');
672
+ console.log(content.text.split('\n').map((line) => ' ' + line).join('\n'));
673
+ console.log(' ---');
674
+ }
675
+ else if ('blob' in content && typeof content.blob === 'string') {
676
+ console.log(` [Binary data: ${content.blob.length} bytes]`);
677
+ }
678
+ }
679
+ }
680
+ catch (error) {
681
+ console.log(`Error reading resource ${uri}: ${error}`);
682
+ }
683
+ }
431
684
  async function cleanup() {
432
685
  if (client && transport) {
433
686
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"simpleStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/client/simpleStreamableHttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleStreamableHttp.js","sourceRoot":"","sources":["../../../../src/examples/client/simpleStreamableHttp.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { AuthorizationParams, OAuthServerProvider } from '../../server/auth/provider.js';
2
2
  import { OAuthRegisteredClientsStore } from '../../server/auth/clients.js';
3
- import { OAuthClientInformationFull, OAuthMetadata, OAuthTokens } from 'src/shared/auth.js';
3
+ import { OAuthClientInformationFull, OAuthMetadata, OAuthTokens } from '../../shared/auth.js';
4
4
  import { Response } from "express";
5
- import { AuthInfo } from 'src/server/auth/types.js';
5
+ import { AuthInfo } from '../../server/auth/types.js';
6
6
  export declare class DemoInMemoryClientsStore implements OAuthRegisteredClientsStore {
7
7
  private clients;
8
8
  getClient(clientId: string): Promise<{
@@ -57,14 +57,20 @@ export declare class DemoInMemoryClientsStore implements OAuthRegisteredClientsS
57
57
  * - Rate limiting
58
58
  */
59
59
  export declare class DemoInMemoryAuthProvider implements OAuthServerProvider {
60
+ private validateResource?;
60
61
  clientsStore: DemoInMemoryClientsStore;
61
62
  private codes;
62
63
  private tokens;
64
+ constructor(validateResource?: ((resource?: URL) => boolean) | undefined);
63
65
  authorize(client: OAuthClientInformationFull, params: AuthorizationParams, res: Response): Promise<void>;
64
66
  challengeForAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string): Promise<string>;
65
67
  exchangeAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string, _codeVerifier?: string): Promise<OAuthTokens>;
66
- exchangeRefreshToken(_client: OAuthClientInformationFull, _refreshToken: string, _scopes?: string[]): Promise<OAuthTokens>;
68
+ exchangeRefreshToken(_client: OAuthClientInformationFull, _refreshToken: string, _scopes?: string[], _resource?: URL): Promise<OAuthTokens>;
67
69
  verifyAccessToken(token: string): Promise<AuthInfo>;
68
70
  }
69
- export declare const setupAuthServer: (authServerUrl: URL) => OAuthMetadata;
71
+ export declare const setupAuthServer: ({ authServerUrl, mcpServerUrl, strictResource }: {
72
+ authServerUrl: URL;
73
+ mcpServerUrl: URL;
74
+ strictResource: boolean;
75
+ }) => OAuthMetadata;
70
76
  //# sourceMappingURL=demoInMemoryOAuthProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"demoInMemoryOAuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/examples/server/demoInMemoryOAuthProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAgB,EAAW,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAIpD,qBAAa,wBAAyB,YAAW,2BAA2B;IAC1E,OAAO,CAAC,OAAO,CAAiD;IAE1D,SAAS,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;IAI1B,cAAc,CAAC,cAAc,EAAE,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAIhE;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,YAAY,2BAAkC;IAC9C,OAAO,CAAC,KAAK,CAE4B;IACzC,OAAO,CAAC,MAAM,CAA+B;IAEvC,SAAS,CACb,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAoBV,6BAA6B,CACjC,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IAWZ,yBAAyB,CAC7B,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,EAGzB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC;IA+BjB,oBAAoB,CACxB,OAAO,EAAE,0BAA0B,EACnC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC;IAIjB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAa1D;AAGD,eAAO,MAAM,eAAe,kBAAmB,GAAG,KAAG,aA+DpD,CAAA"}
1
+ {"version":3,"file":"demoInMemoryOAuthProvider.d.ts","sourceRoot":"","sources":["../../../../src/examples/server/demoInMemoryOAuthProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAgB,EAAW,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAKtD,qBAAa,wBAAyB,YAAW,2BAA2B;IAC1E,OAAO,CAAC,OAAO,CAAiD;IAE1D,SAAS,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;IAI1B,cAAc,CAAC,cAAc,EAAE,0BAA0B;;;;;;;;;;;;;;;;;;;;;CAIhE;AAED;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAOtD,OAAO,CAAC,gBAAgB,CAAC;IANrC,YAAY,2BAAkC;IAC9C,OAAO,CAAC,KAAK,CAE4B;IACzC,OAAO,CAAC,MAAM,CAA+B;gBAEzB,gBAAgB,CAAC,GAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,OAAO,aAAA;IAE5D,SAAS,CACb,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAoBV,6BAA6B,CACjC,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC;IAWZ,yBAAyB,CAC7B,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,EAGzB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,CAAC;IAoCjB,oBAAoB,CACxB,OAAO,EAAE,0BAA0B,EACnC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,WAAW,CAAC;IAIjB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAc1D;AAGD,eAAO,MAAM,eAAe,oDAAmD;IAAC,aAAa,EAAE,GAAG,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAC,KAAG,aAuEjJ,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import express from "express";
3
- import { createOAuthMetadata, mcpAuthRouter } from 'src/server/auth/router.js';
3
+ import { createOAuthMetadata, mcpAuthRouter } from '../../server/auth/router.js';
4
+ import { resourceUrlFromServerUrl } from '../../shared/auth-utils.js';
4
5
  export class DemoInMemoryClientsStore {
5
6
  constructor() {
6
7
  this.clients = new Map();
@@ -22,7 +23,8 @@ export class DemoInMemoryClientsStore {
22
23
  * - Rate limiting
23
24
  */
24
25
  export class DemoInMemoryAuthProvider {
25
- constructor() {
26
+ constructor(validateResource) {
27
+ this.validateResource = validateResource;
26
28
  this.clientsStore = new DemoInMemoryClientsStore();
27
29
  this.codes = new Map();
28
30
  this.tokens = new Map();
@@ -62,6 +64,9 @@ export class DemoInMemoryAuthProvider {
62
64
  if (codeData.client.client_id !== client.client_id) {
63
65
  throw new Error(`Authorization code was not issued to this client, ${codeData.client.client_id} != ${client.client_id}`);
64
66
  }
67
+ if (this.validateResource && !this.validateResource(codeData.params.resource)) {
68
+ throw new Error(`Invalid resource: ${codeData.params.resource}`);
69
+ }
65
70
  this.codes.delete(authorizationCode);
66
71
  const token = randomUUID();
67
72
  const tokenData = {
@@ -69,7 +74,8 @@ export class DemoInMemoryAuthProvider {
69
74
  clientId: client.client_id,
70
75
  scopes: codeData.params.scopes || [],
71
76
  expiresAt: Date.now() + 3600000, // 1 hour
72
- type: 'access'
77
+ resource: codeData.params.resource,
78
+ type: 'access',
73
79
  };
74
80
  this.tokens.set(token, tokenData);
75
81
  return {
@@ -79,7 +85,7 @@ export class DemoInMemoryAuthProvider {
79
85
  scope: (codeData.params.scopes || []).join(' '),
80
86
  };
81
87
  }
82
- async exchangeRefreshToken(_client, _refreshToken, _scopes) {
88
+ async exchangeRefreshToken(_client, _refreshToken, _scopes, _resource) {
83
89
  throw new Error('Not implemented for example demo');
84
90
  }
85
91
  async verifyAccessToken(token) {
@@ -92,16 +98,23 @@ export class DemoInMemoryAuthProvider {
92
98
  clientId: tokenData.clientId,
93
99
  scopes: tokenData.scopes,
94
100
  expiresAt: Math.floor(tokenData.expiresAt / 1000),
101
+ resource: tokenData.resource,
95
102
  };
96
103
  }
97
104
  }
98
- export const setupAuthServer = (authServerUrl) => {
105
+ export const setupAuthServer = ({ authServerUrl, mcpServerUrl, strictResource }) => {
99
106
  // Create separate auth server app
100
107
  // NOTE: This is a separate app on a separate port to illustrate
101
108
  // how to separate an OAuth Authorization Server from a Resource
102
109
  // server in the SDK. The SDK is not intended to be provide a standalone
103
110
  // authorization server.
104
- const provider = new DemoInMemoryAuthProvider();
111
+ const validateResource = strictResource ? (resource) => {
112
+ if (!resource)
113
+ return false;
114
+ const expectedResource = resourceUrlFromServerUrl(mcpServerUrl);
115
+ return resource.toString() === expectedResource.toString();
116
+ } : undefined;
117
+ const provider = new DemoInMemoryAuthProvider(validateResource);
105
118
  const authApp = express();
106
119
  authApp.use(express.json());
107
120
  // For introspection requests
@@ -126,7 +139,8 @@ export const setupAuthServer = (authServerUrl) => {
126
139
  active: true,
127
140
  client_id: tokenInfo.clientId,
128
141
  scope: tokenInfo.scopes.join(' '),
129
- exp: tokenInfo.expiresAt
142
+ exp: tokenInfo.expiresAt,
143
+ aud: tokenInfo.resource,
130
144
  });
131
145
  return;
132
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"demoInMemoryOAuthProvider.js","sourceRoot":"","sources":["../../../../src/examples/server/demoInMemoryOAuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,OAA8B,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/E,MAAM,OAAO,wBAAwB;IAArC;QACU,YAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IAUlE,CAAC;IARC,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,cAA0C;QAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3D,OAAO,cAAc,CAAC;IACxB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IAArC;QACE,iBAAY,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACtC,UAAK,GAAG,IAAI,GAAG,EAEiB,CAAC;QACjC,WAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAkG/C,CAAC;IAhGC,KAAK,CAAC,SAAS,CACb,MAAkC,EAClC,MAA2B,EAC3B,GAAa;QAEb,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAE1B,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;YACvC,IAAI;SACL,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;YACnB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,MAAkC,EAClC,iBAAyB;QAGzB,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,MAAkC,EAClC,iBAAyB;IACzB,wDAAwD;IACxD,oCAAoC;IACpC,aAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,qDAAqD,QAAQ,CAAC,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3H,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAE3B,MAAM,SAAS,GAAG;YAChB,KAAK;YACL,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;YACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,SAAS;YAC1C,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAElC,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAChD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAAmC,EACnC,aAAqB,EACrB,OAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;SAClD,CAAC;IACJ,CAAC;CACF;AAGD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAkB,EAAiB,EAAE;IACnE,kCAAkC;IAClC,gEAAgE;IAChE,gEAAgE;IAChE,wEAAwE;IACxE,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,6BAA6B;IAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAElC,sCAAsC;IACtC,gEAAgE;IAChE,qCAAqC;IACrC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QACxB,QAAQ;QACR,SAAS,EAAE,aAAa;QACxB,eAAe,EAAE,CAAC,WAAW,CAAC;KAC/B,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC;gBACP,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,SAAS,CAAC,QAAQ;gBAC7B,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjC,GAAG,EAAE,SAAS,CAAC,SAAS;aACzB,CAAC,CAAC;YACH,OAAM;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,cAAc;gBACrB,iBAAiB,EAAE,kBAAkB,KAAK,EAAE;aAC7C,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;IACrC,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,gDAAgD,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,iDAAiD;IACjD,MAAM,aAAa,GAAkB,mBAAmB,CAAC;QACvD,QAAQ;QACR,SAAS,EAAE,aAAa;QACxB,eAAe,EAAE,CAAC,WAAW,CAAC;KAC/B,CAAC,CAAA;IAEF,aAAa,CAAC,sBAAsB,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC;IAElF,OAAO,aAAa,CAAC;AACvB,CAAC,CAAA"}
1
+ {"version":3,"file":"demoInMemoryOAuthProvider.js","sourceRoot":"","sources":["../../../../src/examples/server/demoInMemoryOAuthProvider.ts"],"names":[],"mappings":"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"}