@nestjs-mcp/server 0.1.0-alpha.5 → 0.1.0-alpha.7

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 (185) hide show
  1. package/README.md +51 -1
  2. package/dist/controllers/sse/index.js.map +1 -0
  3. package/dist/{src/controllers → controllers}/sse/sse.controller.d.ts +3 -1
  4. package/dist/{src/controllers → controllers}/sse/sse.controller.js +8 -2
  5. package/dist/controllers/sse/sse.controller.js.map +1 -0
  6. package/dist/controllers/sse/sse.service.js.map +1 -0
  7. package/dist/controllers/streamable/index.js.map +1 -0
  8. package/dist/controllers/streamable/streamable.controller.js.map +1 -0
  9. package/dist/controllers/streamable/streamable.service.js.map +1 -0
  10. package/dist/decorators/capabilities.constants.js.map +1 -0
  11. package/dist/decorators/capabilities.decorators.js.map +1 -0
  12. package/dist/decorators/index.js.map +1 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/interceptors/message.interceptor.d.ts +10 -0
  15. package/dist/interceptors/message.interceptor.js +61 -0
  16. package/dist/interceptors/message.interceptor.js.map +1 -0
  17. package/dist/interfaces/capabilities.interface.js.map +1 -0
  18. package/dist/{src/interfaces/guards.interface.d.ts → interfaces/context.interface.d.ts} +2 -0
  19. package/dist/interfaces/context.interface.js +3 -0
  20. package/dist/interfaces/context.interface.js.map +1 -0
  21. package/dist/{src/interfaces → interfaces}/index.d.ts +1 -1
  22. package/dist/{src/interfaces → interfaces}/index.js +1 -1
  23. package/dist/interfaces/index.js.map +1 -0
  24. package/dist/interfaces/mcp-server-options.interface.js.map +1 -0
  25. package/dist/interfaces/message.types.d.ts +8 -0
  26. package/dist/{src/interfaces/guards.interface.js → interfaces/message.types.js} +1 -1
  27. package/dist/interfaces/message.types.js.map +1 -0
  28. package/dist/{src/mcp.module.js → mcp.module.js} +17 -1
  29. package/dist/mcp.module.js.map +1 -0
  30. package/dist/registry/discovery.service.js.map +1 -0
  31. package/dist/registry/index.js.map +1 -0
  32. package/dist/registry/logger.service.js.map +1 -0
  33. package/dist/{src/registry → registry}/registry.service.d.ts +3 -1
  34. package/dist/{src/registry → registry}/registry.service.js +8 -3
  35. package/dist/registry/registry.service.js.map +1 -0
  36. package/dist/services/message.service.d.ts +7 -0
  37. package/dist/{examples/tools/app.module.js → services/message.service.js} +15 -21
  38. package/dist/services/message.service.js.map +1 -0
  39. package/dist/tsconfig.build.tsbuildinfo +1 -1
  40. package/package.json +1 -1
  41. package/src/controllers/sse/sse.controller.ts +7 -1
  42. package/src/interceptors/message.interceptor.ts +70 -0
  43. package/src/interfaces/{guards.interface.ts → context.interface.ts} +5 -0
  44. package/src/interfaces/index.ts +1 -1
  45. package/src/interfaces/message.types.ts +13 -0
  46. package/src/mcp.module.ts +18 -2
  47. package/src/registry/registry.service.ts +5 -4
  48. package/src/services/message.service.ts +18 -0
  49. package/.github/codeql-config.yml +0 -4
  50. package/.github/copilot-instructions.md +0 -138
  51. package/.github/prompts/memory.prompt.md +0 -120
  52. package/.github/workflows/codeql-analysis.yml +0 -58
  53. package/.github/workflows/npm-publish.yml +0 -40
  54. package/.github/workflows/pr-branch-validation.yml +0 -78
  55. package/.github/workflows/run-tests.yml +0 -41
  56. package/.github/workflows/sync-main-to-develop.yml +0 -53
  57. package/.handbook/GIT_GUIDELINES.md +0 -250
  58. package/.handbook/PACKAGE_VERSIONING.md +0 -140
  59. package/.handbook/STACK.md +0 -75
  60. package/.husky/pre-commit +0 -8
  61. package/.vscode/extensions.json +0 -44
  62. package/.vscode/settings.json +0 -40
  63. package/CONTRIBUTING.md +0 -261
  64. package/dist/examples/async-import/app.module.d.ts +0 -2
  65. package/dist/examples/async-import/app.module.js +0 -33
  66. package/dist/examples/async-import/app.module.js.map +0 -1
  67. package/dist/examples/async-import/main.d.ts +0 -1
  68. package/dist/examples/async-import/main.js +0 -17
  69. package/dist/examples/async-import/main.js.map +0 -1
  70. package/dist/examples/guards/app.module.d.ts +0 -6
  71. package/dist/examples/guards/app.module.js +0 -48
  72. package/dist/examples/guards/app.module.js.map +0 -1
  73. package/dist/examples/guards/guards.resolver.d.ts +0 -13
  74. package/dist/examples/guards/guards.resolver.js +0 -61
  75. package/dist/examples/guards/guards.resolver.js.map +0 -1
  76. package/dist/examples/guards/main.d.ts +0 -1
  77. package/dist/examples/guards/main.js +0 -11
  78. package/dist/examples/guards/main.js.map +0 -1
  79. package/dist/examples/mixed/app.module.d.ts +0 -2
  80. package/dist/examples/mixed/app.module.js +0 -31
  81. package/dist/examples/mixed/app.module.js.map +0 -1
  82. package/dist/examples/mixed/main.d.ts +0 -1
  83. package/dist/examples/mixed/main.js +0 -11
  84. package/dist/examples/mixed/main.js.map +0 -1
  85. package/dist/examples/mixed/mixed.resolver.d.ts +0 -6
  86. package/dist/examples/mixed/mixed.resolver.js +0 -78
  87. package/dist/examples/mixed/mixed.resolver.js.map +0 -1
  88. package/dist/examples/prompts/app.module.d.ts +0 -2
  89. package/dist/examples/prompts/app.module.js +0 -31
  90. package/dist/examples/prompts/app.module.js.map +0 -1
  91. package/dist/examples/prompts/main.d.ts +0 -1
  92. package/dist/examples/prompts/main.js +0 -11
  93. package/dist/examples/prompts/main.js.map +0 -1
  94. package/dist/examples/prompts/prompts.resolver.d.ts +0 -14
  95. package/dist/examples/prompts/prompts.resolver.js +0 -165
  96. package/dist/examples/prompts/prompts.resolver.js.map +0 -1
  97. package/dist/examples/resources/app.module.d.ts +0 -2
  98. package/dist/examples/resources/app.module.js +0 -31
  99. package/dist/examples/resources/app.module.js.map +0 -1
  100. package/dist/examples/resources/main.d.ts +0 -1
  101. package/dist/examples/resources/main.js +0 -11
  102. package/dist/examples/resources/main.js.map +0 -1
  103. package/dist/examples/resources/resources.resolver.d.ts +0 -12
  104. package/dist/examples/resources/resources.resolver.js +0 -114
  105. package/dist/examples/resources/resources.resolver.js.map +0 -1
  106. package/dist/examples/tools/app.module.d.ts +0 -2
  107. package/dist/examples/tools/app.module.js.map +0 -1
  108. package/dist/examples/tools/main.d.ts +0 -1
  109. package/dist/examples/tools/main.js +0 -11
  110. package/dist/examples/tools/main.js.map +0 -1
  111. package/dist/examples/tools/tools.resolver.d.ts +0 -23
  112. package/dist/examples/tools/tools.resolver.js +0 -175
  113. package/dist/examples/tools/tools.resolver.js.map +0 -1
  114. package/dist/src/controllers/sse/index.js.map +0 -1
  115. package/dist/src/controllers/sse/sse.controller.js.map +0 -1
  116. package/dist/src/controllers/sse/sse.service.js.map +0 -1
  117. package/dist/src/controllers/streamable/index.js.map +0 -1
  118. package/dist/src/controllers/streamable/streamable.controller.js.map +0 -1
  119. package/dist/src/controllers/streamable/streamable.service.js.map +0 -1
  120. package/dist/src/decorators/capabilities.constants.js.map +0 -1
  121. package/dist/src/decorators/capabilities.decorators.js.map +0 -1
  122. package/dist/src/decorators/index.js.map +0 -1
  123. package/dist/src/index.js.map +0 -1
  124. package/dist/src/interfaces/capabilities.interface.js.map +0 -1
  125. package/dist/src/interfaces/guards.interface.js.map +0 -1
  126. package/dist/src/interfaces/index.js.map +0 -1
  127. package/dist/src/interfaces/mcp-server-options.interface.js.map +0 -1
  128. package/dist/src/mcp.module.js.map +0 -1
  129. package/dist/src/registry/discovery.service.js.map +0 -1
  130. package/dist/src/registry/index.js.map +0 -1
  131. package/dist/src/registry/logger.service.js.map +0 -1
  132. package/dist/src/registry/registry.service.js.map +0 -1
  133. package/examples/README.md +0 -56
  134. package/examples/async-import/app.module.ts +0 -22
  135. package/examples/async-import/main.ts +0 -15
  136. package/examples/guards/app.module.ts +0 -44
  137. package/examples/guards/guards.resolver.ts +0 -52
  138. package/examples/guards/main.ts +0 -11
  139. package/examples/mixed/app.module.ts +0 -20
  140. package/examples/mixed/main.ts +0 -11
  141. package/examples/mixed/mixed.resolver.ts +0 -56
  142. package/examples/prompts/app.module.ts +0 -20
  143. package/examples/prompts/main.ts +0 -11
  144. package/examples/prompts/prompts.resolver.ts +0 -184
  145. package/examples/resources/app.module.ts +0 -19
  146. package/examples/resources/main.ts +0 -11
  147. package/examples/resources/resources.resolver.ts +0 -123
  148. package/examples/tools/app.module.ts +0 -20
  149. package/examples/tools/main.ts +0 -11
  150. package/examples/tools/tools.resolver.ts +0 -205
  151. package/nest-cli.json +0 -8
  152. package/scripts/npm-publish.js +0 -184
  153. package/test/base.e2e-spec.ts +0 -74
  154. package/test/jest-e2e.json +0 -9
  155. package/tsconfig.build.json +0 -4
  156. package/tsconfig.json +0 -23
  157. /package/dist/{src/controllers → controllers}/sse/index.d.ts +0 -0
  158. /package/dist/{src/controllers → controllers}/sse/index.js +0 -0
  159. /package/dist/{src/controllers → controllers}/sse/sse.service.d.ts +0 -0
  160. /package/dist/{src/controllers → controllers}/sse/sse.service.js +0 -0
  161. /package/dist/{src/controllers → controllers}/streamable/index.d.ts +0 -0
  162. /package/dist/{src/controllers → controllers}/streamable/index.js +0 -0
  163. /package/dist/{src/controllers → controllers}/streamable/streamable.controller.d.ts +0 -0
  164. /package/dist/{src/controllers → controllers}/streamable/streamable.controller.js +0 -0
  165. /package/dist/{src/controllers → controllers}/streamable/streamable.service.d.ts +0 -0
  166. /package/dist/{src/controllers → controllers}/streamable/streamable.service.js +0 -0
  167. /package/dist/{src/decorators → decorators}/capabilities.constants.d.ts +0 -0
  168. /package/dist/{src/decorators → decorators}/capabilities.constants.js +0 -0
  169. /package/dist/{src/decorators → decorators}/capabilities.decorators.d.ts +0 -0
  170. /package/dist/{src/decorators → decorators}/capabilities.decorators.js +0 -0
  171. /package/dist/{src/decorators → decorators}/index.d.ts +0 -0
  172. /package/dist/{src/decorators → decorators}/index.js +0 -0
  173. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  174. /package/dist/{src/index.js → index.js} +0 -0
  175. /package/dist/{src/interfaces → interfaces}/capabilities.interface.d.ts +0 -0
  176. /package/dist/{src/interfaces → interfaces}/capabilities.interface.js +0 -0
  177. /package/dist/{src/interfaces → interfaces}/mcp-server-options.interface.d.ts +0 -0
  178. /package/dist/{src/interfaces → interfaces}/mcp-server-options.interface.js +0 -0
  179. /package/dist/{src/mcp.module.d.ts → mcp.module.d.ts} +0 -0
  180. /package/dist/{src/registry → registry}/discovery.service.d.ts +0 -0
  181. /package/dist/{src/registry → registry}/discovery.service.js +0 -0
  182. /package/dist/{src/registry → registry}/index.d.ts +0 -0
  183. /package/dist/{src/registry → registry}/index.js +0 -0
  184. /package/dist/{src/registry → registry}/logger.service.d.ts +0 -0
  185. /package/dist/{src/registry → registry}/logger.service.js +0 -0
