@muggleai/mcp-qa-gateway 1.0.1

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 (146) hide show
  1. package/README.md +185 -0
  2. package/dist/scripts/phase0-smoke.d.ts +7 -0
  3. package/dist/scripts/phase0-smoke.d.ts.map +1 -0
  4. package/dist/scripts/phase0-smoke.js +1712 -0
  5. package/dist/scripts/phase0-smoke.js.map +1 -0
  6. package/dist/scripts/types/phase0-smoke-types.d.ts +89 -0
  7. package/dist/scripts/types/phase0-smoke-types.d.ts.map +1 -0
  8. package/dist/scripts/types/phase0-smoke-types.js +3 -0
  9. package/dist/scripts/types/phase0-smoke-types.js.map +1 -0
  10. package/dist/src/__tests__/helpers/mock-setup.d.ts +28 -0
  11. package/dist/src/__tests__/helpers/mock-setup.d.ts.map +1 -0
  12. package/dist/src/__tests__/helpers/mock-setup.js +44 -0
  13. package/dist/src/__tests__/helpers/mock-setup.js.map +1 -0
  14. package/dist/src/__tests__/helpers/test-fixtures.d.ts +38 -0
  15. package/dist/src/__tests__/helpers/test-fixtures.d.ts.map +1 -0
  16. package/dist/src/__tests__/helpers/test-fixtures.js +62 -0
  17. package/dist/src/__tests__/helpers/test-fixtures.js.map +1 -0
  18. package/dist/src/__tests__/tools/artifact-tools.test.d.ts +9 -0
  19. package/dist/src/__tests__/tools/artifact-tools.test.d.ts.map +1 -0
  20. package/dist/src/__tests__/tools/artifact-tools.test.js +307 -0
  21. package/dist/src/__tests__/tools/artifact-tools.test.js.map +1 -0
  22. package/dist/src/__tests__/tools/prd-file-tools.test.d.ts +7 -0
  23. package/dist/src/__tests__/tools/prd-file-tools.test.d.ts.map +1 -0
  24. package/dist/src/__tests__/tools/prd-file-tools.test.js +278 -0
  25. package/dist/src/__tests__/tools/prd-file-tools.test.js.map +1 -0
  26. package/dist/src/__tests__/tools/project-tools.test.d.ts +7 -0
  27. package/dist/src/__tests__/tools/project-tools.test.d.ts.map +1 -0
  28. package/dist/src/__tests__/tools/project-tools.test.js +281 -0
  29. package/dist/src/__tests__/tools/project-tools.test.js.map +1 -0
  30. package/dist/src/__tests__/tools/recommendation-tools.test.d.ts +6 -0
  31. package/dist/src/__tests__/tools/recommendation-tools.test.d.ts.map +1 -0
  32. package/dist/src/__tests__/tools/recommendation-tools.test.js +193 -0
  33. package/dist/src/__tests__/tools/recommendation-tools.test.js.map +1 -0
  34. package/dist/src/__tests__/tools/report-tools.test.d.ts +7 -0
  35. package/dist/src/__tests__/tools/report-tools.test.d.ts.map +1 -0
  36. package/dist/src/__tests__/tools/report-tools.test.js +226 -0
  37. package/dist/src/__tests__/tools/report-tools.test.js.map +1 -0
  38. package/dist/src/__tests__/tools/secret-tools.test.d.ts +6 -0
  39. package/dist/src/__tests__/tools/secret-tools.test.d.ts.map +1 -0
  40. package/dist/src/__tests__/tools/secret-tools.test.js +243 -0
  41. package/dist/src/__tests__/tools/secret-tools.test.js.map +1 -0
  42. package/dist/src/__tests__/tools/test-case-prompt-tools.test.d.ts +6 -0
  43. package/dist/src/__tests__/tools/test-case-prompt-tools.test.d.ts.map +1 -0
  44. package/dist/src/__tests__/tools/test-case-prompt-tools.test.js +291 -0
  45. package/dist/src/__tests__/tools/test-case-prompt-tools.test.js.map +1 -0
  46. package/dist/src/__tests__/tools/tool-registry.test.d.ts +7 -0
  47. package/dist/src/__tests__/tools/tool-registry.test.d.ts.map +1 -0
  48. package/dist/src/__tests__/tools/tool-registry.test.js +205 -0
  49. package/dist/src/__tests__/tools/tool-registry.test.js.map +1 -0
  50. package/dist/src/__tests__/tools/use-case-tools.test.d.ts +7 -0
  51. package/dist/src/__tests__/tools/use-case-tools.test.d.ts.map +1 -0
  52. package/dist/src/__tests__/tools/use-case-tools.test.js +177 -0
  53. package/dist/src/__tests__/tools/use-case-tools.test.js.map +1 -0
  54. package/dist/src/__tests__/tools/workflow-tools.test.d.ts +15 -0
  55. package/dist/src/__tests__/tools/workflow-tools.test.d.ts.map +1 -0
  56. package/dist/src/__tests__/tools/workflow-tools.test.js +627 -0
  57. package/dist/src/__tests__/tools/workflow-tools.test.js.map +1 -0
  58. package/dist/src/config/index.d.ts +18 -0
  59. package/dist/src/config/index.d.ts.map +1 -0
  60. package/dist/src/config/index.js +76 -0
  61. package/dist/src/config/index.js.map +1 -0
  62. package/dist/src/index.d.ts +21 -0
  63. package/dist/src/index.d.ts.map +1 -0
  64. package/dist/src/index.js +88 -0
  65. package/dist/src/index.js.map +1 -0
  66. package/dist/src/interfaces/caller-credentials.d.ts +10 -0
  67. package/dist/src/interfaces/caller-credentials.d.ts.map +1 -0
  68. package/dist/src/interfaces/caller-credentials.js +3 -0
  69. package/dist/src/interfaces/caller-credentials.js.map +1 -0
  70. package/dist/src/interfaces/gateway-config.d.ts +28 -0
  71. package/dist/src/interfaces/gateway-config.d.ts.map +1 -0
  72. package/dist/src/interfaces/gateway-config.js +3 -0
  73. package/dist/src/interfaces/gateway-config.js.map +1 -0
  74. package/dist/src/interfaces/index.d.ts +13 -0
  75. package/dist/src/interfaces/index.d.ts.map +1 -0
  76. package/dist/src/interfaces/index.js +7 -0
  77. package/dist/src/interfaces/index.js.map +1 -0
  78. package/dist/src/interfaces/mcp-tool-call-protocol.d.ts +61 -0
  79. package/dist/src/interfaces/mcp-tool-call-protocol.d.ts.map +1 -0
  80. package/dist/src/interfaces/mcp-tool-call-protocol.js +7 -0
  81. package/dist/src/interfaces/mcp-tool-call-protocol.js.map +1 -0
  82. package/dist/src/interfaces/pagination.d.ts +24 -0
  83. package/dist/src/interfaces/pagination.d.ts.map +1 -0
  84. package/dist/src/interfaces/pagination.js +6 -0
  85. package/dist/src/interfaces/pagination.js.map +1 -0
  86. package/dist/src/interfaces/tool-definition.d.ts +22 -0
  87. package/dist/src/interfaces/tool-definition.d.ts.map +1 -0
  88. package/dist/src/interfaces/tool-definition.js +6 -0
  89. package/dist/src/interfaces/tool-definition.js.map +1 -0
  90. package/dist/src/interfaces/tool-mapping.d.ts +20 -0
  91. package/dist/src/interfaces/tool-mapping.d.ts.map +1 -0
  92. package/dist/src/interfaces/tool-mapping.js +6 -0
  93. package/dist/src/interfaces/tool-mapping.js.map +1 -0
  94. package/dist/src/interfaces/upstream-call.d.ts +27 -0
  95. package/dist/src/interfaces/upstream-call.d.ts.map +1 -0
  96. package/dist/src/interfaces/upstream-call.js +3 -0
  97. package/dist/src/interfaces/upstream-call.js.map +1 -0
  98. package/dist/src/interfaces/upstream-response.d.ts +12 -0
  99. package/dist/src/interfaces/upstream-response.d.ts.map +1 -0
  100. package/dist/src/interfaces/upstream-response.js +3 -0
  101. package/dist/src/interfaces/upstream-response.js.map +1 -0
  102. package/dist/src/server/http-server.d.ts +13 -0
  103. package/dist/src/server/http-server.d.ts.map +1 -0
  104. package/dist/src/server/http-server.js +219 -0
  105. package/dist/src/server/http-server.js.map +1 -0
  106. package/dist/src/server/mcp-server.d.ts +11 -0
  107. package/dist/src/server/mcp-server.d.ts.map +1 -0
  108. package/dist/src/server/mcp-server.js +363 -0
  109. package/dist/src/server/mcp-server.js.map +1 -0
  110. package/dist/src/server/session-credentials.d.ts +8 -0
  111. package/dist/src/server/session-credentials.d.ts.map +1 -0
  112. package/dist/src/server/session-credentials.js +24 -0
  113. package/dist/src/server/session-credentials.js.map +1 -0
  114. package/dist/src/tools/constants.d.ts +6 -0
  115. package/dist/src/tools/constants.d.ts.map +1 -0
  116. package/dist/src/tools/constants.js +9 -0
  117. package/dist/src/tools/constants.js.map +1 -0
  118. package/dist/src/tools/index.d.ts +7 -0
  119. package/dist/src/tools/index.d.ts.map +1 -0
  120. package/dist/src/tools/index.js +23 -0
  121. package/dist/src/tools/index.js.map +1 -0
  122. package/dist/src/tools/schemas.d.ts +906 -0
  123. package/dist/src/tools/schemas.d.ts.map +1 -0
  124. package/dist/src/tools/schemas.js +386 -0
  125. package/dist/src/tools/schemas.js.map +1 -0
  126. package/dist/src/tools/tool-registry.d.ts +26 -0
  127. package/dist/src/tools/tool-registry.d.ts.map +1 -0
  128. package/dist/src/tools/tool-registry.js +1142 -0
  129. package/dist/src/tools/tool-registry.js.map +1 -0
  130. package/dist/src/types/index.d.ts +35 -0
  131. package/dist/src/types/index.d.ts.map +1 -0
  132. package/dist/src/types/index.js +55 -0
  133. package/dist/src/types/index.js.map +1 -0
  134. package/dist/src/upstream/prompt-service-client.d.ts +62 -0
  135. package/dist/src/upstream/prompt-service-client.d.ts.map +1 -0
  136. package/dist/src/upstream/prompt-service-client.js +329 -0
  137. package/dist/src/upstream/prompt-service-client.js.map +1 -0
  138. package/dist/src/utils/logger.d.ts +17 -0
  139. package/dist/src/utils/logger.d.ts.map +1 -0
  140. package/dist/src/utils/logger.js +64 -0
  141. package/dist/src/utils/logger.js.map +1 -0
  142. package/dist/vitest.config.d.ts +3 -0
  143. package/dist/vitest.config.d.ts.map +1 -0
  144. package/dist/vitest.config.js +21 -0
  145. package/dist/vitest.config.js.map +1 -0
  146. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/tools/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Runtime type constructs for MCP QA Gateway.
