easy-mcp-nest 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +417 -0
  3. package/dist/EasyMCP.d.ts +8 -0
  4. package/dist/EasyMCP.js +105 -0
  5. package/dist/EasyMCP.js.map +1 -0
  6. package/dist/app.controller.d.ts +6 -0
  7. package/dist/app.controller.js +35 -0
  8. package/dist/app.controller.js.map +1 -0
  9. package/dist/app.module.d.ts +2 -0
  10. package/dist/app.module.js +34 -0
  11. package/dist/app.module.js.map +1 -0
  12. package/dist/app.service.d.ts +3 -0
  13. package/dist/app.service.js +20 -0
  14. package/dist/app.service.js.map +1 -0
  15. package/dist/config/config-holder.service.d.ts +6 -0
  16. package/dist/config/config-holder.service.js +32 -0
  17. package/dist/config/config-holder.service.js.map +1 -0
  18. package/dist/config/config-validator.d.ts +5 -0
  19. package/dist/config/config-validator.js +78 -0
  20. package/dist/config/config-validator.js.map +1 -0
  21. package/dist/config/constants.d.ts +4 -0
  22. package/dist/config/constants.js +8 -0
  23. package/dist/config/constants.js.map +1 -0
  24. package/dist/config/mcp-config.interface.d.ts +18 -0
  25. package/dist/config/mcp-config.interface.js +3 -0
  26. package/dist/config/mcp-config.interface.js.map +1 -0
  27. package/dist/config/version.d.ts +4 -0
  28. package/dist/config/version.js +41 -0
  29. package/dist/config/version.js.map +1 -0
  30. package/dist/core/core.module.d.ts +2 -0
  31. package/dist/core/core.module.js +24 -0
  32. package/dist/core/core.module.js.map +1 -0
  33. package/dist/core/errors/easy-mcp-error.d.ts +14 -0
  34. package/dist/core/errors/easy-mcp-error.js +39 -0
  35. package/dist/core/errors/easy-mcp-error.js.map +1 -0
  36. package/dist/core/mcp-server/mcp-server.service.d.ts +22 -0
  37. package/dist/core/mcp-server/mcp-server.service.js +285 -0
  38. package/dist/core/mcp-server/mcp-server.service.js.map +1 -0
  39. package/dist/core/utils/logger.util.d.ts +26 -0
  40. package/dist/core/utils/logger.util.js +44 -0
  41. package/dist/core/utils/logger.util.js.map +1 -0
  42. package/dist/core/utils/nestjs-stderr-logger.d.ts +9 -0
  43. package/dist/core/utils/nestjs-stderr-logger.js +123 -0
  44. package/dist/core/utils/nestjs-stderr-logger.js.map +1 -0
  45. package/dist/core/utils/sanitize.util.d.ts +6 -0
  46. package/dist/core/utils/sanitize.util.js +111 -0
  47. package/dist/core/utils/sanitize.util.js.map +1 -0
  48. package/dist/core/utils/schema-validator.d.ts +2 -0
  49. package/dist/core/utils/schema-validator.js +62 -0
  50. package/dist/core/utils/schema-validator.js.map +1 -0
  51. package/dist/index.d.ts +11 -0
  52. package/dist/index.js +22 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/interface/interface.interface.d.ts +4 -0
  55. package/dist/interface/interface.interface.js +3 -0
  56. package/dist/interface/interface.interface.js.map +1 -0
  57. package/dist/interface/interface.module.d.ts +2 -0
  58. package/dist/interface/interface.module.js +29 -0
  59. package/dist/interface/interface.module.js.map +1 -0
  60. package/dist/interface/jsonrpc.interface.d.ts +27 -0
  61. package/dist/interface/jsonrpc.interface.js +42 -0
  62. package/dist/interface/jsonrpc.interface.js.map +1 -0
  63. package/dist/interface/mcp-protocol.interface.d.ts +58 -0
  64. package/dist/interface/mcp-protocol.interface.js +13 -0
  65. package/dist/interface/mcp-protocol.interface.js.map +1 -0
  66. package/dist/interface/mcp.interface.d.ts +44 -0
  67. package/dist/interface/mcp.interface.js +3 -0
  68. package/dist/interface/mcp.interface.js.map +1 -0
  69. package/dist/interface/stdio-gateway.service.d.ts +20 -0
  70. package/dist/interface/stdio-gateway.service.js +373 -0
  71. package/dist/interface/stdio-gateway.service.js.map +1 -0
  72. package/dist/main.d.ts +1 -0
  73. package/dist/main.js +17 -0
  74. package/dist/main.js.map +1 -0
  75. package/dist/tooling/tool-registry/tool-registry.service.d.ts +23 -0
  76. package/dist/tooling/tool-registry/tool-registry.service.js +122 -0
  77. package/dist/tooling/tool-registry/tool-registry.service.js.map +1 -0
  78. package/dist/tooling/tool.interface.d.ts +13 -0
  79. package/dist/tooling/tool.interface.js +3 -0
  80. package/dist/tooling/tool.interface.js.map +1 -0
  81. package/dist/tsconfig.build.tsbuildinfo +1 -0
  82. package/package.json +104 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.service.js","sourceRoot":"","sources":["../../../src/core/mcp-server/mcp-server.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export declare enum LogLevel {
2
+ DEBUG = "debug",
3
+ INFO = "info",
4
+ WARN = "warn",
5
+ ERROR = "error"
6
+ }
7
+ export interface LogEntry {
8
+ timestamp: string;
9
+ level: LogLevel;
10
+ component: string;
11
+ message: string;
12
+ metadata?: Record<string, any>;
13
+ requestId?: string | number | null;
14
+ actor?: string;
15
+ action?: string;
16
+ outcome?: 'success' | 'failure';
17
+ }
18
+ export declare function logStructured(level: LogLevel, component: string, message: string, metadata?: Record<string, any>): void;
19
+ export declare function logAudit(component: string, action: string, outcome: 'success' | 'failure', metadata?: Record<string, any>, requestId?: string | number | null, actor?: string): void;
20
+ export declare const logger: {
21
+ debug: (component: string, message: string, metadata?: Record<string, any>) => void;
22
+ info: (component: string, message: string, metadata?: Record<string, any>) => void;
23
+ warn: (component: string, message: string, metadata?: Record<string, any>) => void;
24
+ error: (component: string, message: string, metadata?: Record<string, any>) => void;
25
+ audit: (component: string, action: string, outcome: "success" | "failure", metadata?: Record<string, any>, requestId?: string | number | null, actor?: string) => void;
26
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = exports.LogLevel = void 0;
4
+ exports.logStructured = logStructured;
5
+ exports.logAudit = logAudit;
6
+ var LogLevel;
7
+ (function (LogLevel) {
8
+ LogLevel["DEBUG"] = "debug";
9
+ LogLevel["INFO"] = "info";
10
+ LogLevel["WARN"] = "warn";
11
+ LogLevel["ERROR"] = "error";
12
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
13
+ function logStructured(level, component, message, metadata) {
14
+ const entry = {
15
+ timestamp: new Date().toISOString(),
16
+ level,
17
+ component,
18
+ message,
19
+ ...(metadata && { metadata }),
20
+ };
21
+ process.stderr.write(JSON.stringify(entry) + '\n');
22
+ }
23
+ function logAudit(component, action, outcome, metadata, requestId, actor) {
24
+ const entry = {
25
+ timestamp: new Date().toISOString(),
26
+ level: LogLevel.INFO,
27
+ component,
28
+ message: `Audit: ${action} - ${outcome}`,
29
+ action,
30
+ outcome,
31
+ ...(requestId !== undefined && { requestId }),
32
+ ...(actor && { actor }),
33
+ ...(metadata && { metadata }),
34
+ };
35
+ process.stderr.write(JSON.stringify(entry) + '\n');
36
+ }
37
+ exports.logger = {
38
+ debug: (component, message, metadata) => logStructured(LogLevel.DEBUG, component, message, metadata),
39
+ info: (component, message, metadata) => logStructured(LogLevel.INFO, component, message, metadata),
40
+ warn: (component, message, metadata) => logStructured(LogLevel.WARN, component, message, metadata),
41
+ error: (component, message, metadata) => logStructured(LogLevel.ERROR, component, message, metadata),
42
+ audit: (component, action, outcome, metadata, requestId, actor) => logAudit(component, action, outcome, metadata, requestId, actor),
43
+ };
44
+ //# sourceMappingURL=logger.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.util.js","sourceRoot":"","sources":["../../../src/core/utils/logger.util.ts"],"names":[],"mappings":";;;AA4BA,sCAgBC;AAMD,4BAqBC;AAlED,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAkBD,SAAgB,aAAa,CAC3B,KAAe,EACf,SAAiB,EACjB,OAAe,EACf,QAA8B;IAE9B,MAAM,KAAK,GAAa;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,SAAS;QACT,OAAO;QACP,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC9B,CAAC;IAGF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACrD,CAAC;AAMD,SAAgB,QAAQ,CACtB,SAAiB,EACjB,MAAc,EACd,OAA8B,EAC9B,QAA8B,EAC9B,SAAkC,EAClC,KAAc;IAEd,MAAM,KAAK,GAAa;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,QAAQ,CAAC,IAAI;QACpB,SAAS;QACT,OAAO,EAAE,UAAU,MAAM,MAAM,OAAO,EAAE;QACxC,MAAM;QACN,OAAO;QACP,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;QACvB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC9B,CAAC;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACrD,CAAC;AAKY,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAE,QAA8B,EAAE,EAAE,CAC5E,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC7D,IAAI,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAE,QAA8B,EAAE,EAAE,CAC3E,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC5D,IAAI,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAE,QAA8B,EAAE,EAAE,CAC3E,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC5D,KAAK,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAE,QAA8B,EAAE,EAAE,CAC5E,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC7D,KAAK,EAAE,CACL,SAAiB,EACjB,MAAc,EACd,OAA8B,EAC9B,QAA8B,EAC9B,SAAkC,EAClC,KAAc,EACd,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC;CACtE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { LoggerService } from '@nestjs/common';
2
+ export declare class NestjsStderrLogger implements LoggerService {
3
+ log(message: any, context?: string): void;
4
+ error(message: any, trace?: string, context?: string): void;
5
+ warn(message: any, context?: string): void;
6
+ debug(message: any, context?: string): void;
7
+ verbose(message: any, context?: string): void;
8
+ private writeToStderr;
9
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NestjsStderrLogger = void 0;
4
+ const sanitize_util_1 = require("./sanitize.util");
5
+ function safeStringify(value, fallback = '[non-serializable]') {
6
+ if (value === null || value === undefined) {
7
+ return String(value);
8
+ }
9
+ if (typeof value === 'string') {
10
+ return value;
11
+ }
12
+ try {
13
+ return JSON.stringify(value);
14
+ }
15
+ catch (error) {
16
+ return fallback;
17
+ }
18
+ }
19
+ function sanitizeTrace(trace) {
20
+ if (!trace || typeof trace !== 'string') {
21
+ return '';
22
+ }
23
+ const maxTraceLength = 500;
24
+ let sanitized = trace;
25
+ sanitized = sanitized.replace(/\/[^\s]+/g, '[path]');
26
+ if (sanitized.length > maxTraceLength) {
27
+ sanitized = sanitized.substring(0, maxTraceLength) + '... [truncated]';
28
+ }
29
+ return sanitized;
30
+ }
31
+ class NestjsStderrLogger {
32
+ log(message, context) {
33
+ this.writeToStderr('info', message, context);
34
+ }
35
+ error(message, trace, context) {
36
+ this.writeToStderr('error', message, context, trace);
37
+ }
38
+ warn(message, context) {
39
+ this.writeToStderr('warn', message, context);
40
+ }
41
+ debug(message, context) {
42
+ this.writeToStderr('debug', message, context);
43
+ }
44
+ verbose(message, context) {
45
+ this.writeToStderr('verbose', message, context);
46
+ }
47
+ writeToStderr(level, message, context, trace) {
48
+ try {
49
+ let messageStr;
50
+ let metadata;
51
+ if (typeof message === 'string') {
52
+ messageStr = message;
53
+ }
54
+ else if (typeof message === 'object' && message !== null && !Array.isArray(message)) {
55
+ const { message: msg, ...rest } = message;
56
+ if (msg !== undefined) {
57
+ messageStr = typeof msg === 'string' ? msg : safeStringify(msg, '[message could not be serialized]');
58
+ }
59
+ else {
60
+ messageStr = safeStringify(message, '[object could not be serialized]');
61
+ }
62
+ if (Object.keys(rest).length > 0) {
63
+ try {
64
+ metadata = (0, sanitize_util_1.sanitizeObject)(rest, ['password', 'token', 'apiKey', 'secret', 'auth', 'credential', 'key', 'apikey']);
65
+ }
66
+ catch {
67
+ metadata = { error: '[metadata could not be sanitized]' };
68
+ }
69
+ }
70
+ }
71
+ else {
72
+ messageStr = safeStringify(message, '[value could not be serialized]');
73
+ }
74
+ const logEntry = {
75
+ timestamp: new Date().toISOString(),
76
+ level: level.toLowerCase(),
77
+ component: context || 'NestJS',
78
+ message: messageStr,
79
+ };
80
+ if (metadata) {
81
+ logEntry.metadata = metadata;
82
+ }
83
+ if (trace) {
84
+ logEntry.trace = sanitizeTrace(trace);
85
+ }
86
+ try {
87
+ const logJson = JSON.stringify(logEntry);
88
+ process.stderr.write(logJson + '\n');
89
+ }
90
+ catch (error) {
91
+ const fallbackEntry = {
92
+ timestamp: new Date().toISOString(),
93
+ level: 'error',
94
+ component: 'NestjsStderrLogger',
95
+ message: 'Failed to serialize log entry',
96
+ metadata: { originalLevel: level, originalContext: context },
97
+ };
98
+ try {
99
+ process.stderr.write(JSON.stringify(fallbackEntry) + '\n');
100
+ }
101
+ catch {
102
+ process.stderr.write(`[${new Date().toISOString()}] ERROR NestjsStderrLogger: Failed to write log entry\n`);
103
+ }
104
+ }
105
+ }
106
+ catch (error) {
107
+ try {
108
+ const errorEntry = {
109
+ timestamp: new Date().toISOString(),
110
+ level: 'error',
111
+ component: 'NestjsStderrLogger',
112
+ message: 'Logger error: ' + (0, sanitize_util_1.sanitizeErrorMessage)(error),
113
+ };
114
+ process.stderr.write(JSON.stringify(errorEntry) + '\n');
115
+ }
116
+ catch {
117
+ process.stderr.write(`[${new Date().toISOString()}] ERROR NestjsStderrLogger: Critical logger failure\n`);
118
+ }
119
+ }
120
+ }
121
+ }
122
+ exports.NestjsStderrLogger = NestjsStderrLogger;
123
+ //# sourceMappingURL=nestjs-stderr-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nestjs-stderr-logger.js","sourceRoot":"","sources":["../../../src/core/utils/nestjs-stderr-logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function sanitizeValue(value: any, maxLength?: number): string;
2
+ export declare function sanitizeObject(obj: Record<string, any>, sensitiveKeys?: string[]): Record<string, any>;
3
+ export declare function sanitizeToolArgs(args: Record<string, any>): Record<string, any>;
4
+ export declare function sanitizeToolResult(result: any): string;
5
+ export declare function sanitizeErrorMessage(error: unknown): string;
6
+ export declare function sanitizeFilePath(filePath: string): string;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sanitizeValue = sanitizeValue;
4
+ exports.sanitizeObject = sanitizeObject;
5
+ exports.sanitizeToolArgs = sanitizeToolArgs;
6
+ exports.sanitizeToolResult = sanitizeToolResult;
7
+ exports.sanitizeErrorMessage = sanitizeErrorMessage;
8
+ exports.sanitizeFilePath = sanitizeFilePath;
9
+ function sanitizeValue(value, maxLength = 50) {
10
+ if (value === null || value === undefined) {
11
+ return String(value);
12
+ }
13
+ if (typeof value === 'string') {
14
+ if (value.length > maxLength) {
15
+ return `${value.substring(0, maxLength)}... [truncated]`;
16
+ }
17
+ return value;
18
+ }
19
+ if (typeof value === 'object') {
20
+ try {
21
+ const jsonString = JSON.stringify(value);
22
+ if (jsonString.length > maxLength) {
23
+ return `${jsonString.substring(0, maxLength)}... [truncated]`;
24
+ }
25
+ return jsonString;
26
+ }
27
+ catch {
28
+ return '[object] [non-serializable]';
29
+ }
30
+ }
31
+ return String(value);
32
+ }
33
+ function sanitizeObject(obj, sensitiveKeys = ['password', 'token', 'apiKey', 'secret', 'auth', 'credential', 'key']) {
34
+ if (!obj || typeof obj !== 'object') {
35
+ return obj;
36
+ }
37
+ const sanitized = {};
38
+ const lowerSensitiveKeys = sensitiveKeys.map(k => k.toLowerCase());
39
+ for (const [key, value] of Object.entries(obj)) {
40
+ const lowerKey = key.toLowerCase();
41
+ if (lowerSensitiveKeys.some(sensitiveKey => lowerKey.includes(sensitiveKey))) {
42
+ sanitized[key] = '[REDACTED]';
43
+ }
44
+ else if (Array.isArray(value)) {
45
+ sanitized[key] = value.map((item) => item && typeof item === 'object' && !Array.isArray(item)
46
+ ? sanitizeObject(item, sensitiveKeys)
47
+ : item);
48
+ }
49
+ else if (typeof value === 'object' && value !== null) {
50
+ sanitized[key] = sanitizeObject(value, sensitiveKeys);
51
+ }
52
+ else {
53
+ sanitized[key] = value;
54
+ }
55
+ }
56
+ return sanitized;
57
+ }
58
+ function sanitizeToolArgs(args) {
59
+ return sanitizeObject(args, ['password', 'token', 'apiKey', 'secret', 'auth', 'credential', 'key', 'apikey']);
60
+ }
61
+ function sanitizeToolResult(result) {
62
+ if (result === null || result === undefined) {
63
+ return String(result);
64
+ }
65
+ if (typeof result === 'string') {
66
+ let sanitized = result;
67
+ sanitized = sanitized.replace(/api[_-]?key['":\s]*[=:]\s*[^\s,}]+/gi, 'api[REDACTED]');
68
+ sanitized = sanitized.replace(/token['":\s]*[=:]\s*[^\s,}]+/gi, 'token[REDACTED]');
69
+ sanitized = sanitized.replace(/password['":\s]*[=:]\s*[^\s,}]+/gi, 'password[REDACTED]');
70
+ sanitized = sanitized.replace(/secret['":\s]*[=:]\s*[^\s,}]+/gi, 'secret[REDACTED]');
71
+ return sanitized;
72
+ }
73
+ if (typeof result === 'object') {
74
+ try {
75
+ const sanitized = sanitizeObject(result, ['password', 'token', 'apiKey', 'secret', 'auth', 'credential', 'key', 'apikey']);
76
+ return JSON.stringify(sanitized);
77
+ }
78
+ catch {
79
+ return '[Tool result could not be serialized]';
80
+ }
81
+ }
82
+ return String(result);
83
+ }
84
+ function sanitizeErrorMessage(error) {
85
+ if (error instanceof Error) {
86
+ let message = error.message;
87
+ message = message.replace(/api[_-]?key['":\s]*[=:]\s*[^\s,}]+/gi, 'api[REDACTED]');
88
+ message = message.replace(/token['":\s]*[=:]\s*[^\s,}]+/gi, 'token[REDACTED]');
89
+ message = message.replace(/password['":\s]*[=:]\s*[^\s,}]+/gi, 'password[REDACTED]');
90
+ message = message.replace(/secret['":\s]*[=:]\s*[^\s,}]+/gi, 'secret[REDACTED]');
91
+ return message;
92
+ }
93
+ return 'An unknown error occurred';
94
+ }
95
+ function sanitizeFilePath(filePath) {
96
+ if (!filePath || typeof filePath !== 'string') {
97
+ return '[invalid path]';
98
+ }
99
+ try {
100
+ const pathParts = filePath.split(/[/\\]/);
101
+ const filename = pathParts[pathParts.length - 1];
102
+ if (filename && filename.length < 100) {
103
+ return filename;
104
+ }
105
+ return filename ? `${filename.substring(0, 50)}...` : '[path]';
106
+ }
107
+ catch {
108
+ return '[path]';
109
+ }
110
+ }
111
+ //# sourceMappingURL=sanitize.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.util.js","sourceRoot":"","sources":["../../../src/core/utils/sanitize.util.ts"],"names":[],"mappings":";;AAWA,sCA2BC;AAQD,wCAiCC;AAOD,4CAEC;AAOD,gDA4BC;AAOD,oDAeC;AAQD,4CAqBC;AAnKD,SAAgB,aAAa,CAAC,KAAU,EAAE,YAAoB,EAAE;IAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAE9B,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC7B,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;gBAClC,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC;YAChE,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,6BAA6B,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAQD,SAAgB,cAAc,CAC5B,GAAwB,EACxB,gBAA0B,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC;IAEhG,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAwB,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAEnE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAGnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC7E,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAChC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAEhC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtD,CAAC,CAAC,cAAc,CAAC,IAA2B,EAAE,aAAa,CAAC;gBAC5D,CAAC,CAAC,IAAI,CACF,CAAC;QACX,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAEvD,SAAS,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAA4B,EAAE,aAAa,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,SAAgB,gBAAgB,CAAC,IAAyB;IACxD,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChH,CAAC;AAOD,SAAgB,kBAAkB,CAAC,MAAW;IAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAE/B,IAAI,SAAS,GAAG,MAAM,CAAC;QAEvB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;QACvF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;QACnF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,mCAAmC,EAAE,oBAAoB,CAAC,CAAC;QACzF,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iCAAiC,EAAE,kBAAkB,CAAC,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YAEH,MAAM,SAAS,GAAG,cAAc,CAAC,MAA6B,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAClJ,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YAEP,OAAO,uCAAuC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAOD,SAAgB,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAE3B,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAG5B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;QACnF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;QAC/E,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,mCAAmC,EAAE,oBAAoB,CAAC,CAAC;QACrF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,kBAAkB,CAAC,CAAC;QAEjF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAQD,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAGjD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAGD,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ToolParameter } from "../../tooling/tool.interface";
2
+ export declare function validateToolArguments(args: Record<string, any>, parameters: Record<string, ToolParameter>, required: string[]): string | null;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateToolArguments = validateToolArguments;
4
+ function validateToolArguments(args, parameters, required) {
5
+ for (const paramName of required) {
6
+ if (!(paramName in args) || args[paramName] === undefined || args[paramName] === null) {
7
+ return `Missing required parameter: ${paramName}`;
8
+ }
9
+ }
10
+ for (const [paramName, paramValue] of Object.entries(args)) {
11
+ const paramDef = parameters[paramName];
12
+ if (!paramDef) {
13
+ return `Unknown parameter: ${paramName}`;
14
+ }
15
+ const validationError = validateParameterType(paramName, paramValue, paramDef);
16
+ if (validationError) {
17
+ return validationError;
18
+ }
19
+ if (paramDef.enum && !paramDef.enum.includes(paramValue)) {
20
+ return `Parameter '${paramName}' must be one of: ${paramDef.enum.join(", ")}`;
21
+ }
22
+ }
23
+ return null;
24
+ }
25
+ function validateParameterType(paramName, value, paramDef) {
26
+ switch (paramDef.type) {
27
+ case "string":
28
+ if (typeof value !== "string") {
29
+ return `Parameter '${paramName}' must be a string`;
30
+ }
31
+ break;
32
+ case "number":
33
+ if (typeof value !== "number" || isNaN(value)) {
34
+ return `Parameter '${paramName}' must be a number`;
35
+ }
36
+ break;
37
+ case "integer":
38
+ if (typeof value !== "number" || !Number.isInteger(value)) {
39
+ return `Parameter '${paramName}' must be an integer`;
40
+ }
41
+ break;
42
+ case "boolean":
43
+ if (typeof value !== "boolean") {
44
+ return `Parameter '${paramName}' must be a boolean`;
45
+ }
46
+ break;
47
+ case "array":
48
+ if (!Array.isArray(value)) {
49
+ return `Parameter '${paramName}' must be an array`;
50
+ }
51
+ break;
52
+ case "object":
53
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
54
+ return `Parameter '${paramName}' must be an object`;
55
+ }
56
+ break;
57
+ default:
58
+ return `Parameter '${paramName}' has unsupported type: ${paramDef.type}`;
59
+ }
60
+ return null;
61
+ }
62
+ //# sourceMappingURL=schema-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/core/utils/schema-validator.ts"],"names":[],"mappings":";;AASA,sDAiCC;AAjCD,SAAgB,qBAAqB,CACnC,IAAyB,EACzB,UAAyC,EACzC,QAAkB;IAGlB,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACtF,OAAO,+BAA+B,SAAS,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAGD,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,sBAAsB,SAAS,EAAE,CAAC;QAC3C,CAAC;QAGD,MAAM,eAAe,GAAG,qBAAqB,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/E,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAGD,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,OAAO,cAAc,SAAS,qBAAqB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,KAAU,EACV,QAAuB;IAEvB,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,cAAc,SAAS,oBAAoB,CAAC;YACrD,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,OAAO,cAAc,SAAS,oBAAoB,CAAC;YACrD,CAAC;YACD,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,OAAO,cAAc,SAAS,sBAAsB,CAAC;YACvD,CAAC;YACD,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,cAAc,SAAS,qBAAqB,CAAC;YACtD,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,cAAc,SAAS,oBAAoB,CAAC;YACrD,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,OAAO,cAAc,SAAS,qBAAqB,CAAC;YACtD,CAAC;YACD,MAAM;QACR;YACE,OAAO,cAAc,SAAS,2BAA2B,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { EasyMCP } from './EasyMCP';
2
+ export type { McpConfig, ToolRegistrationInput, ServerInfo, } from './config/mcp-config.interface';
3
+ export type { IInterfaceLayer } from './interface/interface.interface';
4
+ export type { JsonRpcRequest, JsonRpcResponse, JsonRpcError, } from './interface/jsonrpc.interface';
5
+ export { JsonRpcErrorCode } from './interface/jsonrpc.interface';
6
+ export type { InitializeParams, InitializeResult, ListToolsResult, McpTool, CallToolParams, CallToolResult, } from './interface/mcp-protocol.interface';
7
+ export { McpErrorCode } from './interface/mcp-protocol.interface';
8
+ export type { ToolDefinition, ToolParameter, ToolFunction, } from './tooling/tool.interface';
9
+ export { EasyMcpError, ConfigurationError, ToolExecutionError, ToolNotFoundError, } from './core/errors/easy-mcp-error';
10
+ export { INTERFACE_LAYER_TOKEN } from './config/constants';
11
+ export { VERSION, PACKAGE_NAME, getVersion, getPackageName } from './config/version';
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPackageName = exports.getVersion = exports.PACKAGE_NAME = exports.VERSION = exports.INTERFACE_LAYER_TOKEN = exports.ToolNotFoundError = exports.ToolExecutionError = exports.ConfigurationError = exports.EasyMcpError = exports.McpErrorCode = exports.JsonRpcErrorCode = exports.EasyMCP = void 0;
4
+ var EasyMCP_1 = require("./EasyMCP");
5
+ Object.defineProperty(exports, "EasyMCP", { enumerable: true, get: function () { return EasyMCP_1.EasyMCP; } });
6
+ var jsonrpc_interface_1 = require("./interface/jsonrpc.interface");
7
+ Object.defineProperty(exports, "JsonRpcErrorCode", { enumerable: true, get: function () { return jsonrpc_interface_1.JsonRpcErrorCode; } });
8
+ var mcp_protocol_interface_1 = require("./interface/mcp-protocol.interface");
9
+ Object.defineProperty(exports, "McpErrorCode", { enumerable: true, get: function () { return mcp_protocol_interface_1.McpErrorCode; } });
10
+ var easy_mcp_error_1 = require("./core/errors/easy-mcp-error");
11
+ Object.defineProperty(exports, "EasyMcpError", { enumerable: true, get: function () { return easy_mcp_error_1.EasyMcpError; } });
12
+ Object.defineProperty(exports, "ConfigurationError", { enumerable: true, get: function () { return easy_mcp_error_1.ConfigurationError; } });
13
+ Object.defineProperty(exports, "ToolExecutionError", { enumerable: true, get: function () { return easy_mcp_error_1.ToolExecutionError; } });
14
+ Object.defineProperty(exports, "ToolNotFoundError", { enumerable: true, get: function () { return easy_mcp_error_1.ToolNotFoundError; } });
15
+ var constants_1 = require("./config/constants");
16
+ Object.defineProperty(exports, "INTERFACE_LAYER_TOKEN", { enumerable: true, get: function () { return constants_1.INTERFACE_LAYER_TOKEN; } });
17
+ var version_1 = require("./config/version");
18
+ Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
19
+ Object.defineProperty(exports, "PACKAGE_NAME", { enumerable: true, get: function () { return version_1.PACKAGE_NAME; } });
20
+ Object.defineProperty(exports, "getVersion", { enumerable: true, get: function () { return version_1.getVersion; } });
21
+ Object.defineProperty(exports, "getPackageName", { enumerable: true, get: function () { return version_1.getPackageName; } });
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAmBhB,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AAYzB,6EAAkE;AAAzD,sHAAA,YAAY,OAAA;AAUrB,+DAKsC;AAJpC,8GAAA,YAAY,OAAA;AACZ,oHAAA,kBAAkB,OAAA;AAClB,oHAAA,kBAAkB,OAAA;AAClB,mHAAA,iBAAiB,OAAA;AAInB,gDAA2D;AAAlD,kHAAA,qBAAqB,OAAA;AAG9B,4CAAqF;AAA5E,kGAAA,OAAO,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,yGAAA,cAAc,OAAA"}
@@ -0,0 +1,4 @@
1
+ export interface IInterfaceLayer {
2
+ start(): Promise<void>;
3
+ sendMessage(sessionId: string, output: any): Promise<void>;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interface.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.interface.js","sourceRoot":"","sources":["../../src/interface/interface.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare class InterfaceModule {
2
+ }
@@ -0,0 +1,29 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.InterfaceModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const stdio_gateway_service_1 = require("./stdio-gateway.service");
12
+ const constants_1 = require("../config/constants");
13
+ let InterfaceModule = class InterfaceModule {
14
+ };
15
+ exports.InterfaceModule = InterfaceModule;
16
+ exports.InterfaceModule = InterfaceModule = __decorate([
17
+ (0, common_1.Global)(),
18
+ (0, common_1.Module)({
19
+ providers: [
20
+ stdio_gateway_service_1.StdioGatewayService,
21
+ {
22
+ provide: constants_1.INTERFACE_LAYER_TOKEN,
23
+ useExisting: stdio_gateway_service_1.StdioGatewayService,
24
+ },
25
+ ],
26
+ exports: [constants_1.INTERFACE_LAYER_TOKEN, stdio_gateway_service_1.StdioGatewayService],
27
+ })
28
+ ], InterfaceModule);
29
+ //# sourceMappingURL=interface.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.module.js","sourceRoot":"","sources":["../../src/interface/interface.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgD;AAChD,mEAA8D;AAC9D,mDAA4D;AAcrD,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,0CAAe;0BAAf,eAAe;IAZ3B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,2CAAmB;YACnB;gBACE,OAAO,EAAE,iCAAqB;gBAC9B,WAAW,EAAE,2CAAmB;aACjC;SACF;QAED,OAAO,EAAE,CAAC,iCAAqB,EAAE,2CAAmB,CAAC;KACtD,CAAC;GACW,eAAe,CAAG"}
@@ -0,0 +1,27 @@
1
+ export interface JsonRpcRequest {
2
+ jsonrpc: "2.0";
3
+ id: string | number | null;
4
+ method: string;
5
+ params?: any;
6
+ }
7
+ export interface JsonRpcResponse {
8
+ jsonrpc: "2.0";
9
+ id: string | number | null;
10
+ result?: any;
11
+ error?: JsonRpcError;
12
+ }
13
+ export interface JsonRpcError {
14
+ code: number;
15
+ message: string;
16
+ data?: any;
17
+ }
18
+ export declare enum JsonRpcErrorCode {
19
+ ParseError = -32700,
20
+ InvalidRequest = -32600,
21
+ MethodNotFound = -32601,
22
+ InvalidParams = -32602,
23
+ InternalError = -32603
24
+ }
25
+ export declare function isValidJsonRpcRequest(obj: any): obj is JsonRpcRequest;
26
+ export declare function createJsonRpcSuccess(id: string | number | null, result: any): JsonRpcResponse;
27
+ export declare function createJsonRpcError(id: string | number | null, code: number, message: string, data?: any): JsonRpcResponse;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonRpcErrorCode = void 0;
4
+ exports.isValidJsonRpcRequest = isValidJsonRpcRequest;
5
+ exports.createJsonRpcSuccess = createJsonRpcSuccess;
6
+ exports.createJsonRpcError = createJsonRpcError;
7
+ var JsonRpcErrorCode;
8
+ (function (JsonRpcErrorCode) {
9
+ JsonRpcErrorCode[JsonRpcErrorCode["ParseError"] = -32700] = "ParseError";
10
+ JsonRpcErrorCode[JsonRpcErrorCode["InvalidRequest"] = -32600] = "InvalidRequest";
11
+ JsonRpcErrorCode[JsonRpcErrorCode["MethodNotFound"] = -32601] = "MethodNotFound";
12
+ JsonRpcErrorCode[JsonRpcErrorCode["InvalidParams"] = -32602] = "InvalidParams";
13
+ JsonRpcErrorCode[JsonRpcErrorCode["InternalError"] = -32603] = "InternalError";
14
+ })(JsonRpcErrorCode || (exports.JsonRpcErrorCode = JsonRpcErrorCode = {}));
15
+ function isValidJsonRpcRequest(obj) {
16
+ return (obj &&
17
+ typeof obj === "object" &&
18
+ obj.jsonrpc === "2.0" &&
19
+ typeof obj.method === "string" &&
20
+ (obj.id === null ||
21
+ typeof obj.id === "string" ||
22
+ typeof obj.id === "number"));
23
+ }
24
+ function createJsonRpcSuccess(id, result) {
25
+ return {
26
+ jsonrpc: "2.0",
27
+ id,
28
+ result,
29
+ };
30
+ }
31
+ function createJsonRpcError(id, code, message, data) {
32
+ return {
33
+ jsonrpc: "2.0",
34
+ id,
35
+ error: {
36
+ code,
37
+ message,
38
+ ...(data !== undefined && { data }),
39
+ },
40
+ };
41
+ }
42
+ //# sourceMappingURL=jsonrpc.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonrpc.interface.js","sourceRoot":"","sources":["../../src/interface/jsonrpc.interface.ts"],"names":[],"mappings":";;;AA2CA,sDAUC;AAKD,oDASC;AAKD,gDAeC;AAvDD,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,wEAAmB,CAAA;IACnB,gFAAuB,CAAA;IACvB,gFAAuB,CAAA;IACvB,8EAAsB,CAAA;IACtB,8EAAsB,CAAA;AACxB,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B;AAKD,SAAgB,qBAAqB,CAAC,GAAQ;IAC5C,OAAO,CACL,GAAG;QACH,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,OAAO,KAAK,KAAK;QACrB,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI;YACd,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;YAC1B,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,CAAC,CAC9B,CAAC;AACJ,CAAC;AAKD,SAAgB,oBAAoB,CAClC,EAA0B,EAC1B,MAAW;IAEX,OAAO;QACL,OAAO,EAAE,KAAK;QACd,EAAE;QACF,MAAM;KACP,CAAC;AACJ,CAAC;AAKD,SAAgB,kBAAkB,CAChC,EAA0B,EAC1B,IAAY,EACZ,OAAe,EACf,IAAU;IAEV,OAAO;QACL,OAAO,EAAE,KAAK;QACd,EAAE;QACF,KAAK,EAAE;YACL,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;SACpC;KACF,CAAC;AACJ,CAAC"}