package/README.md CHANGED
@@ -126,7 +126,7 @@ A Tool is an action or function that can be invoked by LLMs. Tools may have side
126
126
 
127
127
  ### Prompt
128
128
 
129
- A Prompt defines a conversational flow, template, or interaction pattern for LLMs. Prompts help guide the models behavior in specific scenarios.
129
+ A Prompt defines a conversational flow, template, or interaction pattern for LLMs. Prompts help guide the model's behavior in specific scenarios.
130
130
 
131
131
  - Learn more: [MCP Prompts documentation](https://modelcontextprotocol.io/docs/concepts/prompts)
132
132
 
@@ -447,6 +447,56 @@ export class MyGuard implements CanActivate {
447
447
  }
448
448
  ```
449
449
 
450
+ ### Using McpContext in Guards
451
+
452
+ When implementing guards for MCP resolvers and methods, you can use the `McpExecutionContext` interface to access MCP-specific context information. This interface extends the standard NestJS `ExecutionContext` and provides additional properties specific to MCP operations.
453
+
454
+ ```ts
455
+ import { CanActivate } from '@nestjs/common';
456
+ import { McpExecutionContext } from '@nestjs-mcp/server';
457
+ import { Request, Response } from 'express';
458
+
459
+ @Injectable()
460
+ export class McpAuthGuard implements CanActivate {
461
+ canActivate(context: McpExecutionContext): boolean {
462
+ // Access MCP-specific context
463
+ const { args, message } = context;
464
+
465
+ // Access the current message from the request
466
+ if (message) {
467
+ const { req, res } = message;
468
+
469
+ // Access Express request and response objects
470
+ const request = req as Request;
471
+ const response = res as Response;
472
+
473
+ // Example: Check authorization header
474
+ const authHeader = request.headers.authorization;
475
+
476
+ // Implement your authentication logic here
477
+ // For example, check if the authorization header is valid
478
+ }
479
+
480
+ // Access the arguments passed to the MCP method
481
+ const methodArgs = args;
482
+
483
+ return true; // or false to deny access
484
+ }
485
+ }
486
+ ```
487
+
488
+ **Key properties of McpExecutionContext:**
489
+
490
+ - `args`: The arguments passed to the MCP method being guarded
491
+ - `message`: The current message from the request, containing:
492
+ - `req`: The Express Request object
493
+ - `res`: The Express Response object
494
+ - `getType()`: Returns the type of execution context (always 'mcp' for MCP operations)
495
+ - `getClass()`: Returns the class of the resolver
496
+ - `getArgs()`: Returns the arguments passed to the method
497
+
498
+ This context allows you to implement guards that are aware of the MCP protocol and can make decisions based on MCP-specific information, such as checking request headers, query parameters, or other request data.
499
+
450
500
  ---
451
501
 
452
502
  ## Inspector Playground
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/sse/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,gDAA8B"}
@@ -1,8 +1,10 @@
1
1
  import { Request, Response } from 'express';
2
+ import { McpLoggerService } from '../../registry/logger.service';
2
3
  import { SseService } from './sse.service';
3
4
  export declare class SseController {
5
+ private readonly logger;
4
6
  private readonly service;
5
- constructor(service: SseService);
7
+ constructor(logger: McpLoggerService, service: SseService);
6
8
  handleSse(req: Request, res: Response): Promise<void>;
7
9
  handleMessages(req: Request, res: Response): Promise<void>;
8
10
  }
@@ -14,16 +14,21 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SseController = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const logger_service_1 = require("../../registry/logger.service");
17
18
  const sse_service_1 = require("./sse.service");
18
19
  let SseController = class SseController {
20
+ logger;
19
21
  service;
20
- constructor(service) {
22
+ constructor(logger, service) {
23
+ this.logger = logger;
21
24
  this.service = service;
22
25
  }
23
26
  async handleSse(req, res) {
27
+ this.logger.log('[SSE] Connection established');
24
28
  await this.service.handleSse(req, res);
25
29
  }
26
30
  async handleMessages(req, res) {
31
+ this.logger.log('[SSE] Message received');
27
32
  await this.service.handleMessage(req, res);
28
33
  }
29
34
  };
@@ -46,6 +51,7 @@ __decorate([
46
51
  ], SseController.prototype, "handleMessages", null);
47
52
  exports.SseController = SseController = __decorate([
48
53
  (0, common_1.Controller)(),
49
- __metadata("design:paramtypes", [sse_service_1.SseService])
54
+ __metadata("design:paramtypes", [logger_service_1.McpLoggerService,
55
+ sse_service_1.SseService])
50
56
  ], SseController);
51
57
  //# sourceMappingURL=sse.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.controller.js","sourceRoot":"","sources":["../../../src/controllers/sse/sse.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAiE;AAGjE,kEAAiE;AACjE,+CAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL;IACA;IAFnB,YACmB,MAAwB,EACxB,OAAmB;QADnB,WAAM,GAAN,MAAM,CAAkB;QACxB,YAAO,GAAP,OAAO,CAAY;IACnC,CAAC;IAGE,AAAN,KAAK,CAAC,SAAS,CAAQ,GAAY,EAAS,GAAa;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAAQ,GAAY,EAAS,GAAa;QAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AAjBY,sCAAa;AAOlB;IADL,IAAA,YAAG,EAAC,KAAK,CAAC;IACM,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;8CAG1C;AAGK;IADL,IAAA,aAAI,EAAC,UAAU,CAAC;IACK,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;mDAG/C;wBAhBU,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGgB,iCAAgB;QACf,wBAAU;GAH3B,aAAa,CAiBzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.service.js","sourceRoot":"","sources":["../../../src/controllers/sse/sse.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/streamable/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,uDAAqC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamable.controller.js","sourceRoot":"","sources":["../../../src/controllers/streamable/streamable.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyE;AAGzE,6DAAyD;AAGlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACF;IAA7B,YAA6B,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAGrD,AAAN,KAAK,CAAC,aAAa,CAAQ,GAAY,EAAS,GAAa;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAQ,GAAY,EAAS,GAAa;QAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAGK,AAAN,KAAK,CAAC,eAAe,CAAQ,GAAY,EAAS,GAAa;QAC7D,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AAjBY,oDAAoB;AAIzB;IADL,IAAA,aAAI,EAAC,KAAK,CAAC;IACS,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDAE9C;AAGK;IADL,IAAA,YAAG,EAAC,KAAK,CAAC;IACS,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;wDAE7C;AAGK;IADL,IAAA,eAAM,EAAC,KAAK,CAAC;IACS,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;2DAEhD;+BAhBU,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAE2B,sCAAiB;GAD5C,oBAAoB,CAiBhC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamable.service.js","sourceRoot":"","sources":["../../../src/controllers/streamable/streamable.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.constants.js","sourceRoot":"","sources":["../../src/decorators/capabilities.constants.ts"],"names":[],"mappings":";;;AACa,QAAA,MAAM,GAAG,KAAK,CAAC;AAGf,QAAA,QAAQ,GAAG,GAAG,cAAM,OAAO,CAAC;AAC5B,QAAA,UAAU,GAAG,GAAG,cAAM,SAAS,CAAC;AAChC,QAAA,YAAY,GAAG,GAAG,cAAM,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.decorators.js","sourceRoot":"","sources":["../../src/decorators/capabilities.decorators.ts"],"names":[],"mappings":";;;AA4BA,4BAKC;AAYD,8BAEC;AAkBD,oBAaC;AAqBD,wBAaC;AAyBD,4BAYC;AArJD,2CAAyD;AAOzD,qEAA8E;AAKjE,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAKlC,QAAA,UAAU,GAAG,gBAAgB,CAAC;AAW3C,SAAgB,QAAQ,CAAC,SAAkB;IACzC,OAAO,UAAU,MAAW;QAC1B,IAAA,mBAAU,GAAE,CAAC,MAAM,CAAC,CAAC;QACrB,IAAA,oBAAW,EAAC,oBAAY,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC;AAYD,SAAgB,SAAS,CAAC,GAAG,MAAa;IACxC,OAAO,IAAA,oBAAW,EAAC,kBAAU,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAkBD,SAAgB,IAAI,CAAC,OAAoB;IACvC,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,IAAA,oBAAW,EAAC,iCAAQ,EAAE;YACpB,GAAG,OAAO;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEpC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAqBD,SAAgB,MAAM,CAAC,OAAsB;IAC3C,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,IAAA,oBAAW,EAAC,mCAAU,EAAE;YACtB,GAAG,OAAO;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAEpC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAyBD,SAAgB,QAAQ,CAAC,OAAwB;IAC/C,OAAO,UACL,MAAc,EACd,WAAmB,EACnB,UAA8B;QAE9B,IAAA,oBAAW,EAAC,qCAAY,EAAE;YACxB,GAAG,OAAO;YACV,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,4DAA0C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAG7B,+CAA6B;AAG7B,6CAA2B;AAG3B,+CAA6B"}
@@ -0,0 +1,10 @@
1
+ import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ import { McpLoggerService } from '../registry/logger.service';
4
+ import { MessageService } from '../services/message.service';
5
+ export declare class RequestContextInterceptor implements NestInterceptor {
6
+ private readonly logger;
7
+ private readonly messageService;
8
+ constructor(logger: McpLoggerService, messageService: MessageService);
9
+ intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
10
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RequestContextInterceptor = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const logger_service_1 = require("../registry/logger.service");
15
+ const message_service_1 = require("../services/message.service");
16
+ let RequestContextInterceptor = class RequestContextInterceptor {
17
+ logger;
18
+ messageService;
19
+ constructor(logger, messageService) {
20
+ this.logger = logger;
21
+ this.messageService = messageService;
22
+ }
23
+ intercept(context, next) {
24
+ const request = context.switchToHttp().getRequest();
25
+ const response = context.switchToHttp().getResponse();
26
+ let message;
27
+ this.logger.log(`Request path: ${request.path}`, '[RequestContextInterceptor]');
28
+ switch (request.path) {
29
+ case '/sse':
30
+ this.logger.log('SSE connection detected', '[RequestContextInterceptor]');
31
+ message = {
32
+ req: request,
33
+ res: response,
34
+ };
35
+ this.messageService.set(message);
36
+ break;
37
+ case '/messages':
38
+ this.logger.log('SSE message received', '[RequestContextInterceptor]');
39
+ message = {
40
+ req: request,
41
+ res: response,
42
+ };
43
+ this.messageService.set(message);
44
+ break;
45
+ case '/mcp':
46
+ this.logger.log('MCP request detected', '[RequestContextInterceptor]');
47
+ break;
48
+ default:
49
+ this.logger.log(`Regular request: ${request.method} ${request.url}`, '[RequestContextInterceptor]');
50
+ break;
51
+ }
52
+ return next.handle();
53
+ }
54
+ };
55
+ exports.RequestContextInterceptor = RequestContextInterceptor;
56
+ exports.RequestContextInterceptor = RequestContextInterceptor = __decorate([
57
+ (0, common_1.Injectable)(),
58
+ __metadata("design:paramtypes", [logger_service_1.McpLoggerService,
59
+ message_service_1.MessageService])
60
+ ], RequestContextInterceptor);
61
+ //# sourceMappingURL=message.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.interceptor.js","sourceRoot":"","sources":["../../src/interceptors/message.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AAKxB,+DAA8D;AAC9D,iEAA6D;AAEtD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAEjB;IACA;IAFnB,YACmB,MAAwB,EACxB,cAA8B;QAD9B,WAAM,GAAN,MAAM,CAAkB;QACxB,mBAAc,GAAd,cAAc,CAAgB;IAC9C,CAAC;IAEJ,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAW,CAAC;QAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,WAAW,EAAY,CAAC;QAChE,IAAI,OAA+B,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,iBAAiB,OAAO,CAAC,IAAI,EAAE,EAC/B,6BAA6B,CAC9B,CAAC;QAEF,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,yBAAyB,EACzB,6BAA6B,CAC9B,CAAC;gBAEF,OAAO,GAAG;oBACR,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,QAAQ;iBACd,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEjC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;gBAEvE,OAAO,GAAG;oBACR,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,QAAQ;iBACd,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEjC,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;gBAEvE,MAAM;YACR;gBACE,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,oBAAoB,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,EACnD,6BAA6B,CAC9B,CAAC;gBACF,MAAM;QACV,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF,CAAA;AAxDY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAGgB,iCAAgB;QACR,gCAAc;GAHtC,yBAAyB,CAwDrC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.interface.js","sourceRoot":"","sources":["../../src/interfaces/capabilities.interface.ts"],"names":[],"mappings":""}
@@ -1,4 +1,6 @@
1
1
  import { ExecutionContext } from '@nestjs/common';
2
+ import { McpMessage } from './message.types';
2
3
  export interface McpExecutionContext extends ExecutionContext {
3
4
  args: unknown[];
5
+ message: McpMessage | undefined;
4
6
  }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=context.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.interface.js","sourceRoot":"","sources":["../../src/interfaces/context.interface.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- export * from './guards.interface';
1
+ export * from './context.interface';
2
2
  export * from './mcp-server-options.interface';
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./guards.interface"), exports);
17
+ __exportStar(require("./context.interface"), exports);
18
18
  __exportStar(require("./mcp-server-options.interface"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iEAA+C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server-options.interface.js","sourceRoot":"","sources":["../../src/interfaces/mcp-server-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { Request as ExpressRequest, Response as ExpressResponse } from 'express';
2
+ export type Request = ExpressRequest & {
3
+ auth?: any;
4
+ };
5
+ export type McpMessage = {
6
+ req: Request;
7
+ res: ExpressResponse;
8
+ };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=guards.interface.js.map
3
+ //# sourceMappingURL=message.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.types.js","sourceRoot":"","sources":["../../src/interfaces/message.types.ts"],"names":[],"mappings":""}
@@ -10,11 +10,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.McpModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const core_1 = require("@nestjs/core");
13
+ const async_hooks_1 = require("async_hooks");
13
14
  const sse_1 = require("./controllers/sse");
14
15
  const streamable_1 = require("./controllers/streamable");
16
+ const message_interceptor_1 = require("./interceptors/message.interceptor");
15
17
  const discovery_service_1 = require("./registry/discovery.service");
16
18
  const logger_service_1 = require("./registry/logger.service");
17
19
  const registry_service_1 = require("./registry/registry.service");
20
+ const message_service_1 = require("./services/message.service");
18
21
  let McpModule = McpModule_1 = class McpModule {
19
22
  static getActiveTransportControllersAndProviders(transports) {
20
23
  const controllers = new Set();
@@ -170,7 +173,20 @@ exports.McpModule = McpModule;
170
173
  exports.McpModule = McpModule = McpModule_1 = __decorate([
171
174
  (0, common_1.Module)({
172
175
  imports: [core_1.DiscoveryModule],
173
- providers: [registry_service_1.RegistryService, discovery_service_1.DiscoveryService, logger_service_1.McpLoggerService],
176
+ providers: [
177
+ registry_service_1.RegistryService,
178
+ discovery_service_1.DiscoveryService,
179
+ {
180
+ provide: async_hooks_1.AsyncLocalStorage,
181
+ useValue: new async_hooks_1.AsyncLocalStorage(),
182
+ },
183
+ logger_service_1.McpLoggerService,
184
+ message_service_1.MessageService,
185
+ {
186
+ provide: core_1.APP_INTERCEPTOR,
187
+ useClass: message_interceptor_1.RequestContextInterceptor,
188
+ },
189
+ ],
174
190
  })
175
191
  ], McpModule);
176
192
  //# sourceMappingURL=mcp.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.module.js","sourceRoot":"","sources":["../src/mcp.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.service.js","sourceRoot":"","sources":["../../src/registry/discovery.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,uCAIsB;AAaf,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAER;IACA;IACA;IAHnB,YACmB,gBAAsC,EACtC,eAAgC,EAChC,SAAoB;QAFpB,qBAAgB,GAAhB,gBAAgB,CAAsB;QACtC,oBAAe,GAAf,eAAe,CAAiB;QAChC,cAAS,GAAT,SAAS,CAAW;IACpC,CAAC;IAKG,yBAAyB,CAC9B,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QACvD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAG3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,kCAAkC,CACrD,QAAQ,EACR,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAKM,kCAAkC,CACvC,QAAyB,EACzB,WAAmB;QAEnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA4B,CAAC;QACvD,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAGvD,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GACf,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YAErC,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAI,WAAW,EAAE,cAAc,CAAC,CAAC;YAEpE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAE7C,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,IAAe,EAAW,EAAE;oBAC/C,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC,CAA4B,CAAC;gBAG9B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;oBACrC,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC;oBACV,MAAM,EAAE,UAAU;oBAClB,QAAQ,EAAE,QAAa;oBACvB,OAAO;oBACP,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAjGY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAG0B,uBAAoB;QACrB,sBAAe;QACrB,gBAAS;GAJ5B,gBAAgB,CAiG5B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,qDAAmC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../src/registry/logger.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { MessageService } from '../services/message.service';
2
3
  import { DiscoveryService } from './discovery.service';
3
4
  import { McpLoggerService } from './logger.service';
4
5
  export declare class RegistryService {
5
6
  private readonly discoveryService;
6
7
  private readonly logger;
7
- constructor(discoveryService: DiscoveryService, logger: McpLoggerService);
8
+ private readonly messageService;
9
+ constructor(discoveryService: DiscoveryService, logger: McpLoggerService, messageService: MessageService);
8
10
  registerAll(server: McpServer): Promise<void>;
9
11
  private runGuards;
10
12
  private wrappedHandler;
@@ -12,17 +12,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RegistryService = void 0;
13
13
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
14
14
  const common_1 = require("@nestjs/common");
15
+ const decorators_1 = require("../decorators");
15
16
  const capabilities_constants_1 = require("../decorators/capabilities.constants");
16
17
  const capabilities_decorators_1 = require("../decorators/capabilities.decorators");
17
- const decorators_1 = require("../decorators");
18
+ const message_service_1 = require("../services/message.service");
18
19
  const discovery_service_1 = require("./discovery.service");
19
20
  const logger_service_1 = require("./logger.service");
20
21
  let RegistryService = class RegistryService {
21
22
  discoveryService;
22
23
  logger;
23
- constructor(discoveryService, logger) {
24
+ messageService;
25
+ constructor(discoveryService, logger, messageService) {
24
26
  this.discoveryService = discoveryService;
25
27
  this.logger = logger;
28
+ this.messageService = messageService;
26
29
  }
27
30
  async registerAll(server) {
28
31
  this.logger.log('Starting registration of all MCP capabilities...', 'registry');
@@ -45,6 +48,7 @@ let RegistryService = class RegistryService {
45
48
  return Promise.resolve();
46
49
  const context = {
47
50
  args,
51
+ message: this.messageService.get(),
48
52
  getType: () => 'mcp',
49
53
  getClass: () => instance.constructor,
50
54
  getArgs: () => args,
@@ -160,6 +164,7 @@ exports.RegistryService = RegistryService;
160
164
  exports.RegistryService = RegistryService = __decorate([
161
165
  (0, common_1.Injectable)(),
162
166
  __metadata("design:paramtypes", [discovery_service_1.DiscoveryService,
163
- logger_service_1.McpLoggerService])
167
+ logger_service_1.McpLoggerService,
168
+ message_service_1.MessageService])
164
169
  ], RegistryService);
165
170
  //# sourceMappingURL=registry.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.service.js","sourceRoot":"","sources":["../../src/registry/registry.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAGiD;AAEjD,2CAA4C;AAE5C,8CAA6C;AAC7C,iFAI8C;AAC9C,mFAAmE;AAOnE,iEAA6D;AAC7D,2DAAuD;AACvD,qDAAoD;AAE7C,IAAM,eAAe,GAArB,MAAM,eAAe;IAEP;IACA;IACA;IAHnB,YACmB,gBAAkC,EAClC,MAAwB,EACxB,cAA8B;QAF9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAkB;QACxB,mBAAc,GAAd,cAAc,CAAgB;IAC9C,CAAC;IAEJ,KAAK,CAAC,WAAW,CAAC,MAAiB;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,kDAAkD,EAClD,UAAU,CACX,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC;IAWO,SAAS,CACf,QAAgB,EAChB,UAAkB,EAClB,IAAe;QAGf,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC9C,MAAM,WAAW,GACd,OAAO,CAAC,WAAW,CAAC,oCAAU,EAAE,gBAAgB,CAG7C,IAAI,EAAE,CAAC;QAGb,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAG/C,CAAC;QACF,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAuB,CAAC;QAE9D,MAAM,YAAY,GAChB,CAAC,SAAS;YACP,OAAO,CAAC,WAAW,CAAC,oCAAU,EAAE,SAAS,CAGtC,CAAC;YACP,EAAE,CAAC;QAGL,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC;QAEpD,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAEhD,MAAM,OAAO,GAAwB;YACnC,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;YAIlC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;YACpB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAwB;YACjD,OAAO,EAAE,GAAyB,EAAE,CAAC,IAAS;SAC/C,CAAC;QAEF,OAAO,CAAC,KAAK,IAAI,EAAE;YACjB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,aAAa,GACjB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAEzD,IAAI,CAAC,OAAO;oBACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,QAAgB,EAChB,OAAoC,EACpC,IAAe;QAEf,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,UAAU,QAAQ,CAAC,WAAW,CAAC,IAAI,yEAAyE,CAC7G,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;QAEhC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAEjD,OAAO,OAAO,CAAC,GAAI,IAAc,CAAC,CAAC;IACrC,CAAC;IAEO,iBAAiB,CAAC,MAAiB;QACzC,MAAM,eAAe,GACnB,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAC7C,qCAAY,CACb,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;YACrC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAE/C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,aAAa,QAAQ,EAAE,IAAI,IAAI,SAAS,UAAU,EAClD,WAAW,CACZ,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC;gBACH,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;oBAC3B,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;wBAC3B,MAAM,CAAC,QAAQ,CACb,QAAQ,CAAC,IAAI,EACb,IAAI,yBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC5D,QAAQ,CAAC,QAAQ,EACjB,cAAc,CACf,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,QAAQ,CACb,QAAQ,CAAC,IAAI,EACb,IAAI,yBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC5D,cAAc,CACf,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;oBAC7B,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;wBAC3B,MAAM,CAAC,QAAQ,CACb,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,GAAG,EACZ,QAAQ,CAAC,QAAQ,EACjB,cAAc,CACf,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8BAA8B,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,EACvD,SAAS,EACT,WAAW,CACZ,CAAC;gBACF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gBAAiB,KAAe,CAAC,KAAK,EAAE,EACxC,SAAS,EACT,WAAW,CACZ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAiB;QACvC,MAAM,aAAa,GACjB,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAC7C,mCAAU,CACX,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAE/C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,WAAW,QAAQ,EAAE,IAAI,IAAI,SAAS,UAAU,EAChD,SAAS,CACV,CAAC;YAEF,MAAM,cAAc,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC;gBACH,IAAI,aAAa,IAAI,QAAQ,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;oBAC1D,MAAM,CAAC,MAAM,CACX,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,UAAU,EACnB,cAAc,CACf,CAAC;gBACJ,CAAC;qBAAM,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;oBACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACpE,CAAC;qBAAM,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4BAA4B,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,EACrD,SAAS,EACT,SAAS,CACV,CAAC;gBACF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gBAAiB,KAAe,CAAC,KAAK,EAAE,EACxC,SAAS,EACT,SAAS,CACV,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAiB;QACrC,MAAM,WAAW,GACf,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAc,iCAAQ,CAAC,CAAC;QAEzE,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAE/C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,IAAI,IAAI,SAAS,UAAU,EAAE,OAAO,CAAC,CAAC;YAEzE,MAAM,cAAc,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE,CAC5C,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC;gBACH,IAAI,aAAa,IAAI,QAAQ,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;oBAC3D,MAAM,CAAC,IAAI,CACT,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,WAAW,EACpB,cAAc,CACf,CAAC;gBACJ,CAAC;qBAAM,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;oBACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0BAA0B,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,EACnD,SAAS,EACT,OAAO,CACR,CAAC;gBACF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gBAAiB,KAAe,CAAC,KAAK,EAAE,EACxC,SAAS,EACT,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAjQY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAG0B,oCAAgB;QAC1B,iCAAgB;QACR,gCAAc;GAJtC,eAAe,CAiQ3B"}
@@ -0,0 +1,7 @@
1
+ import { AsyncLocalStorage } from 'async_hooks';
2
+ import { McpMessage } from '../interfaces/message.types';
3
+ export declare const requestContext: AsyncLocalStorage<McpMessage>;
4
+ export declare class MessageService {
5
+ set(context: McpMessage): void;
6
+ get(): McpMessage | undefined;
7
+ }
@@ -6,26 +6,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AppModule = void 0;
9
+ exports.MessageService = exports.requestContext = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
- const mcp_module_1 = require("../../src/mcp.module");
12
- const tools_resolver_1 = require("./tools.resolver");
13
- let AppModule = class AppModule {
11
+ const async_hooks_1 = require("async_hooks");
12
+ exports.requestContext = new async_hooks_1.AsyncLocalStorage();
13
+ let MessageService = class MessageService {
14
+ set(context) {
15
+ exports.requestContext.enterWith(context);
16
+ }
17
+ get() {
18
+ return exports.requestContext.getStore();
19
+ }
14
20
  };
15
- exports.AppModule = AppModule;
16
- exports.AppModule = AppModule = __decorate([
17
- (0, common_1.Module)({
18
- imports: [
19
- mcp_module_1.McpModule.forRoot({
20
- name: 'tools',
21
- version: '1.0.0',
22
- logging: {
23
- enabled: true,
24
- level: 'verbose',
25
- },
26
- }),
27
- ],
28
- providers: [tools_resolver_1.ToolsResolver],
29
- })
30
- ], AppModule);
31
- //# sourceMappingURL=app.module.js.map
21
+ exports.MessageService = MessageService;
22
+ exports.MessageService = MessageService = __decorate([
23
+ (0, common_1.Injectable)()
24
+ ], MessageService);
25
+ //# sourceMappingURL=message.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.service.js","sourceRoot":"","sources":["../../src/services/message.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAE5C,6CAAgD;AAInC,QAAA,cAAc,GAAG,IAAI,+BAAiB,EAAc,CAAC;AAG3D,IAAM,cAAc,GAApB,MAAM,cAAc;IAClB,GAAG,CAAC,OAAmB;QAC5B,sBAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,GAAG;QACR,OAAO,sBAAc,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AARY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAQ1B"}