@vfarcic/dot-ai 1.4.0 → 1.6.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 (65) hide show
  1. package/dist/core/schema.d.ts.map +1 -1
  2. package/dist/core/schema.js +27 -0
  3. package/dist/core/user-prompts-loader.d.ts.map +1 -1
  4. package/dist/core/user-prompts-loader.js +95 -8
  5. package/dist/interfaces/error-response.d.ts +2 -1
  6. package/dist/interfaces/error-response.d.ts.map +1 -1
  7. package/dist/interfaces/error-response.js +6 -2
  8. package/dist/interfaces/mcp.d.ts +32 -12
  9. package/dist/interfaces/mcp.d.ts.map +1 -1
  10. package/dist/interfaces/mcp.js +328 -231
  11. package/dist/interfaces/oauth/dex-api.proto +304 -0
  12. package/dist/interfaces/oauth/dex-client.d.ts +41 -0
  13. package/dist/interfaces/oauth/dex-client.d.ts.map +1 -0
  14. package/dist/interfaces/oauth/dex-client.js +145 -0
  15. package/dist/interfaces/oauth/index.d.ts +6 -0
  16. package/dist/interfaces/oauth/index.d.ts.map +1 -0
  17. package/dist/interfaces/oauth/index.js +16 -0
  18. package/dist/interfaces/oauth/jwt.d.ts +37 -0
  19. package/dist/interfaces/oauth/jwt.d.ts.map +1 -0
  20. package/dist/interfaces/oauth/jwt.js +106 -0
  21. package/dist/interfaces/oauth/middleware.d.ts +27 -0
  22. package/dist/interfaces/oauth/middleware.d.ts.map +1 -0
  23. package/dist/interfaces/oauth/middleware.js +106 -0
  24. package/dist/interfaces/oauth/provider.d.ts +94 -0
  25. package/dist/interfaces/oauth/provider.d.ts.map +1 -0
  26. package/dist/interfaces/oauth/provider.js +373 -0
  27. package/dist/interfaces/oauth/types.d.ts +98 -0
  28. package/dist/interfaces/oauth/types.d.ts.map +1 -0
  29. package/dist/interfaces/oauth/types.js +8 -0
  30. package/dist/interfaces/oauth/user-management.d.ts +36 -0
  31. package/dist/interfaces/oauth/user-management.d.ts.map +1 -0
  32. package/dist/interfaces/oauth/user-management.js +156 -0
  33. package/dist/interfaces/request-context.d.ts +19 -0
  34. package/dist/interfaces/request-context.d.ts.map +1 -0
  35. package/dist/interfaces/request-context.js +20 -0
  36. package/dist/interfaces/rest-api.d.ts +12 -0
  37. package/dist/interfaces/rest-api.d.ts.map +1 -1
  38. package/dist/interfaces/rest-api.js +107 -0
  39. package/dist/interfaces/routes/index.d.ts.map +1 -1
  40. package/dist/interfaces/routes/index.js +38 -0
  41. package/dist/interfaces/schemas/common.d.ts +1 -0
  42. package/dist/interfaces/schemas/common.d.ts.map +1 -1
  43. package/dist/interfaces/schemas/common.js +1 -0
  44. package/dist/interfaces/schemas/index.d.ts +2 -1
  45. package/dist/interfaces/schemas/index.d.ts.map +1 -1
  46. package/dist/interfaces/schemas/index.js +18 -2
  47. package/dist/interfaces/schemas/prompts.d.ts +16 -0
  48. package/dist/interfaces/schemas/prompts.d.ts.map +1 -1
  49. package/dist/interfaces/schemas/prompts.js +9 -1
  50. package/dist/interfaces/schemas/users.d.ts +128 -0
  51. package/dist/interfaces/schemas/users.d.ts.map +1 -0
  52. package/dist/interfaces/schemas/users.js +64 -0
  53. package/dist/tools/prompts.d.ts +8 -1
  54. package/dist/tools/prompts.d.ts.map +1 -1
  55. package/dist/tools/prompts.js +15 -3
  56. package/dist/tools/remediate.d.ts +1 -1
  57. package/dist/tools/remediate.d.ts.map +1 -1
  58. package/dist/tools/remediate.js +38 -26
  59. package/dist/tools/version.d.ts.map +1 -1
  60. package/dist/tools/version.js +4 -0
  61. package/package.json +7 -2
  62. package/shared-prompts/prd-start.md +13 -0
  63. package/dist/interfaces/auth.d.ts +0 -26
  64. package/dist/interfaces/auth.d.ts.map +0 -1
  65. package/dist/interfaces/auth.js +0 -82
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
@@ -1035,6 +1035,33 @@ ${resourceDetails}`;
1035
1035
  !questions.open) {
1036
1036
  throw new Error('Invalid question structure from AI');
1037
1037
  }
1038
+ // Sanitize select/multiselect questions: ensure suggestedAnswer matches options
1039
+ const sanitizeQuestions = (qs) => {
1040
+ for (const q of qs) {
1041
+ if ((q.type === 'select' || q.type === 'multiselect') &&
1042
+ q.options &&
1043
+ q.options.length > 0 &&
1044
+ q.suggestedAnswer !== undefined) {
1045
+ if (q.type === 'select' && !q.options.includes(q.suggestedAnswer)) {
1046
+ q.suggestedAnswer = q.options[0];
1047
+ }
1048
+ else if (q.type === 'multiselect') {
1049
+ if (!Array.isArray(q.suggestedAnswer)) {
1050
+ q.suggestedAnswer = [q.options[0]];
1051
+ }
1052
+ else {
1053
+ q.suggestedAnswer = q.suggestedAnswer.filter(a => q.options.includes(a));
1054
+ if (q.suggestedAnswer.length === 0) {
1055
+ q.suggestedAnswer = [q.options[0]];
1056
+ }
1057
+ }
1058
+ }
1059
+ }
1060
+ }
1061
+ };
1062
+ sanitizeQuestions(questions.required);
1063
+ sanitizeQuestions(questions.basic);
1064
+ sanitizeQuestions(questions.advanced);
1038
1065
  // Inject packaging questions for capability-based solutions
1039
1066
  return injectPackagingQuestions(questions);
1040
1067
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user-prompts-loader.d.ts","sourceRoot":"","sources":["../../src/core/user-prompts-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAkB,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,UAAU;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAsB/D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAqB1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUzD;AA+JD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC,CA0DnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,UAAU,GAAG,IAAI,CAE5D"}
1
+ {"version":3,"file":"user-prompts-loader.d.ts","sourceRoot":"","sources":["../../src/core/user-prompts-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAA8B,MAAM,kBAAkB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,UAAU;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAsB/D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAqB1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUzD;AAwOD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,EAAE,CAAC,CA4FnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,UAAU,GAAG,IAAI,CAE5D"}
@@ -252,6 +252,60 @@ async function ensureRepository(config, logger, forceRefresh = false) {
252
252
  // Return path to prompts directory (with optional subPath)
253
253
  return config.subPath ? path.join(localPath, config.subPath) : localPath;
254
254
  }
255
+ const SKILL_FILE_MAX_BYTES = 5 * 1024 * 1024; // 5 MB per file (before base64 encoding)
256
+ const SKILL_FILENAME = 'SKILL.md';
257
+ /**
258
+ * Recursively collect all files in a skill folder (excluding SKILL.md at root),
259
+ * returning them as base64-encoded PromptFile objects.
260
+ */
261
+ function collectSkillFiles(dirPath, basePath, logger) {
262
+ const files = [];
263
+ const entries = fs.readdirSync(dirPath, { withFileTypes: true });
264
+ for (const entry of entries) {
265
+ if (entry.name.startsWith('.'))
266
+ continue;
267
+ const fullPath = path.join(dirPath, entry.name);
268
+ const relativePath = path.relative(basePath, fullPath);
269
+ if (entry.isDirectory()) {
270
+ files.push(...collectSkillFiles(fullPath, basePath, logger));
271
+ }
272
+ else if (entry.isFile()) {
273
+ if (entry.name === SKILL_FILENAME && dirPath === basePath)
274
+ continue;
275
+ const stat = fs.statSync(fullPath);
276
+ if (stat.size > SKILL_FILE_MAX_BYTES) {
277
+ logger.warn('Skill file exceeds size limit, skipping', {
278
+ file: relativePath,
279
+ size: stat.size,
280
+ limit: SKILL_FILE_MAX_BYTES,
281
+ });
282
+ continue;
283
+ }
284
+ const content = fs.readFileSync(fullPath);
285
+ files.push({
286
+ path: relativePath,
287
+ content: content.toString('base64'),
288
+ });
289
+ }
290
+ }
291
+ return files;
292
+ }
293
+ /**
294
+ * Load a skill folder (directory containing SKILL.md) as a Prompt with supporting files.
295
+ * Returns null if the directory does not contain SKILL.md.
296
+ */
297
+ function loadSkillFolder(dirPath, dirName, logger) {
298
+ const skillMdPath = path.join(dirPath, SKILL_FILENAME);
299
+ if (!fs.existsSync(skillMdPath)) {
300
+ return null;
301
+ }
302
+ const prompt = (0, prompts_1.loadPromptFile)(skillMdPath, 'user', dirName);
303
+ const supportingFiles = collectSkillFiles(dirPath, dirPath, logger);
304
+ if (supportingFiles.length > 0) {
305
+ prompt.files = supportingFiles;
306
+ }
307
+ return prompt;
308
+ }
255
309
  /**
256
310
  * Load user prompts from the configured git repository
257
311
  * Returns empty array if not configured or on error
@@ -271,24 +325,57 @@ async function loadUserPrompts(logger, forceRefresh = false) {
271
325
  });
272
326
  return [];
273
327
  }
274
- // Load all .md files from the prompts directory
275
- const files = fs.readdirSync(promptsDir);
276
- const promptFiles = files.filter(file => file.endsWith('.md'));
328
+ // Load flat .md files and skill folders from the prompts directory
329
+ const entries = fs.readdirSync(promptsDir, { withFileTypes: true });
277
330
  const prompts = [];
278
- for (const file of promptFiles) {
331
+ const loadedNames = new Set();
332
+ // 1. Load flat .md files (existing behavior)
333
+ const mdFiles = entries.filter(e => e.isFile() && e.name.endsWith('.md'));
334
+ for (const entry of mdFiles) {
279
335
  try {
280
- const filePath = path.join(promptsDir, file);
336
+ const filePath = path.join(promptsDir, entry.name);
281
337
  const prompt = (0, prompts_1.loadPromptFile)(filePath, 'user');
282
338
  prompts.push(prompt);
283
- logger.debug('Loaded user prompt', { name: prompt.name, file });
339
+ loadedNames.add(prompt.name);
340
+ logger.debug('Loaded user prompt', { name: prompt.name, file: entry.name });
284
341
  }
285
342
  catch (error) {
286
343
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
287
344
  logger.warn('Failed to load user prompt file, skipping', {
288
- file,
345
+ file: entry.name,
346
+ error: errorMessage,
347
+ });
348
+ }
349
+ }
350
+ // 2. Load skill folders (directories containing SKILL.md)
351
+ const directories = entries.filter(e => e.isDirectory() && !e.name.startsWith('.'));
352
+ for (const dir of directories) {
353
+ try {
354
+ const dirPath = path.join(promptsDir, dir.name);
355
+ const prompt = loadSkillFolder(dirPath, dir.name, logger);
356
+ if (prompt) {
357
+ if (loadedNames.has(prompt.name)) {
358
+ logger.warn('Skill folder name collision with existing prompt, skipping', {
359
+ name: prompt.name,
360
+ dir: dir.name,
361
+ });
362
+ continue;
363
+ }
364
+ prompts.push(prompt);
365
+ loadedNames.add(prompt.name);
366
+ logger.debug('Loaded user skill folder', {
367
+ name: prompt.name,
368
+ dir: dir.name,
369
+ filesCount: prompt.files?.length ?? 0,
370
+ });
371
+ }
372
+ }
373
+ catch (error) {
374
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
375
+ logger.warn('Failed to load skill folder, skipping', {
376
+ dir: dir.name,
289
377
  error: errorMessage,
290
378
  });
291
- // Continue with other prompts
292
379
  }
293
380
  }
294
381
  logger.info('Loaded user prompts from repository', {
@@ -29,6 +29,7 @@ export declare function formatErrorResponse(code: string, message: string, detai
29
29
  * @param code - Error code
30
30
  * @param message - Human-readable error message
31
31
  * @param details - Optional additional details
32
+ * @param headers - Optional additional HTTP headers (e.g., WWW-Authenticate)
32
33
  */
33
- export declare function sendErrorResponse(res: ServerResponse, statusCode: number, code: string, message: string, details?: unknown): void;
34
+ export declare function sendErrorResponse(res: ServerResponse, statusCode: number, code: string, message: string, details?: unknown, headers?: Record<string, string>): void;
34
35
  //# sourceMappingURL=error-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../../src/interfaces/error-response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAChB,iBAAiB,CASnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI,CAIN"}
1
+ {"version":3,"file":"error-response.d.ts","sourceRoot":"","sources":["../../src/interfaces/error-response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,GAChB,iBAAiB,CASnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,cAAc,EACnB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,IAAI,CAON"}
@@ -33,9 +33,13 @@ function formatErrorResponse(code, message, details) {
33
33
  * @param code - Error code
34
34
  * @param message - Human-readable error message
35
35
  * @param details - Optional additional details
36
+ * @param headers - Optional additional HTTP headers (e.g., WWW-Authenticate)
36
37
  */
37
- function sendErrorResponse(res, statusCode, code, message, details) {
38
+ function sendErrorResponse(res, statusCode, code, message, details, headers) {
38
39
  const body = formatErrorResponse(code, message, details);
39
- res.writeHead(statusCode, { 'Content-Type': 'application/json' });
40
+ res.writeHead(statusCode, {
41
+ 'Content-Type': 'application/json',
42
+ ...headers,
43
+ });
40
44
  res.end(JSON.stringify(body));
41
45
  }
@@ -14,42 +14,62 @@ export interface MCPServerConfig {
14
14
  author?: string;
15
15
  port?: number;
16
16
  host?: string;
17
- sessionMode?: 'stateful' | 'stateless';
18
17
  /** Optional PluginManager for plugin-based tools (PRD #343) */
19
18
  pluginManager?: PluginManager;
20
19
  }
21
20
  export declare class MCPServer {
22
- private server;
23
21
  private dotAI;
24
22
  private initialized;
25
23
  private logger;
26
24
  private requestIdCounter;
27
25
  private config;
28
26
  private httpServer?;
29
- private httpTransport?;
27
+ /** Per-session state: each MCP client gets its own McpServer + transport */
28
+ private sessions;
29
+ private sessionGcTimer?;
30
30
  private restRegistry;
31
31
  private restApiRouter;
32
- private mcpClientInfo;
33
32
  private pluginManager?;
33
+ private oauthApp?;
34
+ private oauthProvider?;
35
+ private issuerUrl?;
34
36
  constructor(dotAI: DotAI, config: MCPServerConfig);
35
37
  /**
36
- * Get the current MCP client info (available after client connects)
38
+ * Get the current MCP client info (available after client connects).
39
+ * Returns info from the most recently connected session.
37
40
  */
38
41
  getMcpClientInfo(): McpClientInfo | undefined;
39
42
  /**
40
- * Helper method to register a tool with both MCP server and REST registry
43
+ * Register a tool with the REST registry only (shared, one-time).
41
44
  */
42
- private registerTool;
45
+ private registerRestTool;
43
46
  /**
44
- * Register all tools with McpServer and REST registry
47
+ * Register a tool on a per-session McpServer instance.
45
48
  */
46
- private registerTools;
49
+ private registerMcpTool;
47
50
  /**
48
- * Register prompts capability with McpServer
51
+ * Tool definitions shared between REST (registered once) and MCP (registered per session).
49
52
  */
50
- private registerPrompts;
53
+ private getToolDefs;
54
+ /**
55
+ * Register tools with the shared REST registry (called once at startup).
56
+ */
57
+ private registerRestTools;
58
+ /**
59
+ * Create a new McpServer instance with all tools and prompts registered.
60
+ * Each MCP client session gets its own server instance (SDK limitation:
61
+ * Protocol only supports one transport per server).
62
+ */
63
+ private createSessionServer;
64
+ /**
65
+ * Register prompts capability on a given McpServer instance.
66
+ */
67
+ private registerPromptsOn;
51
68
  private configureHostProvider;
52
- private handleSamplingRequest;
69
+ /**
70
+ * Reap sessions that have been inactive for longer than SESSION_TTL_MS.
71
+ */
72
+ private reapStaleSessions;
53
73
  private generateRequestId;
54
74
  start(): Promise<void>;
55
75
  private startHttpTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAgEtC,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA8CvD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACvC,+DAA+D;IAC/D,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAkC;IACrD,OAAO,CAAC,aAAa,CAAC,CAAgC;IACtD,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe;IA6DjD;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAI7C;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB;;OAEG;IACH,OAAO,CAAC,aAAa;IA8LrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,qBAAqB;YAgBf,qBAAqB;IAyBnC,OAAO,CAAC,iBAAiB;IAInB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YASd,kBAAkB;YA+HlB,gBAAgB;IAexB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/interfaces/mcp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAmEtC,OAAO,EAAgB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAevD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAmBD,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAkC;IACrD,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,cAAc,CAAC,CAAiC;IACxD,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,CAA6B;IAC9C,OAAO,CAAC,aAAa,CAAC,CAAqB;IAC3C,OAAO,CAAC,SAAS,CAAC,CAAM;gBAEZ,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe;IA6BjD;;;OAGG;IACH,gBAAgB,IAAI,aAAa,GAAG,SAAS;IAQ7C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAwFnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;IAInB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAYd,kBAAkB;YA4MlB,gBAAgB;IAexB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC3B,OAAO,IAAI,OAAO;CAGnB"}