@machina.ai/openapi-contract-tester 2.2.0 → 3.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 (75) hide show
  1. package/dist/ai-engine/index.d.ts +1 -6
  2. package/dist/ai-engine/index.d.ts.map +1 -1
  3. package/dist/ai-engine/index.js +1 -6
  4. package/dist/ai-engine/index.js.map +1 -1
  5. package/dist/executor/response-handler.d.ts +15 -0
  6. package/dist/executor/response-handler.d.ts.map +1 -1
  7. package/dist/executor/response-handler.js +53 -0
  8. package/dist/executor/response-handler.js.map +1 -1
  9. package/dist/executor/test-executor.d.ts +14 -0
  10. package/dist/executor/test-executor.d.ts.map +1 -1
  11. package/dist/executor/test-executor.js +90 -2
  12. package/dist/executor/test-executor.js.map +1 -1
  13. package/dist/generators/ai-endpoint-test-generator.d.ts +21 -0
  14. package/dist/generators/ai-endpoint-test-generator.d.ts.map +1 -0
  15. package/dist/generators/ai-endpoint-test-generator.js +178 -0
  16. package/dist/generators/ai-endpoint-test-generator.js.map +1 -0
  17. package/dist/generators/data/type-strategies.d.ts +7 -2
  18. package/dist/generators/data/type-strategies.d.ts.map +1 -1
  19. package/dist/generators/data/type-strategies.js +88 -4
  20. package/dist/generators/data/type-strategies.js.map +1 -1
  21. package/dist/generators/edge-case-generator.d.ts +1 -1
  22. package/dist/generators/edge-case-generator.d.ts.map +1 -1
  23. package/dist/generators/edge-case-generator.js +160 -38
  24. package/dist/generators/edge-case-generator.js.map +1 -1
  25. package/dist/generators/edge-cases/boundary-analyzer.d.ts.map +1 -1
  26. package/dist/generators/edge-cases/boundary-analyzer.js +56 -11
  27. package/dist/generators/edge-cases/boundary-analyzer.js.map +1 -1
  28. package/dist/generators/errors/validation-error-strategy.js +8 -8
  29. package/dist/generators/errors/validation-error-strategy.js.map +1 -1
  30. package/dist/generators/happy-path-generator.d.ts.map +1 -1
  31. package/dist/generators/happy-path-generator.js +74 -7
  32. package/dist/generators/happy-path-generator.js.map +1 -1
  33. package/dist/generators/input-coverage-engine.d.ts +7 -0
  34. package/dist/generators/input-coverage-engine.d.ts.map +1 -0
  35. package/dist/generators/input-coverage-engine.js +304 -0
  36. package/dist/generators/input-coverage-engine.js.map +1 -0
  37. package/dist/mcp/handlers/analyze-api.d.ts +52 -0
  38. package/dist/mcp/handlers/analyze-api.d.ts.map +1 -0
  39. package/dist/mcp/handlers/analyze-api.js +272 -0
  40. package/dist/mcp/handlers/analyze-api.js.map +1 -0
  41. package/dist/mcp/handlers/export-to-postman.d.ts +4 -0
  42. package/dist/mcp/handlers/export-to-postman.d.ts.map +1 -1
  43. package/dist/mcp/handlers/export-to-postman.js +23 -6
  44. package/dist/mcp/handlers/export-to-postman.js.map +1 -1
  45. package/dist/mcp/handlers/generate-tests.d.ts +12 -37
  46. package/dist/mcp/handlers/generate-tests.d.ts.map +1 -1
  47. package/dist/mcp/handlers/generate-tests.js +69 -468
  48. package/dist/mcp/handlers/generate-tests.js.map +1 -1
  49. package/dist/mcp/handlers/index.d.ts +1 -0
  50. package/dist/mcp/handlers/index.d.ts.map +1 -1
  51. package/dist/mcp/handlers/index.js +1 -0
  52. package/dist/mcp/handlers/index.js.map +1 -1
  53. package/dist/mcp/handlers/run-tests.d.ts +7 -1
  54. package/dist/mcp/handlers/run-tests.d.ts.map +1 -1
  55. package/dist/mcp/handlers/run-tests.js +24 -7
  56. package/dist/mcp/handlers/run-tests.js.map +1 -1
  57. package/dist/mcp/server.d.ts +7 -6
  58. package/dist/mcp/server.d.ts.map +1 -1
  59. package/dist/mcp/server.js +16 -13
  60. package/dist/mcp/server.js.map +1 -1
  61. package/dist/types/index.d.ts +1 -0
  62. package/dist/types/index.d.ts.map +1 -1
  63. package/dist/types/index.js +2 -1
  64. package/dist/types/index.js.map +1 -1
  65. package/dist/types/qa-context.d.ts +39 -0
  66. package/dist/types/qa-context.d.ts.map +1 -0
  67. package/dist/types/qa-context.js +2 -0
  68. package/dist/types/qa-context.js.map +1 -0
  69. package/dist/types/test-case.d.ts +5 -0
  70. package/dist/types/test-case.d.ts.map +1 -1
  71. package/dist/utils/coverage-calculator.d.ts +24 -0
  72. package/dist/utils/coverage-calculator.d.ts.map +1 -1
  73. package/dist/utils/coverage-calculator.js +32 -0
  74. package/dist/utils/coverage-calculator.js.map +1 -1
  75. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * @module mcp/handlers
