mcp-ts-template 1.9.0 → 1.9.2
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 +1 -1
- package/dist/mcp-server/resources/echoResource/registration.js +2 -1
- package/dist/mcp-server/resources/echoResource/registration.js.map +1 -1
- package/dist/mcp-server/resources/utils/resource-utils.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resource-utils.js +2 -1
- package/dist/mcp-server/resources/utils/resource-utils.js.map +1 -1
- package/dist/mcp-server/server.d.ts.map +1 -1
- package/dist/mcp-server/server.js +2 -1
- package/dist/mcp-server/server.js.map +1 -1
- package/dist/mcp-server/tools/catFactFetcher/registration.js +2 -1
- package/dist/mcp-server/tools/catFactFetcher/registration.js.map +1 -1
- package/dist/mcp-server/tools/echoTool/registration.d.ts.map +1 -1
- package/dist/mcp-server/tools/echoTool/registration.js +4 -2
- package/dist/mcp-server/tools/echoTool/registration.js.map +1 -1
- package/dist/mcp-server/tools/imageTest/registration.js +2 -1
- package/dist/mcp-server/tools/imageTest/registration.js.map +1 -1
- package/dist/mcp-server/tools/utils/tool-utils.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/tool-utils.js +4 -2
- package/dist/mcp-server/tools/utils/tool-utils.js.map +1 -1
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -1
- package/dist/mcp-server/transports/auth/authMiddleware.js +2 -1
- package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -1
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -1
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +3 -1
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -1
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -1
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +14 -2
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -1
- package/dist/mcp-server/transports/core/autoTransportManager.d.ts +48 -0
- package/dist/mcp-server/transports/core/autoTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/autoTransportManager.js +57 -0
- package/dist/mcp-server/transports/core/autoTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts +2 -3
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -1
- package/dist/mcp-server/transports/core/baseTransportManager.js +1 -1
- package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -1
- package/dist/mcp-server/transports/core/headerUtils.d.ts +8 -1
- package/dist/mcp-server/transports/core/headerUtils.d.ts.map +1 -1
- package/dist/mcp-server/transports/core/headerUtils.js +15 -0
- package/dist/mcp-server/transports/core/headerUtils.js.map +1 -1
- package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +1 -1
- package/dist/mcp-server/transports/core/honoNodeBridge.js +15 -4
- package/dist/mcp-server/transports/core/honoNodeBridge.js.map +1 -1
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +11 -6
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -1
- package/dist/mcp-server/transports/core/statefulTransportManager.js +89 -60
- package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -1
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +5 -3
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -1
- package/dist/mcp-server/transports/core/statelessTransportManager.js +9 -4
- package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -1
- package/dist/mcp-server/transports/core/transportRequest.d.ts +9 -0
- package/dist/mcp-server/transports/core/transportRequest.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/transportRequest.js +2 -0
- package/dist/mcp-server/transports/core/transportRequest.js.map +1 -0
- package/dist/mcp-server/transports/core/transportTypes.d.ts +20 -14
- package/dist/mcp-server/transports/core/transportTypes.d.ts.map +1 -1
- package/dist/mcp-server/transports/core/transportTypes.js +8 -1
- package/dist/mcp-server/transports/core/transportTypes.js.map +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +3 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.js +10 -10
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts +10 -6
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +73 -24
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts +5 -11
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +30 -52
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -1
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/stdio/stdioTransport.js +2 -1
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -1
- package/dist/services/duck-db/duckDBConnectionManager.d.ts +2 -0
- package/dist/services/duck-db/duckDBConnectionManager.d.ts.map +1 -1
- package/dist/services/duck-db/duckDBConnectionManager.js +7 -25
- package/dist/services/duck-db/duckDBConnectionManager.js.map +1 -1
- package/dist/services/duck-db/duckDBQueryExecutor.d.ts +1 -0
- package/dist/services/duck-db/duckDBQueryExecutor.d.ts.map +1 -1
- package/dist/services/duck-db/duckDBQueryExecutor.js +6 -4
- package/dist/services/duck-db/duckDBQueryExecutor.js.map +1 -1
- package/dist/services/duck-db/duckDBService.d.ts +4 -3
- package/dist/services/duck-db/duckDBService.d.ts.map +1 -1
- package/dist/services/duck-db/duckDBService.js +4 -2
- package/dist/services/duck-db/duckDBService.js.map +1 -1
- package/dist/services/duck-db/types.d.ts +6 -6
- package/dist/services/duck-db/types.d.ts.map +1 -1
- package/dist/services/llm-providers/openRouterProvider.d.ts +2 -0
- package/dist/services/llm-providers/openRouterProvider.d.ts.map +1 -1
- package/dist/services/llm-providers/openRouterProvider.js +12 -5
- package/dist/services/llm-providers/openRouterProvider.js.map +1 -1
- package/dist/storage/duckdbExample.js +2 -1
- package/dist/storage/duckdbExample.js.map +1 -1
- package/dist/utils/internal/errorHandler.d.ts +7 -7
- package/dist/utils/internal/errorHandler.d.ts.map +1 -1
- package/dist/utils/internal/errorHandler.js +9 -8
- package/dist/utils/internal/errorHandler.js.map +1 -1
- package/dist/utils/internal/logger.d.ts +15 -9
- package/dist/utils/internal/logger.d.ts.map +1 -1
- package/dist/utils/internal/logger.js +100 -68
- package/dist/utils/internal/logger.js.map +1 -1
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -1
- package/dist/utils/metrics/tokenCounter.js +4 -2
- package/dist/utils/metrics/tokenCounter.js.map +1 -1
- package/dist/utils/parsing/dateParser.d.ts +0 -43
- package/dist/utils/parsing/dateParser.d.ts.map +1 -1
- package/dist/utils/parsing/dateParser.js +4 -45
- package/dist/utils/parsing/dateParser.js.map +1 -1
- package/dist/utils/parsing/jsonParser.d.ts +0 -22
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
- package/dist/utils/parsing/jsonParser.js +0 -22
- package/dist/utils/parsing/jsonParser.js.map +1 -1
- package/dist/utils/scheduling/scheduler.d.ts +2 -8
- package/dist/utils/scheduling/scheduler.d.ts.map +1 -1
- package/dist/utils/scheduling/scheduler.js +2 -8
- package/dist/utils/scheduling/scheduler.js.map +1 -1
- package/dist/utils/security/htmlSanitizer.d.ts +29 -0
- package/dist/utils/security/htmlSanitizer.d.ts.map +1 -0
- package/dist/utils/security/htmlSanitizer.js +74 -0
- package/dist/utils/security/htmlSanitizer.js.map +1 -0
- package/dist/utils/security/idGenerator.d.ts.map +1 -1
- package/dist/utils/security/idGenerator.js +1 -1
- package/dist/utils/security/idGenerator.js.map +1 -1
- package/dist/utils/security/index.d.ts +4 -1
- package/dist/utils/security/index.d.ts.map +1 -1
- package/dist/utils/security/index.js +4 -1
- package/dist/utils/security/index.js.map +1 -1
- package/dist/utils/security/inputValidator.d.ts +50 -0
- package/dist/utils/security/inputValidator.d.ts.map +1 -0
- package/dist/utils/security/inputValidator.js +166 -0
- package/dist/utils/security/inputValidator.js.map +1 -0
- package/dist/utils/security/logRedactor.d.ts +48 -0
- package/dist/utils/security/logRedactor.d.ts.map +1 -0
- package/dist/utils/security/logRedactor.js +135 -0
- package/dist/utils/security/logRedactor.js.map +1 -0
- package/dist/utils/security/pathSanitizer.d.ts +35 -0
- package/dist/utils/security/pathSanitizer.d.ts.map +1 -0
- package/dist/utils/security/pathSanitizer.js +88 -0
- package/dist/utils/security/pathSanitizer.js.map +1 -0
- package/dist/utils/security/rateLimiter.d.ts +0 -5
- package/dist/utils/security/rateLimiter.d.ts.map +1 -1
- package/dist/utils/security/rateLimiter.js +0 -8
- package/dist/utils/security/rateLimiter.js.map +1 -1
- package/package.json +13 -10
- package/dist/utils/security/sanitization.d.ts +0 -185
- package/dist/utils/security/sanitization.d.ts.map +0 -1
- package/dist/utils/security/sanitization.js +0 -472
- package/dist/utils/security/sanitization.js.map +0 -1
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://github.com/modelcontextprotocol/typescript-sdk)
|
|
9
9
|
[](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-06-18/changelog.mdx)
|
|
10
|
-
[](./CHANGELOG.md)
|
|
11
11
|
[](./vitest.config.ts)
|
|
12
12
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
13
13
|
[](https://github.com/cyanheads/mcp-ts-template/issues)
|
|
@@ -24,7 +24,8 @@ export const registerEchoResource = async (server) => {
|
|
|
24
24
|
resourceName: RESOURCE_NAME,
|
|
25
25
|
});
|
|
26
26
|
logOperationStart(registrationContext, `Registering resource: '${RESOURCE_NAME}'`);
|
|
27
|
-
|
|
27
|
+
const errorHandler = new ErrorHandler();
|
|
28
|
+
await errorHandler.tryCatch(async () => {
|
|
28
29
|
const template = new ResourceTemplate("echo://{message}", {
|
|
29
30
|
list: async () => ({
|
|
30
31
|
resources: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAEL,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,YAAY,EAEZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,qBAAqB,GAEtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAA+B,MAAM,YAAY,CAAC;AAE5E,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,iBAAiB,GAEnB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACpB,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GACvB,qBAAqB,CAAC,oBAAoB,CAAC;QACzC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IAEL,iBAAiB,CACf,mBAAmB,EACnB,0BAA0B,aAAa,GAAG,CAC3C,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAEL,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,YAAY,EAEZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,qBAAqB,GAEtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAA+B,MAAM,YAAY,CAAC;AAE5E,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,iBAAiB,GAEnB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACpB,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GACvB,qBAAqB,CAAC,oBAAoB,CAAC;QACzC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IAEL,iBAAiB,CACf,mBAAmB,EACnB,0BAA0B,aAAa,GAAG,CAC3C,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;YACxD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjB,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,cAAc;wBACnB,IAAI,EAAE,sBAAsB;wBAC5B,WAAW,EAAE,iCAAiC;qBAC/C;iBACF;aACF,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CACb,aAAa,EACb,QAAQ,EACR;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;SACxD,EACD,qBAAqB,CACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,CAClB,CACF,CAAC;QAEF,mBAAmB,CACjB,mBAAmB,EACnB,aAAa,aAAa,4BAA4B,CACvD,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,uBAAuB,aAAa,EAAE;QACjD,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/utils/resource-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAIL,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;GAQG;AACH,KAAK,eAAe,CAAC,OAAO,EAAE,QAAQ,IAAI,CACxC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,CAAC,QAAQ,IAAI,CAChD,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,GAAG,KACL,kBAAkB,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EACrD,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC3C,iBAAiB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"resource-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/utils/resource-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAIL,cAAc,EACf,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;GAQG;AACH,KAAK,eAAe,CAAC,OAAO,EAAE,QAAQ,IAAI,CACxC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,CAAC,QAAQ,IAAI,CAChD,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,GAAG,KACL,kBAAkB,CAAC;AAExB;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EACrD,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC3C,iBAAiB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,IAIpD,KAAK,GAAG,EACR,QAAQ,OAAO,EACf,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACnC,OAAO,CAAC,kBAAkB,CAAC,CAyB/B"}
|
|
@@ -19,6 +19,7 @@ import { ErrorHandler, measureToolExecution, requestContextService, } from "../.
|
|
|
19
19
|
* @returns A complete MCP resource handler function.
|
|
20
20
|
*/
|
|
21
21
|
export function createResourceHandler(resourceName, logicFn, responseFormatter) {
|
|
22
|
+
const errorHandler = new ErrorHandler();
|
|
22
23
|
return async (uri, params, callContext) => {
|
|
23
24
|
const handlerContext = requestContextService.createRequestContext({
|
|
24
25
|
parentContext: callContext,
|
|
@@ -33,7 +34,7 @@ export function createResourceHandler(resourceName, logicFn, responseFormatter)
|
|
|
33
34
|
}
|
|
34
35
|
catch (error) {
|
|
35
36
|
// Re-throw to be caught by the SDK's top-level error handler
|
|
36
|
-
throw
|
|
37
|
+
throw errorHandler.handleError(error, {
|
|
37
38
|
operation: `resource:${resourceName}`,
|
|
38
39
|
context: handlerContext,
|
|
39
40
|
input: { uri: uri.href, params },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/utils/resource-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AA8BjC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,OAA2C,EAC3C,iBAAsD;IAEtD,OAAO,KAAK,EACV,GAAQ,EACR,MAAe,EACf,WAAoC,EACP,EAAE;QAC/B,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,YAAY,YAAY,EAAE,EAC1B,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAC1C,MAAM,CACP,CAAC;YACF,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6DAA6D;YAC7D,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBACpC,SAAS,EAAE,YAAY,YAAY,EAAE;gBACrC,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"resource-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/utils/resource-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AA8BjC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,OAA2C,EAC3C,iBAAsD;IAEtD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,OAAO,KAAK,EACV,GAAQ,EACR,MAAe,EACf,WAAoC,EACP,EAAE;QAC/B,MAAM,cAAc,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YAChE,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,oBAAoB;YAC/B,WAAW,EAAE,GAAG,CAAC,IAAI;YACrB,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,mDAAmD;YACnD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,YAAY,YAAY,EAAE,EAC1B,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAC1C,MAAM,CACP,CAAC;YACF,OAAO,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6DAA6D;YAC7D,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBACpC,SAAS,EAAE,YAAY,YAAY,EAAE;gBACrC,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,IAAI,MAAM,MAAM,CAAC;AA4FxB;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CACvD,SAAS,GAAG,IAAI,CAAC,MAAM,CACxB,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,IAAI,MAAM,MAAM,CAAC;AA4FxB;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CACvD,SAAS,GAAG,IAAI,CAAC,MAAM,CACxB,CAuBA"}
|
|
@@ -88,6 +88,7 @@ export async function initializeAndStartServer() {
|
|
|
88
88
|
operation: "initializeAndStartServer",
|
|
89
89
|
});
|
|
90
90
|
logOperationStart(context, "MCP Server initialization sequence started.");
|
|
91
|
+
const errorHandler = new ErrorHandler();
|
|
91
92
|
try {
|
|
92
93
|
const result = await startTransport();
|
|
93
94
|
logOperationSuccess(context, "MCP Server initialization sequence completed successfully.");
|
|
@@ -96,7 +97,7 @@ export async function initializeAndStartServer() {
|
|
|
96
97
|
catch (err) {
|
|
97
98
|
logFatal(context, "Critical error during MCP server initialization.", err);
|
|
98
99
|
// This part is likely unreachable as logFatal exits, but kept for robustness.
|
|
99
|
-
|
|
100
|
+
errorHandler.handleError(err, {
|
|
100
101
|
...context,
|
|
101
102
|
operation: "initializeAndStartServer_Catch",
|
|
102
103
|
critical: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB;IACpC,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,yBAAyB;KACrC,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,EAChE;QACE,YAAY,EAAE;YACZ,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;YAChC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAC7B;KACF,CACF,CAAC;IAEF,IAAI,CAAC;QACH,iBAAiB,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;QACjE,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC/B,mBAAmB,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,iBAAiB,CAAC,OAAO,EAAE,oCAAoC,EAAE,GAAG,CAAC,CAAC;QACtE,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC9C,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,aAAa;KACzB,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,aAAa,EAAE,CAAC,CAAC;IAEnE,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAkB,CACzC,uBAAuB,EACvB,OAAO,CACR,CAAC;QACF,OAAO,MAAqB,CAAC;IAC/B,CAAC;IAED,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAC/C,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,+BAA+B,aAAa,8BAA8B,CAC3E,CAAC;IACF,QAAQ,CACN,OAAO,EACP,0CAA0C,aAAa,EAAE,EACzD,KAAK,CACN,CAAC;IACF,4DAA4D;IAC5D,MAAM,KAAK,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAG5C,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACzD,SAAS,EAAE,0BAA0B;KACtC,CAAC,CAAC;IACH,iBAAiB,CAAC,OAAO,EAAE,6CAA6C,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,mBAAmB,CACjB,OAAO,EACP,4DAA4D,CAC7D,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,OAAO,EAAE,kDAAkD,EAAE,GAAG,CAAC,CAAC;QAC3E,8EAA8E;QAC9E,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE;YAC5B,GAAG,OAAO;YACV,SAAS,EAAE,gCAAgC;YAC3C,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -21,7 +21,8 @@ export const registerCatFactFetcherTool = async (server) => {
|
|
|
21
21
|
toolName: TOOL_NAME,
|
|
22
22
|
});
|
|
23
23
|
logOperationStart(registrationContext, `Registering tool: '${TOOL_NAME}'`);
|
|
24
|
-
|
|
24
|
+
const errorHandler = new ErrorHandler();
|
|
25
|
+
await errorHandler.tryCatch(async () => {
|
|
25
26
|
server.registerTool(TOOL_NAME, {
|
|
26
27
|
title: "Get Random Cat Fact",
|
|
27
28
|
description: TOOL_DESCRIPTION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/catFactFetcher/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iBAAiB,GAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EAEnB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,qBAAqB,CAAC;AACxC,MAAM,gBAAgB,GACpB,0GAA0G,CAAC;AAE7G,MAAM,iBAAiB,GAA8C,CACnE,MAAM,EACN,EAAE,CAAC,CAAC;IACJ,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACrE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,SAAS,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/catFactFetcher/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iBAAiB,GAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EAEnB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,qBAAqB,CAAC;AACxC,MAAM,gBAAgB,GACpB,0GAA0G,CAAC;AAE7G,MAAM,iBAAiB,GAA8C,CACnE,MAAM,EACN,EAAE,CAAC,CAAC;IACJ,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACrE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,SAAS,GAAG,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;YACE,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,yBAAyB,CAAC,KAAK;YAC5C,YAAY,EAAE,4BAA4B,CAAC,KAAK;YAChD,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;aACpB;SACF,EACD,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CACrE,CAAC;QAEF,mBAAmB,CACjB,mBAAmB,EACnB,SAAS,SAAS,4BAA4B,CAC/C,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,mBAAmB,SAAS,EAAE;QACzC,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/echoTool/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAEJ,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/echoTool/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAEJ,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BpE,eAAO,MAAM,gBAAgB,GAAU,QAAQ,SAAS,KAAG,OAAO,CAAC,IAAI,CAqCtE,CAAC"}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* @module src/mcp-server/tools/echoTool/registration
|
|
6
6
|
**/
|
|
7
7
|
import { JsonRpcErrorCode } from "../../../types-global/errors.js";
|
|
8
|
-
import {
|
|
8
|
+
import { requestContextService } from "../../../utils/index.js";
|
|
9
|
+
import { ErrorHandler } from "../../../utils/internal/errorHandler.js";
|
|
9
10
|
import { logOperationStart, logOperationSuccess, } from "../../../utils/internal/logging-helpers.js";
|
|
10
11
|
import { createToolHandler } from "../utils/tool-utils.js";
|
|
11
12
|
import { EchoToolInputSchema, echoToolLogic, EchoToolResponseSchema, } from "./logic.js";
|
|
@@ -23,7 +24,8 @@ export const registerEchoTool = async (server) => {
|
|
|
23
24
|
toolName: TOOL_NAME,
|
|
24
25
|
});
|
|
25
26
|
logOperationStart(registrationContext, `Registering tool: '${TOOL_NAME}'`);
|
|
26
|
-
|
|
27
|
+
const errorHandler = new ErrorHandler();
|
|
28
|
+
await errorHandler.tryCatch(async () => {
|
|
27
29
|
server.registerTool(TOOL_NAME, {
|
|
28
30
|
title: "Echo Message",
|
|
29
31
|
description: TOOL_DESCRIPTION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/echoTool/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/echoTool/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEb,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,cAAc,CAAC;AACjC,MAAM,gBAAgB,GACpB,gEAAgE,CAAC;AAEnE,MAAM,iBAAiB,GAAwC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1E,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;KACtE;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAiB,EAAiB,EAAE;IACzE,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACrE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,SAAS,GAAG,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,mBAAmB,CAAC,KAAK;YACtC,YAAY,EAAE,sBAAsB,CAAC,KAAK;YAC1C,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,KAAK;aACrB;SACF,EACD,iBAAiB,CAAC,SAAS,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAC/D,CAAC;QAEF,mBAAmB,CACjB,mBAAmB,EACnB,SAAS,SAAS,4BAA4B,CAC/C,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,mBAAmB,SAAS,EAAE;QACzC,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -27,7 +27,8 @@ export const registerFetchImageTestTool = async (server) => {
|
|
|
27
27
|
toolName: TOOL_NAME,
|
|
28
28
|
});
|
|
29
29
|
logOperationStart(registrationContext, `Registering tool: '${TOOL_NAME}'`);
|
|
30
|
-
|
|
30
|
+
const errorHandler = new ErrorHandler();
|
|
31
|
+
await errorHandler.tryCatch(async () => {
|
|
31
32
|
server.registerTool(TOOL_NAME, {
|
|
32
33
|
title: "Fetch Cat Image",
|
|
33
34
|
description: TOOL_DESCRIPTION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iBAAiB,GAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EAEnB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,kBAAkB,CAAC;AACrC,MAAM,gBAAgB,GACpB,wIAAwI,CAAC;AAE3I,MAAM,iBAAiB,GAA8C,CACnE,MAAM,EACN,EAAE,CAAC,CAAC;IACJ,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACrE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,SAAS,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/imageTest/registration.ts"],"names":[],"mappings":"AAAA;;;;;IAKI;AAGJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,iBAAiB,GAElB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EAEnB,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,MAAM,SAAS,GAAG,kBAAkB,CAAC;AACrC,MAAM,gBAAgB,GACpB,wIAAwI,CAAC;AAE3I,MAAM,iBAAiB,GAA8C,CACnE,MAAM,EACN,EAAE,CAAC,CAAC;IACJ,iBAAiB,EAAE,MAAM;IACzB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;QACrE,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,iBAAiB,CAAC,mBAAmB,EAAE,sBAAsB,SAAS,GAAG,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;YACE,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,yBAAyB,CAAC,KAAK;YAC5C,YAAY,EAAE,4BAA4B,CAAC,KAAK;YAChD,WAAW,EAAE;gBACX,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,IAAI;aACpB;SACF,EACD,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CACrE,CAAC;QACF,mBAAmB,CACjB,mBAAmB,EACnB,SAAS,SAAS,4BAA4B,CAC/C,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,mBAAmB,SAAS,EAAE;QACzC,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;;;;;GAMG;AACH,KAAK,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,cAAc,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI,CACnC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAC/C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAC5C,cAAc,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE;;;;;;GAMG;AACH,KAAK,WAAW,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,cAAc,CAAC;AAE7E;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI,CACnC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAC/C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAC5C,cAAc,CAAC,MAAM,CAAC,CA4BxB"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* and response formatting, reducing boilerplate in individual tool registration files.
|
|
5
5
|
* @module src/mcp-server/tools/utils/tool-utils
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { getRequestContext, measureToolExecution, } from "../../../utils/index.js";
|
|
8
|
+
import { ErrorHandler } from "../../../utils/internal/errorHandler.js";
|
|
8
9
|
/**
|
|
9
10
|
* Creates a standardized MCP tool handler.
|
|
10
11
|
* This factory wraps the core business logic with cross-cutting concerns like
|
|
@@ -18,13 +19,14 @@ import { ErrorHandler, getRequestContext, measureToolExecution, } from "../../..
|
|
|
18
19
|
* @returns A complete MCP tool handler function.
|
|
19
20
|
*/
|
|
20
21
|
export function createToolHandler(toolName, logicFn, responseFormatter) {
|
|
22
|
+
const errorHandler = new ErrorHandler();
|
|
21
23
|
return async (params) => {
|
|
22
24
|
try {
|
|
23
25
|
const result = await measureToolExecution(toolName, () => logicFn(params), params);
|
|
24
26
|
return responseFormatter(result);
|
|
25
27
|
}
|
|
26
28
|
catch (error) {
|
|
27
|
-
const mcpError =
|
|
29
|
+
const mcpError = errorHandler.handleError(error, {
|
|
28
30
|
operation: `tool:${toolName}`,
|
|
29
31
|
context: getRequestContext(),
|
|
30
32
|
input: params,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/tool-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AA6BvE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,OAAqC,EACrC,iBAA6C;IAE7C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,OAAO,KAAK,EAAE,MAAc,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,QAAQ,EACR,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,MAAM,CACP,CAAC;YACF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC/C,SAAS,EAAE,QAAQ,QAAQ,EAAE;gBAC7B,OAAO,EAAE,iBAAiB,EAAE;gBAC5B,KAAK,EAAE,MAAM;aACd,CAAa,CAAC;YAEf,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/D,iBAAiB,EAAE;oBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"authMiddleware.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authMiddleware.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,IAGvD,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAAC,EAC1C,MAAM,IAAI,mBA0Eb"}
|
|
@@ -8,6 +8,7 @@ import { authContext } from "./lib/authContext.js";
|
|
|
8
8
|
* @returns A Hono middleware function.
|
|
9
9
|
*/
|
|
10
10
|
export function createAuthMiddleware(strategy) {
|
|
11
|
+
const errorHandler = new ErrorHandler();
|
|
11
12
|
return async function authMiddleware(c, next) {
|
|
12
13
|
const context = requestContextService.createRequestContext({
|
|
13
14
|
operation: "authMiddleware",
|
|
@@ -46,7 +47,7 @@ export function createAuthMiddleware(strategy) {
|
|
|
46
47
|
error: error,
|
|
47
48
|
}, "Authentication verification failed.");
|
|
48
49
|
// Ensure consistent error handling
|
|
49
|
-
throw
|
|
50
|
+
throw errorHandler.handleError(error, {
|
|
50
51
|
operation: "authMiddlewareVerification",
|
|
51
52
|
context,
|
|
52
53
|
rethrow: true, // Rethrow to be caught by Hono's global error handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authMiddleware.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authMiddleware.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,OAAO,KAAK,UAAU,cAAc,CAClC,CAA0C,EAC1C,IAAU;QAEV,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YACpE,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,YAAY,EAC7B,kEAAkE,EAClE,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CACZ,OAAO,EACP,oDAAoD,CACrD,CAAC;YACF,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,YAAY,EAC7B,kCAAkC,EAClC,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CACV,OAAO,EACP,qDAAqD,CACtD,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,cAAc,GAAG;gBACrB,GAAG,OAAO;gBACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC;YACF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,oDAAoD,CACrD,CAAC;YAEF,0EAA0E;YAC1E,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,mEAAmE;YACnE,MAAM,CAAC,OAAO,CACZ;gBACE,GAAG,OAAO;gBACV,KAAK,EAAE,KAAc;aACtB,EACD,qCAAqC,CACtC,CAAC;YAEF,mCAAmC;YACnC,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBACpC,SAAS,EAAE,4BAA4B;gBACvC,OAAO;gBACP,OAAO,EAAE,IAAI,EAAE,sDAAsD;gBACrE,SAAS,EAAE,gBAAgB,CAAC,YAAY,EAAE,+CAA+C;aAC1F,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"authMiddleware.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/auth/authMiddleware.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACxC,OAAO,KAAK,UAAU,cAAc,CAClC,CAA0C,EAC1C,IAAU;QAEV,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;QAE1D,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAC;YACpE,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,YAAY,EAC7B,kEAAkE,EAClE,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CACZ,OAAO,EACP,oDAAoD,CACrD,CAAC;YACF,MAAM,IAAI,QAAQ,CAChB,gBAAgB,CAAC,YAAY,EAC7B,kCAAkC,EAClC,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CACV,OAAO,EACP,qDAAqD,CACtD,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,cAAc,GAAG;gBACrB,GAAG,OAAO;gBACV,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB,CAAC;YACF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,oDAAoD,CACrD,CAAC;YAEF,0EAA0E;YAC1E,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;YACjD,mEAAmE;YACnE,MAAM,CAAC,OAAO,CACZ;gBACE,GAAG,OAAO;gBACV,KAAK,EAAE,KAAc;aACtB,EACD,qCAAqC,CACtC,CAAC;YAEF,mCAAmC;YACnC,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;gBACpC,SAAS,EAAE,4BAA4B;gBACvC,OAAO;gBACP,OAAO,EAAE,IAAI,EAAE,sDAAsD;gBACrE,SAAS,EAAE,gBAAgB,CAAC,YAAY,EAAE,+CAA+C;aAC1F,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { AuthInfo } from "../lib/authTypes.js";
|
|
|
2
2
|
import type { AuthStrategy } from "./authStrategy.js";
|
|
3
3
|
export declare class JwtStrategy implements AuthStrategy {
|
|
4
4
|
private readonly secretKey;
|
|
5
|
+
private readonly errorHandler;
|
|
5
6
|
constructor();
|
|
6
7
|
verify(token: string): Promise<AuthInfo>;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwtStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/jwtStrategy.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;;
|
|
1
|
+
{"version":3,"file":"jwtStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/jwtStrategy.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;;IAmCtC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CA2H/C"}
|
|
@@ -11,10 +11,12 @@ import { JsonRpcErrorCode, McpError } from "../../../../types-global/errors.js";
|
|
|
11
11
|
import { ErrorHandler, logger, requestContextService } from "../../../../utils/index.js";
|
|
12
12
|
export class JwtStrategy {
|
|
13
13
|
secretKey;
|
|
14
|
+
errorHandler;
|
|
14
15
|
constructor() {
|
|
15
16
|
const context = requestContextService.createRequestContext({
|
|
16
17
|
operation: "JwtStrategy.constructor",
|
|
17
18
|
});
|
|
19
|
+
this.errorHandler = new ErrorHandler();
|
|
18
20
|
logger.debug(context, "Initializing JwtStrategy...");
|
|
19
21
|
if (config.mcpAuthMode === "jwt") {
|
|
20
22
|
if (environment === "production" && !config.mcpAuthSecretKey) {
|
|
@@ -105,7 +107,7 @@ export class JwtStrategy {
|
|
|
105
107
|
...context,
|
|
106
108
|
errorName: error instanceof Error ? error.name : "Unknown",
|
|
107
109
|
}, `JWT verification failed: ${message}`);
|
|
108
|
-
throw
|
|
110
|
+
throw this.errorHandler.handleError(error, {
|
|
109
111
|
operation: "JwtStrategy.verify",
|
|
110
112
|
context,
|
|
111
113
|
rethrow: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwtStrategy.js","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/jwtStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI/E,MAAM,OAAO,WAAW;IACL,SAAS,CAAoB;
|
|
1
|
+
{"version":3,"file":"jwtStrategy.js","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/jwtStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { AuthInfo } from "../lib/authTypes.js";
|
|
|
2
2
|
import type { AuthStrategy } from "./authStrategy.js";
|
|
3
3
|
export declare class OauthStrategy implements AuthStrategy {
|
|
4
4
|
private readonly jwks;
|
|
5
|
+
private readonly errorHandler;
|
|
5
6
|
constructor();
|
|
6
7
|
verify(token: string): Promise<AuthInfo>;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauthStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/oauthStrategy.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,aAAc,YAAW,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwC;;
|
|
1
|
+
{"version":3,"file":"oauthStrategy.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/oauthStrategy.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,aAAc,YAAW,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwC;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;;IAwDtC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmG/C"}
|
|
@@ -10,10 +10,12 @@ import { JsonRpcErrorCode, McpError } from "../../../../types-global/errors.js";
|
|
|
10
10
|
import { ErrorHandler, logger, requestContextService } from "../../../../utils/index.js";
|
|
11
11
|
export class OauthStrategy {
|
|
12
12
|
jwks;
|
|
13
|
+
errorHandler;
|
|
13
14
|
constructor() {
|
|
14
15
|
const context = requestContextService.createRequestContext({
|
|
15
16
|
operation: "OauthStrategy.constructor",
|
|
16
17
|
});
|
|
18
|
+
this.errorHandler = new ErrorHandler();
|
|
17
19
|
logger.debug(context, "Initializing OauthStrategy...");
|
|
18
20
|
if (config.mcpAuthMode !== "oauth") {
|
|
19
21
|
// This check is for internal consistency, so a standard Error is acceptable here.
|
|
@@ -59,7 +61,17 @@ export class OauthStrategy {
|
|
|
59
61
|
...context,
|
|
60
62
|
claims: payload,
|
|
61
63
|
}, "OAuth token signature verified successfully.");
|
|
62
|
-
|
|
64
|
+
// Robust scope parsing (mirroring JwtStrategy):
|
|
65
|
+
let scopes = [];
|
|
66
|
+
// Check for 'scp' claim (array format)
|
|
67
|
+
if (Array.isArray(payload.scp) &&
|
|
68
|
+
payload.scp.every((s) => typeof s === "string")) {
|
|
69
|
+
scopes = payload.scp;
|
|
70
|
+
// Check for 'scope' claim (space-delimited string format)
|
|
71
|
+
}
|
|
72
|
+
else if (typeof payload.scope === "string" && payload.scope.trim()) {
|
|
73
|
+
scopes = payload.scope.split(" ").filter(Boolean);
|
|
74
|
+
}
|
|
63
75
|
if (scopes.length === 0) {
|
|
64
76
|
logger.warning(context, "Invalid token: missing or empty 'scope' claim.");
|
|
65
77
|
throw new McpError(JsonRpcErrorCode.Unauthorized, "Token must contain valid, non-empty scopes.", context);
|
|
@@ -95,7 +107,7 @@ export class OauthStrategy {
|
|
|
95
107
|
errorName: error instanceof Error ? error.name : "Unknown",
|
|
96
108
|
}, `OAuth token verification failed: ${message}`);
|
|
97
109
|
// For all other errors, use the ErrorHandler to wrap them.
|
|
98
|
-
throw
|
|
110
|
+
throw this.errorHandler.handleError(error, {
|
|
99
111
|
operation: "OauthStrategy.verify",
|
|
100
112
|
context,
|
|
101
113
|
rethrow: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauthStrategy.js","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/oauthStrategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAmB,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI/E,MAAM,OAAO,aAAa;IACP,IAAI,CAAwC;
|
|
1
|
+
{"version":3,"file":"oauthStrategy.js","sourceRoot":"","sources":["../../../../../src/mcp-server/transports/auth/strategies/oauthStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Implements the "auto" mode transport manager.
|
|
3
|
+
* This manager acts as a router, delegating requests to either a stateful or a
|
|
4
|
+
* stateless manager based on the request's characteristics. It encapsulates the
|
|
5
|
+
* logic for providing a hybrid session model.
|
|
6
|
+
* @module src/mcp-server/transports/core/autoTransportManager
|
|
7
|
+
*/
|
|
8
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
|
+
import { RequestContext } from "../../../utils/index.js";
|
|
10
|
+
import { McpTransportRequest } from "./transportRequest.js";
|
|
11
|
+
import { StatefulTransportOptions } from "./statefulTransportManager.js";
|
|
12
|
+
import { TransportManager, TransportResponse } from "./transportTypes.js";
|
|
13
|
+
/**
|
|
14
|
+
* A transport manager that dynamically handles both stateful and stateless requests.
|
|
15
|
+
* It inspects each request and routes it to an underlying stateful manager if it
|
|
16
|
+
* contains a session ID or is an initialization request. Otherwise, it handles
|
|
17
|
+
* the request ephemerally using a temporary stateless manager.
|
|
18
|
+
*/
|
|
19
|
+
export declare class AutoTransportManager implements TransportManager {
|
|
20
|
+
private readonly statefulManager;
|
|
21
|
+
private readonly statelessManager;
|
|
22
|
+
/**
|
|
23
|
+
* @param createServerInstanceFn A factory function to create new McpServer instances.
|
|
24
|
+
* @param options Configuration options, primarily for the underlying stateful manager.
|
|
25
|
+
*/
|
|
26
|
+
constructor(createServerInstanceFn: () => Promise<McpServer>, options: StatefulTransportOptions);
|
|
27
|
+
/**
|
|
28
|
+
* Handles an incoming request by routing it to the appropriate manager.
|
|
29
|
+
* If the request is an `initialize` request or includes a session ID, it is
|
|
30
|
+
* delegated to the stateful manager. Otherwise, a new stateless manager is
|
|
31
|
+
* created to handle the single request.
|
|
32
|
+
* @param request The standardized transport request object.
|
|
33
|
+
* @returns A promise that resolves to a TransportResponse object.
|
|
34
|
+
*/
|
|
35
|
+
handleRequest(request: McpTransportRequest): Promise<TransportResponse>;
|
|
36
|
+
/**
|
|
37
|
+
* Delegates a session deletion request to the underlying stateful manager.
|
|
38
|
+
* @param sessionId The ID of the session to delete.
|
|
39
|
+
* @param context The request context.
|
|
40
|
+
* @returns A promise resolving to a TransportResponse confirming closure.
|
|
41
|
+
*/
|
|
42
|
+
handleDeleteRequest(sessionId: string, context: RequestContext): Promise<TransportResponse>;
|
|
43
|
+
/**
|
|
44
|
+
* Shuts down the underlying stateful manager, cleaning up all its resources.
|
|
45
|
+
*/
|
|
46
|
+
shutdown(): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=autoTransportManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoTransportManager.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/autoTransportManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAEL,wBAAwB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4B;IAE7D;;;OAGG;gBAED,sBAAsB,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,EAChD,OAAO,EAAE,wBAAwB;IAWnC;;;;;;;OAOG;IACG,aAAa,CACjB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;IAe7B;;;;;OAKG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAI7B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { StatefulTransportManager, } from "./statefulTransportManager.js";
|
|
3
|
+
import { StatelessTransportManager } from "./statelessTransportManager.js";
|
|
4
|
+
/**
|
|
5
|
+
* A transport manager that dynamically handles both stateful and stateless requests.
|
|
6
|
+
* It inspects each request and routes it to an underlying stateful manager if it
|
|
7
|
+
* contains a session ID or is an initialization request. Otherwise, it handles
|
|
8
|
+
* the request ephemerally using a temporary stateless manager.
|
|
9
|
+
*/
|
|
10
|
+
export class AutoTransportManager {
|
|
11
|
+
statefulManager;
|
|
12
|
+
statelessManager;
|
|
13
|
+
/**
|
|
14
|
+
* @param createServerInstanceFn A factory function to create new McpServer instances.
|
|
15
|
+
* @param options Configuration options, primarily for the underlying stateful manager.
|
|
16
|
+
*/
|
|
17
|
+
constructor(createServerInstanceFn, options) {
|
|
18
|
+
this.statefulManager = new StatefulTransportManager(createServerInstanceFn, options);
|
|
19
|
+
this.statelessManager = new StatelessTransportManager(createServerInstanceFn);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Handles an incoming request by routing it to the appropriate manager.
|
|
23
|
+
* If the request is an `initialize` request or includes a session ID, it is
|
|
24
|
+
* delegated to the stateful manager. Otherwise, a new stateless manager is
|
|
25
|
+
* created to handle the single request.
|
|
26
|
+
* @param request The standardized transport request object.
|
|
27
|
+
* @returns A promise that resolves to a TransportResponse object.
|
|
28
|
+
*/
|
|
29
|
+
async handleRequest(request) {
|
|
30
|
+
const { body, sessionId } = request;
|
|
31
|
+
// Route to stateful manager if it's an initialize request or has a session ID
|
|
32
|
+
if (isInitializeRequest(body) || sessionId) {
|
|
33
|
+
// The plan describes an intermediate state for StatefulTransportManager's handleRequest,
|
|
34
|
+
// but for consistency with the new TransportManager interface, we will pass the whole request object.
|
|
35
|
+
// This anticipates the final state of the refactoring.
|
|
36
|
+
return this.statefulManager.handleRequest(request);
|
|
37
|
+
}
|
|
38
|
+
// Otherwise, handle as a one-off stateless request
|
|
39
|
+
return this.statelessManager.handleRequest(request);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Delegates a session deletion request to the underlying stateful manager.
|
|
43
|
+
* @param sessionId The ID of the session to delete.
|
|
44
|
+
* @param context The request context.
|
|
45
|
+
* @returns A promise resolving to a TransportResponse confirming closure.
|
|
46
|
+
*/
|
|
47
|
+
async handleDeleteRequest(sessionId, context) {
|
|
48
|
+
return this.statefulManager.handleDeleteRequest(sessionId, context);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Shuts down the underlying stateful manager, cleaning up all its resources.
|
|
52
|
+
*/
|
|
53
|
+
async shutdown() {
|
|
54
|
+
await this.statefulManager.shutdown();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=autoTransportManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoTransportManager.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/autoTransportManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EACL,wBAAwB,GAEzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IACd,eAAe,CAA2B;IAC1C,gBAAgB,CAA4B;IAE7D;;;OAGG;IACH,YACE,sBAAgD,EAChD,OAAiC;QAEjC,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAwB,CACjD,sBAAsB,EACtB,OAAO,CACR,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAyB,CACnD,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACjB,OAA4B;QAE5B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAEpC,8EAA8E;QAC9E,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YAC3C,yFAAyF;YACzF,sGAAsG;YACtG,uDAAuD;YACvD,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,mDAAmD;QACnD,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CACvB,SAAiB,EACjB,OAAuB;QAEvB,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* @module src/mcp-server/transports/core/baseTransportManager
|
|
4
4
|
*/
|
|
5
5
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
6
|
-
import
|
|
7
|
-
import { RequestContext } from "../../../utils/index.js";
|
|
6
|
+
import { McpTransportRequest } from "./transportRequest.js";
|
|
8
7
|
import { TransportManager, TransportResponse } from "./transportTypes.js";
|
|
9
8
|
/**
|
|
10
9
|
* Abstract base class for transport managers, providing common functionality.
|
|
@@ -12,7 +11,7 @@ import { TransportManager, TransportResponse } from "./transportTypes.js";
|
|
|
12
11
|
export declare abstract class BaseTransportManager implements TransportManager {
|
|
13
12
|
protected readonly createServerInstanceFn: () => Promise<McpServer>;
|
|
14
13
|
constructor(createServerInstanceFn: () => Promise<McpServer>);
|
|
15
|
-
abstract handleRequest(
|
|
14
|
+
abstract handleRequest(request: McpTransportRequest): Promise<TransportResponse>;
|
|
16
15
|
abstract shutdown(): Promise<void>;
|
|
17
16
|
}
|
|
18
17
|
//# sourceMappingURL=baseTransportManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTransportManager.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/baseTransportManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"baseTransportManager.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/baseTransportManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;GAEG;AACH,8BAAsB,oBAAqB,YAAW,gBAAgB;IACpE,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;gBAExD,sBAAsB,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC;IAS5D,QAAQ,CAAC,aAAa,CACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC;IAE7B,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CACnC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @fileoverview Abstract base class for transport managers.
|
|
3
3
|
* @module src/mcp-server/transports/core/baseTransportManager
|
|
4
4
|
*/
|
|
5
|
-
import { logger, requestContextService
|
|
5
|
+
import { logger, requestContextService } from "../../../utils/index.js";
|
|
6
6
|
/**
|
|
7
7
|
* Abstract base class for transport managers, providing common functionality.
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTransportManager.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/baseTransportManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"baseTransportManager.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/baseTransportManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIjE;;GAEG;AACH,MAAM,OAAgB,oBAAoB;IACrB,sBAAsB,CAA2B;IAEpE,YAAY,sBAAgD;QAC1D,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,kCAAkC;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;SACnC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QACzD,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACvD,CAAC;CAOF"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* and Web Standards formats, ensuring compliance and correctness.
|
|
4
4
|
* @module src/mcp-server/transports/core/headerUtils
|
|
5
5
|
*/
|
|
6
|
-
import type { OutgoingHttpHeaders } from "http";
|
|
6
|
+
import type { OutgoingHttpHeaders, IncomingHttpHeaders } from "http";
|
|
7
7
|
/**
|
|
8
8
|
* Converts Node.js-style OutgoingHttpHeaders to a Web-standard Headers object.
|
|
9
9
|
*
|
|
@@ -17,4 +17,11 @@ import type { OutgoingHttpHeaders } from "http";
|
|
|
17
17
|
* @returns A Web-standard Headers object.
|
|
18
18
|
*/
|
|
19
19
|
export declare function convertNodeHeadersToWebHeaders(nodeHeaders: OutgoingHttpHeaders): Headers;
|
|
20
|
+
/**
|
|
21
|
+
* Converts a Web-standard Headers object (used by Hono) to Node.js-style IncomingHttpHeaders.
|
|
22
|
+
*
|
|
23
|
+
* @param webHeaders - The Web-standard Headers object to convert.
|
|
24
|
+
* @returns A Node.js-style IncomingHttpHeaders object.
|
|
25
|
+
*/
|
|
26
|
+
export declare function convertWebHeadersToNodeHeaders(webHeaders: Headers): IncomingHttpHeaders;
|
|
20
27
|
//# sourceMappingURL=headerUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerUtils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/headerUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"headerUtils.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/core/headerUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAErE;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,mBAAmB,GAC/B,OAAO,CAmBT;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,OAAO,GAClB,mBAAmB,CAQrB"}
|