@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.
- package/README.md +51 -1
- package/dist/controllers/sse/index.js.map +1 -0
- package/dist/{src/controllers → controllers}/sse/sse.controller.d.ts +3 -1
- package/dist/{src/controllers → controllers}/sse/sse.controller.js +8 -2
- package/dist/controllers/sse/sse.controller.js.map +1 -0
- package/dist/controllers/sse/sse.service.js.map +1 -0
- package/dist/controllers/streamable/index.js.map +1 -0
- package/dist/controllers/streamable/streamable.controller.js.map +1 -0
- package/dist/controllers/streamable/streamable.service.js.map +1 -0
- package/dist/decorators/capabilities.constants.js.map +1 -0
- package/dist/decorators/capabilities.decorators.js.map +1 -0
- package/dist/decorators/index.js.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/interceptors/message.interceptor.d.ts +10 -0
- package/dist/interceptors/message.interceptor.js +61 -0
- package/dist/interceptors/message.interceptor.js.map +1 -0
- package/dist/interfaces/capabilities.interface.js.map +1 -0
- package/dist/{src/interfaces/guards.interface.d.ts → interfaces/context.interface.d.ts} +2 -0
- package/dist/interfaces/context.interface.js +3 -0
- package/dist/interfaces/context.interface.js.map +1 -0
- package/dist/{src/interfaces → interfaces}/index.d.ts +1 -1
- package/dist/{src/interfaces → interfaces}/index.js +1 -1
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/mcp-server-options.interface.js.map +1 -0
- package/dist/interfaces/message.types.d.ts +8 -0
- package/dist/{src/interfaces/guards.interface.js → interfaces/message.types.js} +1 -1
- package/dist/interfaces/message.types.js.map +1 -0
- package/dist/{src/mcp.module.js → mcp.module.js} +17 -1
- package/dist/mcp.module.js.map +1 -0
- package/dist/registry/discovery.service.js.map +1 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/logger.service.js.map +1 -0
- package/dist/{src/registry → registry}/registry.service.d.ts +3 -1
- package/dist/{src/registry → registry}/registry.service.js +8 -3
- package/dist/registry/registry.service.js.map +1 -0
- package/dist/services/message.service.d.ts +7 -0
- package/dist/{examples/tools/app.module.js → services/message.service.js} +15 -21
- package/dist/services/message.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/controllers/sse/sse.controller.ts +7 -1
- package/src/interceptors/message.interceptor.ts +70 -0
- package/src/interfaces/{guards.interface.ts → context.interface.ts} +5 -0
- package/src/interfaces/index.ts +1 -1
- package/src/interfaces/message.types.ts +13 -0
- package/src/mcp.module.ts +18 -2
- package/src/registry/registry.service.ts +5 -4
- package/src/services/message.service.ts +18 -0
- package/.github/codeql-config.yml +0 -4
- package/.github/copilot-instructions.md +0 -138
- package/.github/prompts/memory.prompt.md +0 -120
- package/.github/workflows/codeql-analysis.yml +0 -58
- package/.github/workflows/npm-publish.yml +0 -40
- package/.github/workflows/pr-branch-validation.yml +0 -78
- package/.github/workflows/run-tests.yml +0 -41
- package/.github/workflows/sync-main-to-develop.yml +0 -53
- package/.handbook/GIT_GUIDELINES.md +0 -250
- package/.handbook/PACKAGE_VERSIONING.md +0 -140
- package/.handbook/STACK.md +0 -75
- package/.husky/pre-commit +0 -8
- package/.vscode/extensions.json +0 -44
- package/.vscode/settings.json +0 -40
- package/CONTRIBUTING.md +0 -261
- package/dist/examples/async-import/app.module.d.ts +0 -2
- package/dist/examples/async-import/app.module.js +0 -33
- package/dist/examples/async-import/app.module.js.map +0 -1
- package/dist/examples/async-import/main.d.ts +0 -1
- package/dist/examples/async-import/main.js +0 -17
- package/dist/examples/async-import/main.js.map +0 -1
- package/dist/examples/guards/app.module.d.ts +0 -6
- package/dist/examples/guards/app.module.js +0 -48
- package/dist/examples/guards/app.module.js.map +0 -1
- package/dist/examples/guards/guards.resolver.d.ts +0 -13
- package/dist/examples/guards/guards.resolver.js +0 -61
- package/dist/examples/guards/guards.resolver.js.map +0 -1
- package/dist/examples/guards/main.d.ts +0 -1
- package/dist/examples/guards/main.js +0 -11
- package/dist/examples/guards/main.js.map +0 -1
- package/dist/examples/mixed/app.module.d.ts +0 -2
- package/dist/examples/mixed/app.module.js +0 -31
- package/dist/examples/mixed/app.module.js.map +0 -1
- package/dist/examples/mixed/main.d.ts +0 -1
- package/dist/examples/mixed/main.js +0 -11
- package/dist/examples/mixed/main.js.map +0 -1
- package/dist/examples/mixed/mixed.resolver.d.ts +0 -6
- package/dist/examples/mixed/mixed.resolver.js +0 -78
- package/dist/examples/mixed/mixed.resolver.js.map +0 -1
- package/dist/examples/prompts/app.module.d.ts +0 -2
- package/dist/examples/prompts/app.module.js +0 -31
- package/dist/examples/prompts/app.module.js.map +0 -1
- package/dist/examples/prompts/main.d.ts +0 -1
- package/dist/examples/prompts/main.js +0 -11
- package/dist/examples/prompts/main.js.map +0 -1
- package/dist/examples/prompts/prompts.resolver.d.ts +0 -14
- package/dist/examples/prompts/prompts.resolver.js +0 -165
- package/dist/examples/prompts/prompts.resolver.js.map +0 -1
- package/dist/examples/resources/app.module.d.ts +0 -2
- package/dist/examples/resources/app.module.js +0 -31
- package/dist/examples/resources/app.module.js.map +0 -1
- package/dist/examples/resources/main.d.ts +0 -1
- package/dist/examples/resources/main.js +0 -11
- package/dist/examples/resources/main.js.map +0 -1
- package/dist/examples/resources/resources.resolver.d.ts +0 -12
- package/dist/examples/resources/resources.resolver.js +0 -114
- package/dist/examples/resources/resources.resolver.js.map +0 -1
- package/dist/examples/tools/app.module.d.ts +0 -2
- package/dist/examples/tools/app.module.js.map +0 -1
- package/dist/examples/tools/main.d.ts +0 -1
- package/dist/examples/tools/main.js +0 -11
- package/dist/examples/tools/main.js.map +0 -1
- package/dist/examples/tools/tools.resolver.d.ts +0 -23
- package/dist/examples/tools/tools.resolver.js +0 -175
- package/dist/examples/tools/tools.resolver.js.map +0 -1
- package/dist/src/controllers/sse/index.js.map +0 -1
- package/dist/src/controllers/sse/sse.controller.js.map +0 -1
- package/dist/src/controllers/sse/sse.service.js.map +0 -1
- package/dist/src/controllers/streamable/index.js.map +0 -1
- package/dist/src/controllers/streamable/streamable.controller.js.map +0 -1
- package/dist/src/controllers/streamable/streamable.service.js.map +0 -1
- package/dist/src/decorators/capabilities.constants.js.map +0 -1
- package/dist/src/decorators/capabilities.decorators.js.map +0 -1
- package/dist/src/decorators/index.js.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/interfaces/capabilities.interface.js.map +0 -1
- package/dist/src/interfaces/guards.interface.js.map +0 -1
- package/dist/src/interfaces/index.js.map +0 -1
- package/dist/src/interfaces/mcp-server-options.interface.js.map +0 -1
- package/dist/src/mcp.module.js.map +0 -1
- package/dist/src/registry/discovery.service.js.map +0 -1
- package/dist/src/registry/index.js.map +0 -1
- package/dist/src/registry/logger.service.js.map +0 -1
- package/dist/src/registry/registry.service.js.map +0 -1
- package/examples/README.md +0 -56
- package/examples/async-import/app.module.ts +0 -22
- package/examples/async-import/main.ts +0 -15
- package/examples/guards/app.module.ts +0 -44
- package/examples/guards/guards.resolver.ts +0 -52
- package/examples/guards/main.ts +0 -11
- package/examples/mixed/app.module.ts +0 -20
- package/examples/mixed/main.ts +0 -11
- package/examples/mixed/mixed.resolver.ts +0 -56
- package/examples/prompts/app.module.ts +0 -20
- package/examples/prompts/main.ts +0 -11
- package/examples/prompts/prompts.resolver.ts +0 -184
- package/examples/resources/app.module.ts +0 -19
- package/examples/resources/main.ts +0 -11
- package/examples/resources/resources.resolver.ts +0 -123
- package/examples/tools/app.module.ts +0 -20
- package/examples/tools/main.ts +0 -11
- package/examples/tools/tools.resolver.ts +0 -205
- package/nest-cli.json +0 -8
- package/scripts/npm-publish.js +0 -184
- package/test/base.e2e-spec.ts +0 -74
- package/test/jest-e2e.json +0 -9
- package/tsconfig.build.json +0 -4
- package/tsconfig.json +0 -23
- /package/dist/{src/controllers → controllers}/sse/index.d.ts +0 -0
- /package/dist/{src/controllers → controllers}/sse/index.js +0 -0
- /package/dist/{src/controllers → controllers}/sse/sse.service.d.ts +0 -0
- /package/dist/{src/controllers → controllers}/sse/sse.service.js +0 -0
- /package/dist/{src/controllers → controllers}/streamable/index.d.ts +0 -0
- /package/dist/{src/controllers → controllers}/streamable/index.js +0 -0
- /package/dist/{src/controllers → controllers}/streamable/streamable.controller.d.ts +0 -0
- /package/dist/{src/controllers → controllers}/streamable/streamable.controller.js +0 -0
- /package/dist/{src/controllers → controllers}/streamable/streamable.service.d.ts +0 -0
- /package/dist/{src/controllers → controllers}/streamable/streamable.service.js +0 -0
- /package/dist/{src/decorators → decorators}/capabilities.constants.d.ts +0 -0
- /package/dist/{src/decorators → decorators}/capabilities.constants.js +0 -0
- /package/dist/{src/decorators → decorators}/capabilities.decorators.d.ts +0 -0
- /package/dist/{src/decorators → decorators}/capabilities.decorators.js +0 -0
- /package/dist/{src/decorators → decorators}/index.d.ts +0 -0
- /package/dist/{src/decorators → decorators}/index.js +0 -0
- /package/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{src/index.js → index.js} +0 -0
- /package/dist/{src/interfaces → interfaces}/capabilities.interface.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/capabilities.interface.js +0 -0
- /package/dist/{src/interfaces → interfaces}/mcp-server-options.interface.d.ts +0 -0
- /package/dist/{src/interfaces → interfaces}/mcp-server-options.interface.js +0 -0
- /package/dist/{src/mcp.module.d.ts → mcp.module.d.ts} +0 -0
- /package/dist/{src/registry → registry}/discovery.service.d.ts +0 -0
- /package/dist/{src/registry → registry}/discovery.service.js +0 -0
- /package/dist/{src/registry → registry}/index.d.ts +0 -0
- /package/dist/{src/registry → registry}/index.js +0 -0
- /package/dist/{src/registry → registry}/logger.service.d.ts +0 -0
- /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 model
|
|
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", [
|
|
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":""}
|
|
@@ -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 './
|
|
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("./
|
|
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 @@
|
|
|
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: [
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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":"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"}
|
|
@@ -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.
|
|
9
|
+
exports.MessageService = exports.requestContext = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
let
|
|
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.
|
|
16
|
-
exports.
|
|
17
|
-
(0, common_1.
|
|
18
|
-
|
|
19
|
-
|
|
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"}
|