5
5
  */
6
+ export { AnalyzeApiHandler } from './analyze-api.js';
6
7
  export { GenerateTestsHandler } from './generate-tests.js';
7
8
  export { RunTestsHandler } from './run-tests.js';
8
9
  export { ExportResultsHandler } from './export-results.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -8,11 +8,13 @@
8
8
  import { BaseToolHandler } from './base-handler.js';
9
9
  import type { ToolResponse } from './types.js';
10
10
  import { SpecService } from '../services/spec-service.js';
11
+ import { FileService } from '../services/file-service.js';
11
12
  /**
12
13
  * Handler for test execution tool
13
14
  */
14
15
  export declare class RunTestsHandler extends BaseToolHandler {
15
16
  private specService;
17
+ private fileService;
16
18
  readonly name = "run-tests";
17
19
  readonly description: string;
18
20
  readonly inputSchema: {
@@ -26,6 +28,10 @@ export declare class RunTestsHandler extends BaseToolHandler {
26
28
  type: string;
27
29
  description: string;
28
30
  };
31
+ testsFile: {
32
+ type: string;
33
+ description: string;
34
+ };
29
35
  tests: {
30
36
  type: string;
31
37
  description: string;
@@ -83,7 +89,7 @@ export declare class RunTestsHandler extends BaseToolHandler {
83
89
  };
84
90
  required: string[];
85
91
  };
86
- constructor(specService: SpecService);
92
+ constructor(specService: SpecService, fileService?: FileService);
87
93
  handle(args: unknown): Promise<ToolResponse>;
88
94
  }
89
95
  //# sourceMappingURL=run-tests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-tests.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/run-tests.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IA+FhD,OAAO,CAAC,WAAW;IA9FrB,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,SASuD;IAE3E,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+ElB;gBAGQ,WAAW,EAAE,WAAW;IAK5B,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CAuEnD"}
1
+ {"version":3,"file":"run-tests.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers/run-tests.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAsGhD,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IAtGrB,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,SAUuD;IAE3E,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAqFlB;gBAGQ,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,WAA+B;IAKhD,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CA+EnD"}
@@ -6,15 +6,18 @@
6
6
  * @module mcp/handlers/run-tests
7
7
  */
8
8
  import { BaseToolHandler } from './base-handler.js';
9
+ import { FileService } from '../services/file-service.js';
9
10
  import { TestRunner } from '../../executor/test-runner.js';
10
11
  /**
11
12
  * Handler for test execution tool
12
13
  */
13
14
  export class RunTestsHandler extends BaseToolHandler {
14
15
  specService;
16
+ fileService;
15
17
  name = 'run-tests';
16
- description = 'STEP 2 of 3 — Execute test cases against a live API and return pass/fail results. ' +
17
- 'Receives the "tests" array from generate-tests and runs each test case against baseUrl. ' +
18
+ description = 'STEP 3 of 3 — Execute the generated tests against a live API and return pass/fail results. ' +
19
+ 'IMPORTANT: always ask the user for the baseUrl (the live API URL) before calling this tool — it is required. ' +
20
+ 'Reads test-to-execute.json written by generate-tests (defaults to "./test-to-execute.json"). ' +
18
21
  'Happy-path tests run sequentially first; if a login endpoint returns a token, it is ' +
19
22
  'automatically captured and injected as Bearer token for all subsequent protected endpoints — ' +
20
23
  'no manual token handling needed. ' +
@@ -37,9 +40,15 @@ export class RunTestsHandler extends BaseToolHandler {
37
40
  'Example: "https://api.example.com" or "http://localhost:3000". ' +
38
41
  'All test requests are sent to this URL.'
39
42
  },
43
+ testsFile: {
44
+ type: 'string',
45
+ description: 'Path to test-to-execute.json generated by generate-tests. Defaults to "./test-to-execute.json". ' +
46
+ 'Use this instead of "tests" for large test suites to avoid context truncation.'
47
+ },
40
48
  tests: {
41
49
  type: 'array',
42
- description: 'Array of test cases to execute — pass the "tests" value returned by generate-tests directly here.',
50
+ description: 'Array of test cases to execute — pass the "tests" value returned by generate-tests directly here. ' +
51
+ 'For large specs, prefer testsFile to avoid context truncation.',
43
52
  items: { type: 'object' }
44
53
  },
45
54
  credentials: {
@@ -102,9 +111,10 @@ export class RunTestsHandler extends BaseToolHandler {
102
111
  },
103
112
  required: ['baseUrl']
104
113
  };
105
- constructor(specService) {
114
+ constructor(specService, fileService = new FileService()) {
106
115
  super();
107
116
  this.specService = specService;
117
+ this.fileService = fileService;
108
118
  }
109
119
  async handle(args) {
110
120
  const params = args;
@@ -115,10 +125,17 @@ export class RunTestsHandler extends BaseToolHandler {
115
125
  parallel: params.parallel || false
116
126
  });
117
127
  try {
118
- // Get tests to run
119
- const tests = params.tests || [];
128
+ // Get tests to run — prefer testsFile, default to ./test-to-execute.json
129
+ let tests = params.tests || [];
130
+ if (tests.length === 0) {
131
+ const testsFile = params.testsFile ?? './test-to-execute.json';
132
+ this.log.info('Loading tests from file', { path: testsFile });
133
+ const content = await this.fileService.readFile(testsFile);
134
+ tests = JSON.parse(content);
135
+ this.log.info('Tests loaded from file', { count: tests.length });
136
+ }
120
137
  if (tests.length === 0) {
121
- throw new Error('No tests provided. Use generate-tests first or provide tests array.');
138
+ throw new Error('No tests found. Run generate-tests first to produce test-to-execute.json.');
122
139
  }
123
140
  // Parse spec first (needed for both endpoint extraction and OAuth2 tokenUrl discovery)
124
141
  let endpoints = [];
@@ -1 +1 @@
1
- {"version":3,"file":"run-tests.js","sourceRoot":"","sources":["../../../src/mcp/handlers/run-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-tests.js","sourceRoot":"","sources":["../../../src/mcp/handlers/run-tests.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,13 @@ import { type ToolHandler } from './handlers/index.js';
13
13
  /**
14
14
  * OpenAPI Contract Tester MCP Server
15
15
  *
16
- * Provides 5 essential tools for API testing:
17
- * 1. generate-tests - Generate intelligent test suites from OpenAPI specs (AI-powered)
18
- * 2. run-tests - Execute test suites against APIs with auto-repair
19
- * 3. export-results - Export test results with AI analysis and coverage
20
- * 4. compare-sources - Compare OpenAPI vs Code vs PRD
21
- * 5. export-to-postman - Export tests as Postman Collection v2.1 (Newman compatible)
16
+ * Provides 6 tools for API testing:
17
+ * 1. analyze-api - Parse spec and produce a semantic contract (qa-context.json)
18
+ * 2. generate-tests - Generate input-coverage tests from the semantic contract
19
+ * 3. run-tests - Execute test suites against APIs
20
+ * 4. export-results - Export test results with AI analysis and coverage
21
+ * 5. compare-sources - Compare OpenAPI vs Code vs PRD
22
+ * 6. export-to-postman - Export tests as Postman Collection v2.1 (Newman compatible)
22
23
  *
23
24
  * Architecture:
24
25
  * - Uses Strategy pattern for tool handlers
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAA2B;IAG3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAiB;;IAmCvC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqErB;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B;;OAEG;IACH,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC;CAGhD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAA2B;IAG3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAiB;;IAmCvC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqErB;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B;;OAEG;IACH,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC;CAGhD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpD"}
@@ -18,7 +18,7 @@ import { ReportService } from './services/report-service.js';
18
18
  import { FileService } from './services/file-service.js';
19
19
  import { PostmanService } from './services/postman-service.js';
20
20
  // Handlers
21
- import { GenerateTestsHandler, RunTestsHandler, ExportResultsHandler, CompareSourcesHandler, ExportToPostmanHandler } from './handlers/index.js';
21
+ import { AnalyzeApiHandler, GenerateTestsHandler, RunTestsHandler, ExportResultsHandler, CompareSourcesHandler, ExportToPostmanHandler } from './handlers/index.js';
22
22
  // Utils
23
23
  import { createLogger } from '../utils/logger.js';
24
24
  import { MCPError, ErrorCode } from '../utils/errors.js';
@@ -26,12 +26,13 @@ const log = createLogger('mcp-server');
26
26
  /**
27
27
  * OpenAPI Contract Tester MCP Server
28
28
  *
29
- * Provides 5 essential tools for API testing:
30
- * 1. generate-tests - Generate intelligent test suites from OpenAPI specs (AI-powered)
31
- * 2. run-tests - Execute test suites against APIs with auto-repair
32
- * 3. export-results - Export test results with AI analysis and coverage
33
- * 4. compare-sources - Compare OpenAPI vs Code vs PRD
34
- * 5. export-to-postman - Export tests as Postman Collection v2.1 (Newman compatible)
29
+ * Provides 6 tools for API testing:
30
+ * 1. analyze-api - Parse spec and produce a semantic contract (qa-context.json)
31
+ * 2. generate-tests - Generate input-coverage tests from the semantic contract
32
+ * 3. run-tests - Execute test suites against APIs
33
+ * 4. export-results - Export test results with AI analysis and coverage
34
+ * 5. compare-sources - Compare OpenAPI vs Code vs PRD
35
+ * 6. export-to-postman - Export tests as Postman Collection v2.1 (Newman compatible)
35
36
  *
36
37
  * Architecture:
37
38
  * - Uses Strategy pattern for tool handlers
@@ -51,7 +52,7 @@ export class OpenAPIContractTesterServer {
51
52
  // Initialize MCP server
52
53
  this.server = new Server({
53
54
  name: 'openapi-contract-tester',
54
- version: '2.0.0',
55
+ version: '3.0.0',
55
56
  }, {
56
57
  capabilities: {
57
58
  tools: {},
@@ -69,7 +70,7 @@ export class OpenAPIContractTesterServer {
69
70
  this.setupHandlers();
70
71
  log.info('MCP Server initialized', {
71
72
  handlers: Array.from(this.handlers.keys()),
72
- version: '2.0.0'
73
+ version: '3.0.0'
73
74
  });
74
75
  }
75
76
  /**
@@ -78,12 +79,14 @@ export class OpenAPIContractTesterServer {
78
79
  */
79
80
  registerHandlers() {
80
81
  // Create handler instances with dependencies
81
- const generateTestsHandler = new GenerateTestsHandler(this.specService);
82
- const runTestsHandler = new RunTestsHandler(this.specService);
82
+ const analyzeApiHandler = new AnalyzeApiHandler(this.specService, this.fileService);
83
+ const generateTestsHandler = new GenerateTestsHandler(this.specService, this.fileService);
84
+ const runTestsHandler = new RunTestsHandler(this.specService, this.fileService);
83
85
  const exportResultsHandler = new ExportResultsHandler(this.reportService, this.fileService);
84
86
  const compareSourcesHandler = new CompareSourcesHandler(this.specService, this.fileService);
85
87
  const exportToPostmanHandler = new ExportToPostmanHandler(this.postmanService, this.fileService);
86
88
  // Register handlers in registry
89
+ this.handlers.set(analyzeApiHandler.name, analyzeApiHandler);
87
90
  this.handlers.set(generateTestsHandler.name, generateTestsHandler);
88
91
  this.handlers.set(runTestsHandler.name, runTestsHandler);
89
92
  this.handlers.set(exportResultsHandler.name, exportResultsHandler);
@@ -155,11 +158,11 @@ export class OpenAPIContractTesterServer {
155
158
  */
156
159
  async run() {
157
160
  try {
158
- log.info('Starting MCP server', { mode: 'stdio', version: '2.0.0' });
161
+ log.info('Starting MCP server', { mode: 'stdio', version: '3.0.0' });
159
162
  const transport = new StdioServerTransport();
160
163
  await this.server.connect(transport);
161
164
  // Only log to stderr (safe for STDIO protocol)
162
- console.error('OpenAPI Contract Tester MCP Server v2.0.0 running on stdio');
165
+ console.error('OpenAPI Contract Tester MCP Server v3.0.0 running on stdio');
163
166
  log.info('MCP server started successfully', {
164
167
  handlers: Array.from(this.handlers.keys())
165
168
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,5 @@ export type { TestSuiteSummary, ContractViolation } from './reporting.js';
14
14
  export type { ParsedEndpoint, SpecComparisonOptions, SpecComparisonResult, SpecChange } from './openapi.js';
15
15
  export type { PactContract, PactInteraction, PactMatchers, PactVerificationResult } from './pact.js';
16
16
  export type { BusinessRuleValidationType, BusinessRuleValidation, BusinessRule, BusinessRulesDocument, BusinessRulesAnalyzerOptions, BusinessRulesAnalysisResult, BusinessRulesGeneratorOptions, BusinessRulesTestsResult } from './business-rules.js';
17
+ export * from './qa-context.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,eAAe,EACf,YAAY,EACZ,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,sBAAsB,EACvB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,eAAe,EACf,YAAY,EACZ,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,sBAAsB,EACvB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAG7B,cAAc,iBAAiB,CAAC"}
@@ -6,5 +6,6 @@
6
6
  *
7
7
  * @module types
8
8
  */
9
- export {};
9
+ // QA context types (analyze-api → generate-tests contract)
10
+ export * from './qa-context.js';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkEH,2DAA2D;AAC3D,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,39 @@
1
+ export interface QAContext {
2
+ specPath: string;
3
+ analyzedAt: string;
4
+ endpoints: EndpointContext[];
5
+ }
6
+ export interface EndpointContext {
7
+ method: string;
8
+ path: string;
9
+ summary?: string;
10
+ inputs: InputContract[];
11
+ responseCodes: ResponseCodeContract[];
12
+ flows?: FlowDependency[];
13
+ }
14
+ export interface InputContract {
15
+ name: string;
16
+ location: 'header' | 'body' | 'path' | 'query';
17
+ required: boolean;
18
+ type: string;
19
+ format?: string;
20
+ semantic?: string;
21
+ validRange?: {
22
+ min: number;
23
+ max: number;
24
+ };
25
+ knownValues?: string[];
26
+ example?: unknown;
27
+ validationRules?: string[];
28
+ }
29
+ export interface ResponseCodeContract {
30
+ code: number;
31
+ description: string;
32
+ triggeredBy?: string;
33
+ }
34
+ export interface FlowDependency {
35
+ description: string;
36
+ dependsOn: string;
37
+ tokenField?: string;
38
+ }
39
+ //# sourceMappingURL=qa-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa-context.d.ts","sourceRoot":"","sources":["../../src/types/qa-context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=qa-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa-context.js","sourceRoot":"","sources":["../../src/types/qa-context.ts"],"names":[],"mappings":""}
@@ -125,6 +125,11 @@ export interface TestCase {
125
125
  * - 'low': AI-generated from user stories or domain inference
126
126
  */
127
127
  confidence?: 'high' | 'medium' | 'low';
128
+ /**
129
+ * Smart assertions to evaluate against the response body after execution.
130
+ * Generated for happy-path tests by the assertion-generator.
131
+ */
132
+ assertions?: import('../ai-engine/assertion-generator.js').Assertion[];
128
133
  /**
129
134
  * Internal metadata (not exposed to users)
130
135
  */
@@ -1 +1 @@
1
- {"version":3,"file":"test-case.d.ts","sourceRoot":"","sources":["../../src/types/test-case.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-case.d.ts","sourceRoot":"","sources":["../../src/types/test-case.ts"],"names":[],"mappings":"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"}
@@ -77,5 +77,29 @@ export declare function calculateCoverageWithSpec(results: {
77
77
  method: string;
78
78
  path: string;
79
79
  }>): CoverageResult;
80
+ export interface StatusCodeCoverageResult {
81
+ totalResponseCodes: number;
82
+ coveredResponseCodes: number;
83
+ responseCodeCoveragePercentage: string;
84
+ uncoveredResponseCodes: Array<{
85
+ method: string;
86
+ path: string;
87
+ status: number;
88
+ }>;
89
+ }
90
+ /**
91
+ * Calculates coverage at the response-code level.
92
+ * For each response code documented in the spec, checks if at least one
93
+ * generated test targets that exact (method, path, status) combination.
94
+ */
95
+ export declare function calculateStatusCodeCoverage(tests: Array<{
96
+ method?: string;
97
+ path?: string;
98
+ expectedStatus?: number;
99
+ }>, specEndpoints: Array<{
100
+ method: string;
101
+ path: string;
102
+ responseCodes: number[];
103
+ }>): StatusCodeCoverageResult;
80
104
  export {};
81
105
  //# sourceMappingURL=coverage-calculator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-calculator.d.ts","sourceRoot":"","sources":["../../src/utils/coverage-calculator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,eAAe,EAAE,KAAK,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,GAAG,cAAc,CAwEjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,EACnC,aAAa,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACrD,cAAc,CAsChB"}
1
+ {"version":3,"file":"coverage-calculator.d.ts","sourceRoot":"","sources":["../../src/utils/coverage-calculator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,UAAU,UAAU;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,eAAe,EAAE,KAAK,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,GAAG,cAAc,CAwEjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE;IAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,EACnC,aAAa,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GACrD,cAAc,CAsChB;AAED,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,8BAA8B,EAAE,MAAM,CAAC;IACvC,sBAAsB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACzE,aAAa,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAC9E,wBAAwB,CA8B1B"}
@@ -131,4 +131,36 @@ export function calculateCoverageWithSpec(results, specEndpoints) {
131
131
  uncoveredEndpoints,
132
132
  };
133
133
  }
134
+ /**
135
+ * Calculates coverage at the response-code level.
136
+ * For each response code documented in the spec, checks if at least one
137
+ * generated test targets that exact (method, path, status) combination.
138
+ */
139
+ export function calculateStatusCodeCoverage(tests, specEndpoints) {
140
+ const coveredSet = new Set();
141
+ for (const test of tests) {
142
+ if (test.method && test.path && test.expectedStatus !== undefined) {
143
+ coveredSet.add(`${test.method.toUpperCase()}:${test.path}:${test.expectedStatus}`);
144
+ }
145
+ }
146
+ const uncoveredResponseCodes = [];
147
+ let totalResponseCodes = 0;
148
+ let coveredResponseCodes = 0;
149
+ for (const endpoint of specEndpoints) {
150
+ for (const code of endpoint.responseCodes) {
151
+ totalResponseCodes++;
152
+ const key = `${endpoint.method.toUpperCase()}:${endpoint.path}:${code}`;
153
+ if (coveredSet.has(key)) {
154
+ coveredResponseCodes++;
155
+ }
156
+ else {
157
+ uncoveredResponseCodes.push({ method: endpoint.method, path: endpoint.path, status: code });
158
+ }
159
+ }
160
+ }
161
+ const responseCodeCoveragePercentage = totalResponseCodes > 0
162
+ ? `${((coveredResponseCodes / totalResponseCodes) * 100).toFixed(2)}%`
163
+ : '0.00%';
164
+ return { totalResponseCodes, coveredResponseCodes, responseCodeCoveragePercentage, uncoveredResponseCodes };
165
+ }
134
166
  //# sourceMappingURL=coverage-calculator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-calculator.js","sourceRoot":"","sources":["../../src/utils/coverage-calculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage-calculator.js","sourceRoot":"","sources":["../../src/utils/coverage-calculator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@machina.ai/openapi-contract-tester",
3
- "version": "2.2.0",
3
+ "version": "3.0.1",
4
4
  "description": "MCP Server for comprehensive AI-powered API testing from OpenAPI specifications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",