3
+ * Pure interfaces live in src/interfaces/.
4
+ * This barrel re-exports interfaces for backward compatibility.
5
+ */
6
+ export * from "../interfaces/index.js";
7
+ /**
8
+ * MCP error codes.
9
+ */
10
+ export declare enum McpErrorCode {
11
+ UNAUTHORIZED = "UNAUTHORIZED",
12
+ FORBIDDEN = "FORBIDDEN",
13
+ NOT_FOUND = "NOT_FOUND",
14
+ INVALID_ARGUMENT = "INVALID_ARGUMENT",
15
+ UPSTREAM_ERROR = "UPSTREAM_ERROR",
16
+ INTERNAL_ERROR = "INTERNAL_ERROR"
17
+ }
18
+ /**
19
+ * Gateway error with MCP error code.
20
+ */
21
+ export declare class GatewayError extends Error {
22
+ /** MCP error code. */
23
+ readonly code: McpErrorCode;
24
+ /** HTTP status code (if applicable). */
25
+ readonly statusCode?: number;
26
+ /** Additional error details. */
27
+ readonly details?: Record<string, unknown>;
28
+ constructor(params: {
29
+ code: McpErrorCode;
30
+ message: string;
31
+ statusCode?: number;
32
+ details?: Record<string, unknown>;
33
+ });
34
+ }
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AAEvC;;GAEG;AACH,oBAAY,YAAY;IACpB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CACpC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACnC,sBAAsB;IACtB,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC,wCAAwC;IACxC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpC,gCAAgC;IAChC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtC,MAAM,EAAE;QAChB,IAAI,EAAE,YAAY,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC;CAOJ"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * Runtime type constructs for MCP QA Gateway.
4
+ * Pure interfaces live in src/interfaces/.
5
+ * This barrel re-exports interfaces for backward compatibility.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.GatewayError = exports.McpErrorCode = void 0;
23
+ __exportStar(require("../interfaces/index.js"), exports);
24
+ /**
25
+ * MCP error codes.
26
+ */
27
+ var McpErrorCode;
28
+ (function (McpErrorCode) {
29
+ McpErrorCode["UNAUTHORIZED"] = "UNAUTHORIZED";
30
+ McpErrorCode["FORBIDDEN"] = "FORBIDDEN";
31
+ McpErrorCode["NOT_FOUND"] = "NOT_FOUND";
32
+ McpErrorCode["INVALID_ARGUMENT"] = "INVALID_ARGUMENT";
33
+ McpErrorCode["UPSTREAM_ERROR"] = "UPSTREAM_ERROR";
34
+ McpErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
35
+ })(McpErrorCode || (exports.McpErrorCode = McpErrorCode = {}));
36
+ /**
37
+ * Gateway error with MCP error code.
38
+ */
39
+ class GatewayError extends Error {
40
+ /** MCP error code. */
41
+ code;
42
+ /** HTTP status code (if applicable). */
43
+ statusCode;
44
+ /** Additional error details. */
45
+ details;
46
+ constructor(params) {
47
+ super(params.message);
48
+ this.name = "GatewayError";
49
+ this.code = params.code;
50
+ this.statusCode = params.statusCode;
51
+ this.details = params.details;
52
+ }
53
+ }
54
+ exports.GatewayError = GatewayError;
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;AAEH,yDAAuC;AAEvC;;GAEG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACpB,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,qDAAqC,CAAA;IACrC,iDAAiC,CAAA;IACjC,iDAAiC,CAAA;AACrC,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK;IACnC,sBAAsB;IACN,IAAI,CAAe;IAEnC,wCAAwC;IACxB,UAAU,CAAU;IAEpC,gCAAgC;IAChB,OAAO,CAA2B;IAElD,YAAY,MAKX;QACG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;CACJ;AAtBD,oCAsBC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * HTTP client for forwarding requests to prompt-service.
3
+ */
4
+ import { ICallerCredentials } from "../interfaces/caller-credentials.js";
5
+ import { IUpstreamCall } from "../interfaces/upstream-call.js";
6
+ import { IUpstreamResponse } from "../interfaces/upstream-response.js";
7
+ /**
8
+ * Client for forwarding requests to prompt-service with auth passthrough.
9
+ */
10
+ export declare class PromptServiceClient {
11
+ private readonly config;
12
+ private readonly httpClient;
13
+ private readonly logger;
14
+ constructor();
15
+ /**
16
+ * Validate that the upstream path is within the allowed prefix.
17
+ * @param path - Path to validate.
18
+ * @throws GatewayError if path is not allowed.
19
+ */
20
+ private validatePath;
21
+ /**
22
+ * Build headers for upstream request with credential forwarding.
23
+ * @param credentials - Caller credentials to forward.
24
+ * @param correlationId - Request correlation ID.
25
+ * @returns Headers object.
26
+ */
27
+ private buildHeaders;
28
+ /**
29
+ * Build query string from parameters.
30
+ * @param params - Query parameters.
31
+ * @returns Query string (without leading '?').
32
+ */
33
+ private buildQueryString;
34
+ /**
35
+ * Map HTTP status code to MCP error code.
36
+ * @param statusCode - HTTP status code.
37
+ * @returns MCP error code.
38
+ */
39
+ private mapStatusToErrorCode;
40
+ /**
41
+ * Format upstream error response into a user-friendly message.
42
+ * @param statusCode - HTTP status code.
43
+ * @param data - Response data from upstream.
44
+ * @returns User-friendly error message.
45
+ */
46
+ private formatUpstreamErrorMessage;
47
+ /**
48
+ * Execute an upstream call to prompt-service.
49
+ * @param call - Upstream call specification.
50
+ * @param credentials - Caller credentials to forward.
51
+ * @param correlationId - Request correlation ID.
52
+ * @returns Upstream response.
53
+ * @throws GatewayError on validation or upstream errors.
54
+ */
55
+ execute<T = unknown>(call: IUpstreamCall, credentials: ICallerCredentials, correlationId: string): Promise<IUpstreamResponse<T>>;
56
+ }
57
+ /**
58
+ * Get the PromptServiceClient instance (singleton).
59
+ * @returns PromptServiceClient instance.
60
+ */
61
+ export declare function getPromptServiceClient(): PromptServiceClient;
62
+ //# sourceMappingURL=prompt-service-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-service-client.d.ts","sourceRoot":"","sources":["../../../src/upstream/prompt-service-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAIvE;;GAEG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;;IAaxC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAapB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAqBpB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAuDlC;;;;;;;OAOG;IACG,OAAO,CAAC,CAAC,GAAG,OAAO,EACrB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,kBAAkB,EAC/B,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CA8InC;AAKD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D"}
@@ -0,0 +1,329 @@
1
+ "use strict";
2
+ /**
3
+ * HTTP client for forwarding requests to prompt-service.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.PromptServiceClient = void 0;
43
+ exports.getPromptServiceClient = getPromptServiceClient;
44
+ const axios_1 = __importStar(require("axios"));
45
+ const form_data_1 = __importDefault(require("form-data"));
46
+ const index_js_1 = require("../config/index.js");
47
+ const index_js_2 = require("../types/index.js");
48
+ const logger_js_1 = require("../utils/logger.js");
49
+ /**
50
+ * Client for forwarding requests to prompt-service with auth passthrough.
51
+ */
52
+ class PromptServiceClient {
53
+ config;
54
+ httpClient;
55
+ logger;
56
+ constructor() {
57
+ this.config = (0, index_js_1.getConfig)();
58
+ this.logger = (0, logger_js_1.getLogger)();
59
+ this.httpClient = axios_1.default.create({
60
+ baseURL: this.config.promptServiceBaseUrl,
61
+ timeout: this.config.requestTimeoutMs,
62
+ validateStatus: () => true, // Don't throw on non-2xx status
63
+ });
64
+ }
65
+ /**
66
+ * Validate that the upstream path is within the allowed prefix.
67
+ * @param path - Path to validate.
68
+ * @throws GatewayError if path is not allowed.
69
+ */
70
+ validatePath(path) {
71
+ if (!path.startsWith(this.config.allowedUpstreamPrefix)) {
72
+ this.logger.error("Path not in allowlist", {
73
+ path: path,
74
+ allowedPrefix: this.config.allowedUpstreamPrefix,
75
+ });
76
+ throw new index_js_2.GatewayError({
77
+ code: index_js_2.McpErrorCode.FORBIDDEN,
78
+ message: `Path '${path}' is not allowed. Only paths under '${this.config.allowedUpstreamPrefix}' are permitted.`,
79
+ });
80
+ }
81
+ }
82
+ /**
83
+ * Build headers for upstream request with credential forwarding.
84
+ * @param credentials - Caller credentials to forward.
85
+ * @param correlationId - Request correlation ID.
86
+ * @returns Headers object.
87
+ */
88
+ buildHeaders(credentials, correlationId) {
89
+ const headers = {
90
+ "X-Correlation-Id": correlationId,
91
+ };
92
+ if (credentials.bearerToken) {
93
+ headers["Authorization"] = credentials.bearerToken.startsWith("Bearer ")
94
+ ? credentials.bearerToken
95
+ : `Bearer ${credentials.bearerToken}`;
96
+ }
97
+ if (credentials.apiKey) {
98
+ headers["x-api-key"] = credentials.apiKey;
99
+ }
100
+ return headers;
101
+ }
102
+ /**
103
+ * Build query string from parameters.
104
+ * @param params - Query parameters.
105
+ * @returns Query string (without leading '?').
106
+ */
107
+ buildQueryString(params) {
108
+ if (!params) {
109
+ return "";
110
+ }
111
+ const entries = Object.entries(params)
112
+ .filter(([, value]) => value !== undefined)
113
+ .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
114
+ return entries.length > 0 ? `?${entries.join("&")}` : "";
115
+ }
116
+ /**
117
+ * Map HTTP status code to MCP error code.
118
+ * @param statusCode - HTTP status code.
119
+ * @returns MCP error code.
120
+ */
121
+ mapStatusToErrorCode(statusCode) {
122
+ if (statusCode === 401) {
123
+ return index_js_2.McpErrorCode.UNAUTHORIZED;
124
+ }
125
+ if (statusCode === 403) {
126
+ return index_js_2.McpErrorCode.FORBIDDEN;
127
+ }
128
+ if (statusCode === 404) {
129
+ return index_js_2.McpErrorCode.NOT_FOUND;
130
+ }
131
+ if (statusCode >= 400 && statusCode < 500) {
132
+ return index_js_2.McpErrorCode.INVALID_ARGUMENT;
133
+ }
134
+ return index_js_2.McpErrorCode.UPSTREAM_ERROR;
135
+ }
136
+ /**
137
+ * Format upstream error response into a user-friendly message.
138
+ * @param statusCode - HTTP status code.
139
+ * @param data - Response data from upstream.
140
+ * @returns User-friendly error message.
141
+ */
142
+ formatUpstreamErrorMessage(statusCode, data) {
143
+ // Extract error message from various response formats
144
+ const responseData = data;
145
+ const rawMessage = responseData?.message ||
146
+ responseData?.error ||
147
+ responseData?.detail ||
148
+ responseData?.details;
149
+ // If we have a specific message, use it
150
+ if (rawMessage && typeof rawMessage === "string") {
151
+ // Clean up common technical prefixes
152
+ let cleaned = rawMessage
153
+ .replace(/^Error:\s*/i, "")
154
+ .replace(/^INVALID_ARGUMENT:\s*/i, "")
155
+ .replace(/^NOT_FOUND:\s*/i, "")
156
+ .replace(/^FORBIDDEN:\s*/i, "");
157
+ // Capitalize first letter
158
+ cleaned = cleaned.charAt(0).toUpperCase() + cleaned.slice(1);
159
+ return cleaned;
160
+ }
161
+ // Fallback to status-based messages
162
+ switch (statusCode) {
163
+ case 400:
164
+ return "Invalid request. Please check your input parameters.";
165
+ case 401:
166
+ return "Authentication required. Please check your credentials.";
167
+ case 403:
168
+ return "You don't have permission to perform this action.";
169
+ case 404:
170
+ return "The requested resource was not found.";
171
+ case 409:
172
+ return "A conflict occurred. The resource may already exist.";
173
+ case 429:
174
+ return "Too many requests. Please wait and try again.";
175
+ case 500:
176
+ return "The service encountered an error. Please try again later.";
177
+ case 502:
178
+ case 503:
179
+ case 504:
180
+ return "The service is temporarily unavailable. Please try again later.";
181
+ default:
182
+ return `Request failed with status ${statusCode}.`;
183
+ }
184
+ }
185
+ /**
186
+ * Execute an upstream call to prompt-service.
187
+ * @param call - Upstream call specification.
188
+ * @param credentials - Caller credentials to forward.
189
+ * @param correlationId - Request correlation ID.
190
+ * @returns Upstream response.
191
+ * @throws GatewayError on validation or upstream errors.
192
+ */
193
+ async execute(call, credentials, correlationId) {
194
+ // Validate credentials
195
+ if (!credentials.bearerToken && !credentials.apiKey) {
196
+ throw new index_js_2.GatewayError({
197
+ code: index_js_2.McpErrorCode.UNAUTHORIZED,
198
+ message: "Missing authentication. Provide either Authorization header or x-api-key.",
199
+ });
200
+ }
201
+ // Validate path
202
+ this.validatePath(call.path);
203
+ const url = call.path + this.buildQueryString(call.queryParams);
204
+ const headers = this.buildHeaders(credentials, correlationId);
205
+ const timeout = call.timeoutMs || this.config.requestTimeoutMs;
206
+ const startTime = Date.now();
207
+ this.logger.info("Upstream request", {
208
+ correlationId: correlationId,
209
+ method: call.method,
210
+ path: call.path,
211
+ hasBody: !!call.body,
212
+ });
213
+ try {
214
+ const requestConfig = {
215
+ method: call.method,
216
+ url: url,
217
+ headers: headers,
218
+ timeout: timeout,
219
+ };
220
+ if (call.multipartFormData && ["POST", "PUT", "PATCH"].includes(call.method)) {
221
+ const formData = new form_data_1.default();
222
+ const fileBuffer = Buffer.from(call.multipartFormData.fileBase64, "base64");
223
+ formData.append(call.multipartFormData.fileFieldName, fileBuffer, {
224
+ filename: call.multipartFormData.fileName,
225
+ contentType: call.multipartFormData.contentType,
226
+ });
227
+ requestConfig.data = formData;
228
+ requestConfig.headers = {
229
+ ...headers,
230
+ ...formData.getHeaders(),
231
+ };
232
+ }
233
+ else if (call.body && ["POST", "PUT", "PATCH"].includes(call.method)) {
234
+ requestConfig.data = call.body;
235
+ requestConfig.headers = {
236
+ ...headers,
237
+ "Content-Type": "application/json",
238
+ };
239
+ }
240
+ else {
241
+ requestConfig.headers = {
242
+ ...headers,
243
+ "Content-Type": "application/json",
244
+ };
245
+ }
246
+ const response = await this.httpClient.request(requestConfig);
247
+ const latency = Date.now() - startTime;
248
+ this.logger.info("Upstream response", {
249
+ correlationId: correlationId,
250
+ statusCode: response.status,
251
+ latencyMs: latency,
252
+ });
253
+ // Handle error responses
254
+ if (response.status >= 400) {
255
+ const errorCode = this.mapStatusToErrorCode(response.status);
256
+ const errorMessage = this.formatUpstreamErrorMessage(response.status, response.data);
257
+ throw new index_js_2.GatewayError({
258
+ code: errorCode,
259
+ message: errorMessage,
260
+ statusCode: response.status,
261
+ });
262
+ }
263
+ // Extract response headers
264
+ const responseHeaders = {};
265
+ for (const [key, value] of Object.entries(response.headers)) {
266
+ if (typeof value === "string") {
267
+ responseHeaders[key.toLowerCase()] = value;
268
+ }
269
+ }
270
+ return {
271
+ statusCode: response.status,
272
+ data: response.data,
273
+ headers: responseHeaders,
274
+ };
275
+ }
276
+ catch (error) {
277
+ const latency = Date.now() - startTime;
278
+ // Re-throw GatewayError as-is
279
+ if (error instanceof index_js_2.GatewayError) {
280
+ throw error;
281
+ }
282
+ // Handle Axios errors
283
+ if (error instanceof axios_1.AxiosError) {
284
+ this.logger.error("Upstream request failed", {
285
+ correlationId: correlationId,
286
+ error: error.message,
287
+ code: error.code,
288
+ latencyMs: latency,
289
+ });
290
+ if (error.code === "ECONNABORTED" || error.code === "ETIMEDOUT") {
291
+ throw new index_js_2.GatewayError({
292
+ code: index_js_2.McpErrorCode.UPSTREAM_ERROR,
293
+ message: `Request timeout after ${timeout}ms`,
294
+ details: { upstreamPath: call.path },
295
+ });
296
+ }
297
+ throw new index_js_2.GatewayError({
298
+ code: index_js_2.McpErrorCode.UPSTREAM_ERROR,
299
+ message: `Upstream connection error: ${error.message}`,
300
+ details: { upstreamPath: call.path },
301
+ });
302
+ }
303
+ // Unknown error
304
+ this.logger.error("Unknown upstream error", {
305
+ correlationId: correlationId,
306
+ error: String(error),
307
+ latencyMs: latency,
308
+ });
309
+ throw new index_js_2.GatewayError({
310
+ code: index_js_2.McpErrorCode.INTERNAL_ERROR,
311
+ message: "Internal gateway error",
312
+ });
313
+ }
314
+ }
315
+ }
316
+ exports.PromptServiceClient = PromptServiceClient;
317
+ /** Singleton client instance. */
318
+ let clientInstance = null;
319
+ /**
320
+ * Get the PromptServiceClient instance (singleton).
321
+ * @returns PromptServiceClient instance.
322
+ */
323
+ function getPromptServiceClient() {
324
+ if (!clientInstance) {
325
+ clientInstance = new PromptServiceClient();
326
+ }
327
+ return clientInstance;
328
+ }
329
+ //# sourceMappingURL=prompt-service-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-service-client.js","sourceRoot":"","sources":["../../../src/upstream/prompt-service-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Logger utility for MCP QA Gateway.
3
+ * Uses Winston for structured logging.
4
+ */
5
+ import winston from "winston";
6
+ /**
7
+ * Get the logger instance (singleton).
8
+ * @returns Winston logger.
9
+ */
10
+ export declare function getLogger(): winston.Logger;
11
+ /**
12
+ * Create a child logger with correlation ID.
13
+ * @param correlationId - Request correlation ID.
14
+ * @returns Child logger with correlation ID in metadata.
15
+ */
16
+ export declare function createChildLogger(correlationId: string): winston.Logger;
17
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAkD9B;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,CAK1C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAEvE"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Logger utility for MCP QA Gateway.
4
+ * Uses Winston for structured logging.
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.getLogger = getLogger;
11
+ exports.createChildLogger = createChildLogger;
12
+ const winston_1 = __importDefault(require("winston"));
13
+ const index_js_1 = require("../config/index.js");
14
+ /**
15
+ * Create and configure the logger instance.
16
+ * @returns Winston logger instance.
17
+ */
18
+ function createLogger() {
19
+ const config = (0, index_js_1.getConfig)();
20
+ const logFormat = winston_1.default.format.combine(winston_1.default.format.timestamp({ format: "YYYY-MM-DD HH:mm:ss.SSS" }), winston_1.default.format.errors({ stack: true }), winston_1.default.format.printf(({ level, message, timestamp, correlationId, ...metadata }) => {
21
+ let log = `${timestamp} [${level.toUpperCase()}]`;
22
+ if (correlationId) {
23
+ log += ` [${correlationId}]`;
24
+ }
25
+ log += ` ${message}`;
26
+ if (Object.keys(metadata).length > 0) {
27
+ log += ` ${JSON.stringify(metadata)}`;
28
+ }
29
+ return log;
30
+ }));
31
+ const jsonFormat = winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.errors({ stack: true }), winston_1.default.format.json());
32
+ const isProduction = config.nodeEnv === "production";
33
+ return winston_1.default.createLogger({
34
+ level: config.logLevel,
35
+ format: isProduction ? jsonFormat : logFormat,
36
+ transports: [
37
+ new winston_1.default.transports.Console({
38
+ handleExceptions: true,
39
+ }),
40
+ ],
41
+ exitOnError: false,
42
+ });
43
+ }
44
+ /** Singleton logger instance. */
45
+ let loggerInstance = null;
46
+ /**
47
+ * Get the logger instance (singleton).
48
+ * @returns Winston logger.
49
+ */
50
+ function getLogger() {
51
+ if (!loggerInstance) {
52
+ loggerInstance = createLogger();
53
+ }
54
+ return loggerInstance;
55
+ }
56
+ /**
57
+ * Create a child logger with correlation ID.
58
+ * @param correlationId - Request correlation ID.
59
+ * @returns Child logger with correlation ID in metadata.
60
+ */
61
+ function createChildLogger(correlationId) {
62
+ return getLogger().child({ correlationId: correlationId });
63
+ }
64
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;AAwDH,8BAKC;AAOD,8CAEC;AApED,sDAA8B;AAE9B,iDAA+C;AAE/C;;;GAGG;AACH,SAAS,YAAY;IACjB,MAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,MAAM,SAAS,GAAG,iBAAO,CAAC,MAAM,CAAC,OAAO,CACpC,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,EAC/D,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE;QAChF,IAAI,GAAG,GAAG,GAAG,SAAS,KAAK,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;QAClD,IAAI,aAAa,EAAE,CAAC;YAChB,GAAG,IAAI,KAAK,aAAa,GAAG,CAAC;QACjC,CAAC;QACD,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,UAAU,GAAG,iBAAO,CAAC,MAAM,CAAC,OAAO,CACrC,iBAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC1B,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,iBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,KAAK,YAAY,CAAC;IAErD,OAAO,iBAAO,CAAC,YAAY,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,QAAQ;QACtB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC7C,UAAU,EAAE;YACR,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC3B,gBAAgB,EAAE,IAAI;aACzB,CAAC;SACL;QACD,WAAW,EAAE,KAAK;KACrB,CAAC,CAAC;AACP,CAAC;AAED,iCAAiC;AACjC,IAAI,cAAc,GAA0B,IAAI,CAAC;AAEjD;;;GAGG;AACH,SAAgB,SAAS;IACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,cAAc,GAAG,YAAY,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,aAAqB;IACnD,OAAO,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("vite", { with: { "resolution-mode": "import" } }).UserConfig;
2
+ export default _default;
3
+ //# sourceMappingURL=vitest.config.d.ts.map