@machina.ai/openapi-contract-tester 2.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.
- package/.env.example +91 -0
- package/README.md +472 -0
- package/dist/ai-engine/assertion-generator.d.ts +48 -0
- package/dist/ai-engine/assertion-generator.d.ts.map +1 -0
- package/dist/ai-engine/assertion-generator.js +166 -0
- package/dist/ai-engine/assertion-generator.js.map +1 -0
- package/dist/ai-engine/context-data-generator.d.ts +38 -0
- package/dist/ai-engine/context-data-generator.d.ts.map +1 -0
- package/dist/ai-engine/context-data-generator.js +146 -0
- package/dist/ai-engine/context-data-generator.js.map +1 -0
- package/dist/ai-engine/dataflow-detector.d.ts +53 -0
- package/dist/ai-engine/dataflow-detector.d.ts.map +1 -0
- package/dist/ai-engine/dataflow-detector.js +217 -0
- package/dist/ai-engine/dataflow-detector.js.map +1 -0
- package/dist/ai-engine/dependency-detector.d.ts +52 -0
- package/dist/ai-engine/dependency-detector.d.ts.map +1 -0
- package/dist/ai-engine/dependency-detector.js +241 -0
- package/dist/ai-engine/dependency-detector.js.map +1 -0
- package/dist/ai-engine/edge-case-suggester.d.ts +63 -0
- package/dist/ai-engine/edge-case-suggester.d.ts.map +1 -0
- package/dist/ai-engine/edge-case-suggester.js +177 -0
- package/dist/ai-engine/edge-case-suggester.js.map +1 -0
- package/dist/ai-engine/index.d.ts +13 -0
- package/dist/ai-engine/index.d.ts.map +1 -0
- package/dist/ai-engine/index.js +13 -0
- package/dist/ai-engine/index.js.map +1 -0
- package/dist/analyzers/ai-failure-analyzer.d.ts +41 -0
- package/dist/analyzers/ai-failure-analyzer.d.ts.map +1 -0
- package/dist/analyzers/ai-failure-analyzer.js +220 -0
- package/dist/analyzers/ai-failure-analyzer.js.map +1 -0
- package/dist/analyzers/comparison-utils.d.ts +31 -0
- package/dist/analyzers/comparison-utils.d.ts.map +1 -0
- package/dist/analyzers/comparison-utils.js +85 -0
- package/dist/analyzers/comparison-utils.js.map +1 -0
- package/dist/analyzers/context-analyzer.d.ts +49 -0
- package/dist/analyzers/context-analyzer.d.ts.map +1 -0
- package/dist/analyzers/context-analyzer.js +292 -0
- package/dist/analyzers/context-analyzer.js.map +1 -0
- package/dist/analyzers/dependency-analyzer.d.ts +44 -0
- package/dist/analyzers/dependency-analyzer.d.ts.map +1 -0
- package/dist/analyzers/dependency-analyzer.js +313 -0
- package/dist/analyzers/dependency-analyzer.js.map +1 -0
- package/dist/analyzers/failure-analyzer.d.ts +122 -0
- package/dist/analyzers/failure-analyzer.d.ts.map +1 -0
- package/dist/analyzers/failure-analyzer.js +140 -0
- package/dist/analyzers/failure-analyzer.js.map +1 -0
- package/dist/analyzers/failure-detectors/index.d.ts +33 -0
- package/dist/analyzers/failure-detectors/index.d.ts.map +1 -0
- package/dist/analyzers/failure-detectors/index.js +164 -0
- package/dist/analyzers/failure-detectors/index.js.map +1 -0
- package/dist/analyzers/failure-discrepancy-correlator.d.ts +111 -0
- package/dist/analyzers/failure-discrepancy-correlator.d.ts.map +1 -0
- package/dist/analyzers/failure-discrepancy-correlator.js +202 -0
- package/dist/analyzers/failure-discrepancy-correlator.js.map +1 -0
- package/dist/analyzers/index.d.ts +10 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +10 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/analyzers/semantic-matcher.d.ts +123 -0
- package/dist/analyzers/semantic-matcher.d.ts.map +1 -0
- package/dist/analyzers/semantic-matcher.js +297 -0
- package/dist/analyzers/semantic-matcher.js.map +1 -0
- package/dist/analyzers/source-comparator.d.ts +177 -0
- package/dist/analyzers/source-comparator.d.ts.map +1 -0
- package/dist/analyzers/source-comparator.js +225 -0
- package/dist/analyzers/source-comparator.js.map +1 -0
- package/dist/business-rules/business-rules-analyzer.d.ts +44 -0
- package/dist/business-rules/business-rules-analyzer.d.ts.map +1 -0
- package/dist/business-rules/business-rules-analyzer.js +363 -0
- package/dist/business-rules/business-rules-analyzer.js.map +1 -0
- package/dist/business-rules/business-rules-generator.d.ts +78 -0
- package/dist/business-rules/business-rules-generator.d.ts.map +1 -0
- package/dist/business-rules/business-rules-generator.js +357 -0
- package/dist/business-rules/business-rules-generator.js.map +1 -0
- package/dist/business-rules/extractors/rule-extractors.d.ts +50 -0
- package/dist/business-rules/extractors/rule-extractors.d.ts.map +1 -0
- package/dist/business-rules/extractors/rule-extractors.js +189 -0
- package/dist/business-rules/extractors/rule-extractors.js.map +1 -0
- package/dist/business-rules/value-generators.d.ts +70 -0
- package/dist/business-rules/value-generators.d.ts.map +1 -0
- package/dist/business-rules/value-generators.js +142 -0
- package/dist/business-rules/value-generators.js.map +1 -0
- package/dist/executor/auth-providers/auth-header-builder.d.ts +16 -0
- package/dist/executor/auth-providers/auth-header-builder.d.ts.map +1 -0
- package/dist/executor/auth-providers/auth-header-builder.js +47 -0
- package/dist/executor/auth-providers/auth-header-builder.js.map +1 -0
- package/dist/executor/auth-providers/oauth2-provider.d.ts +19 -0
- package/dist/executor/auth-providers/oauth2-provider.d.ts.map +1 -0
- package/dist/executor/auth-providers/oauth2-provider.js +114 -0
- package/dist/executor/auth-providers/oauth2-provider.js.map +1 -0
- package/dist/executor/http-client.d.ts +133 -0
- package/dist/executor/http-client.d.ts.map +1 -0
- package/dist/executor/http-client.js +172 -0
- package/dist/executor/http-client.js.map +1 -0
- package/dist/executor/http-request-builder.d.ts +69 -0
- package/dist/executor/http-request-builder.d.ts.map +1 -0
- package/dist/executor/http-request-builder.js +140 -0
- package/dist/executor/http-request-builder.js.map +1 -0
- package/dist/executor/http-response-parser.d.ts +28 -0
- package/dist/executor/http-response-parser.d.ts.map +1 -0
- package/dist/executor/http-response-parser.js +74 -0
- package/dist/executor/http-response-parser.js.map +1 -0
- package/dist/executor/response-handler.d.ts +66 -0
- package/dist/executor/response-handler.d.ts.map +1 -0
- package/dist/executor/response-handler.js +135 -0
- package/dist/executor/response-handler.js.map +1 -0
- package/dist/executor/result-processor.d.ts +27 -0
- package/dist/executor/result-processor.d.ts.map +1 -0
- package/dist/executor/result-processor.js +140 -0
- package/dist/executor/result-processor.js.map +1 -0
- package/dist/executor/result-utils.d.ts +21 -0
- package/dist/executor/result-utils.d.ts.map +1 -0
- package/dist/executor/result-utils.js +29 -0
- package/dist/executor/result-utils.js.map +1 -0
- package/dist/executor/test-executor.d.ts +49 -0
- package/dist/executor/test-executor.d.ts.map +1 -0
- package/dist/executor/test-executor.js +226 -0
- package/dist/executor/test-executor.js.map +1 -0
- package/dist/executor/test-runner.d.ts +85 -0
- package/dist/executor/test-runner.d.ts.map +1 -0
- package/dist/executor/test-runner.js +177 -0
- package/dist/executor/test-runner.js.map +1 -0
- package/dist/executor/token-detector/index.d.ts +7 -0
- package/dist/executor/token-detector/index.d.ts.map +1 -0
- package/dist/executor/token-detector/index.js +7 -0
- package/dist/executor/token-detector/index.js.map +1 -0
- package/dist/executor/token-detector/token-detector.d.ts +64 -0
- package/dist/executor/token-detector/token-detector.d.ts.map +1 -0
- package/dist/executor/token-detector/token-detector.js +140 -0
- package/dist/executor/token-detector/token-detector.js.map +1 -0
- package/dist/generators/business-rule-from-stories-generator.d.ts +30 -0
- package/dist/generators/business-rule-from-stories-generator.d.ts.map +1 -0
- package/dist/generators/business-rule-from-stories-generator.js +227 -0
- package/dist/generators/business-rule-from-stories-generator.js.map +1 -0
- package/dist/generators/data/ai-data-generator.d.ts +23 -0
- package/dist/generators/data/ai-data-generator.d.ts.map +1 -0
- package/dist/generators/data/ai-data-generator.js +41 -0
- package/dist/generators/data/ai-data-generator.js.map +1 -0
- package/dist/generators/data/base-generator.d.ts +121 -0
- package/dist/generators/data/base-generator.d.ts.map +1 -0
- package/dist/generators/data/base-generator.js +200 -0
- package/dist/generators/data/base-generator.js.map +1 -0
- package/dist/generators/data/heuristic-data-generator.d.ts +28 -0
- package/dist/generators/data/heuristic-data-generator.d.ts.map +1 -0
- package/dist/generators/data/heuristic-data-generator.js +49 -0
- package/dist/generators/data/heuristic-data-generator.js.map +1 -0
- package/dist/generators/data/index.d.ts +48 -0
- package/dist/generators/data/index.d.ts.map +1 -0
- package/dist/generators/data/index.js +201 -0
- package/dist/generators/data/index.js.map +1 -0
- package/dist/generators/data/schema-walker.d.ts +45 -0
- package/dist/generators/data/schema-walker.d.ts.map +1 -0
- package/dist/generators/data/schema-walker.js +103 -0
- package/dist/generators/data/schema-walker.js.map +1 -0
- package/dist/generators/data/type-strategies.d.ts +79 -0
- package/dist/generators/data/type-strategies.d.ts.map +1 -0
- package/dist/generators/data/type-strategies.js +394 -0
- package/dist/generators/data/type-strategies.js.map +1 -0
- package/dist/generators/data-generator.d.ts +11 -0
- package/dist/generators/data-generator.d.ts.map +1 -0
- package/dist/generators/data-generator.js +11 -0
- package/dist/generators/data-generator.js.map +1 -0
- package/dist/generators/edge-case-generator.d.ts +55 -0
- package/dist/generators/edge-case-generator.d.ts.map +1 -0
- package/dist/generators/edge-case-generator.js +327 -0
- package/dist/generators/edge-case-generator.js.map +1 -0
- package/dist/generators/edge-cases/boundary-analyzer.d.ts +26 -0
- package/dist/generators/edge-cases/boundary-analyzer.d.ts.map +1 -0
- package/dist/generators/edge-cases/boundary-analyzer.js +95 -0
- package/dist/generators/edge-cases/boundary-analyzer.js.map +1 -0
- package/dist/generators/error-case-generator.d.ts +11 -0
- package/dist/generators/error-case-generator.d.ts.map +1 -0
- package/dist/generators/error-case-generator.js +11 -0
- package/dist/generators/error-case-generator.js.map +1 -0
- package/dist/generators/errors/auth-error-strategy.d.ts +36 -0
- package/dist/generators/errors/auth-error-strategy.d.ts.map +1 -0
- package/dist/generators/errors/auth-error-strategy.js +118 -0
- package/dist/generators/errors/auth-error-strategy.js.map +1 -0
- package/dist/generators/errors/business-error-strategy.d.ts +44 -0
- package/dist/generators/errors/business-error-strategy.d.ts.map +1 -0
- package/dist/generators/errors/business-error-strategy.js +152 -0
- package/dist/generators/errors/business-error-strategy.js.map +1 -0
- package/dist/generators/errors/error-strategy-factory.d.ts +27 -0
- package/dist/generators/errors/error-strategy-factory.d.ts.map +1 -0
- package/dist/generators/errors/error-strategy-factory.js +47 -0
- package/dist/generators/errors/error-strategy-factory.js.map +1 -0
- package/dist/generators/errors/error-strategy.d.ts +62 -0
- package/dist/generators/errors/error-strategy.d.ts.map +1 -0
- package/dist/generators/errors/error-strategy.js +69 -0
- package/dist/generators/errors/error-strategy.js.map +1 -0
- package/dist/generators/errors/index.d.ts +23 -0
- package/dist/generators/errors/index.d.ts.map +1 -0
- package/dist/generators/errors/index.js +73 -0
- package/dist/generators/errors/index.js.map +1 -0
- package/dist/generators/errors/validation-error-strategy.d.ts +25 -0
- package/dist/generators/errors/validation-error-strategy.d.ts.map +1 -0
- package/dist/generators/errors/validation-error-strategy.js +214 -0
- package/dist/generators/errors/validation-error-strategy.js.map +1 -0
- package/dist/generators/happy-path-generator.d.ts +93 -0
- package/dist/generators/happy-path-generator.d.ts.map +1 -0
- package/dist/generators/happy-path-generator.js +275 -0
- package/dist/generators/happy-path-generator.js.map +1 -0
- package/dist/generators/test-enricher.d.ts +44 -0
- package/dist/generators/test-enricher.d.ts.map +1 -0
- package/dist/generators/test-enricher.js +109 -0
- package/dist/generators/test-enricher.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/ai-cache.d.ts +123 -0
- package/dist/llm/ai-cache.d.ts.map +1 -0
- package/dist/llm/ai-cache.js +220 -0
- package/dist/llm/ai-cache.js.map +1 -0
- package/dist/llm/ai-client.d.ts +92 -0
- package/dist/llm/ai-client.d.ts.map +1 -0
- package/dist/llm/ai-client.js +386 -0
- package/dist/llm/ai-client.js.map +1 -0
- package/dist/llm/data-generator-ai.d.ts +84 -0
- package/dist/llm/data-generator-ai.d.ts.map +1 -0
- package/dist/llm/data-generator-ai.js +284 -0
- package/dist/llm/data-generator-ai.js.map +1 -0
- package/dist/llm/index.d.ts +7 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +7 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/mcp/handlers/base-handler.d.ts +72 -0
- package/dist/mcp/handlers/base-handler.d.ts.map +1 -0
- package/dist/mcp/handlers/base-handler.js +86 -0
- package/dist/mcp/handlers/base-handler.js.map +1 -0
- package/dist/mcp/handlers/compare-sources.d.ts +91 -0
- package/dist/mcp/handlers/compare-sources.d.ts.map +1 -0
- package/dist/mcp/handlers/compare-sources.js +182 -0
- package/dist/mcp/handlers/compare-sources.js.map +1 -0
- package/dist/mcp/handlers/export-results.d.ts +53 -0
- package/dist/mcp/handlers/export-results.d.ts.map +1 -0
- package/dist/mcp/handlers/export-results.js +132 -0
- package/dist/mcp/handlers/export-results.js.map +1 -0
- package/dist/mcp/handlers/export-to-postman.d.ts +65 -0
- package/dist/mcp/handlers/export-to-postman.d.ts.map +1 -0
- package/dist/mcp/handlers/export-to-postman.js +128 -0
- package/dist/mcp/handlers/export-to-postman.js.map +1 -0
- package/dist/mcp/handlers/generate-tests.d.ts +74 -0
- package/dist/mcp/handlers/generate-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/generate-tests.js +519 -0
- package/dist/mcp/handlers/generate-tests.js.map +1 -0
- package/dist/mcp/handlers/index.d.ts +13 -0
- package/dist/mcp/handlers/index.d.ts.map +1 -0
- package/dist/mcp/handlers/index.js +12 -0
- package/dist/mcp/handlers/index.js.map +1 -0
- package/dist/mcp/handlers/run-tests.d.ts +89 -0
- package/dist/mcp/handlers/run-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/run-tests.js +233 -0
- package/dist/mcp/handlers/run-tests.js.map +1 -0
- package/dist/mcp/handlers/types.d.ts +61 -0
- package/dist/mcp/handlers/types.d.ts.map +1 -0
- package/dist/mcp/handlers/types.js +9 -0
- package/dist/mcp/handlers/types.js.map +1 -0
- package/dist/mcp/server.d.ts +64 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +200 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/services/file-service.d.ts +66 -0
- package/dist/mcp/services/file-service.d.ts.map +1 -0
- package/dist/mcp/services/file-service.js +143 -0
- package/dist/mcp/services/file-service.js.map +1 -0
- package/dist/mcp/services/llm-service.d.ts +70 -0
- package/dist/mcp/services/llm-service.d.ts.map +1 -0
- package/dist/mcp/services/llm-service.js +189 -0
- package/dist/mcp/services/llm-service.js.map +1 -0
- package/dist/mcp/services/postman-service.d.ts +128 -0
- package/dist/mcp/services/postman-service.d.ts.map +1 -0
- package/dist/mcp/services/postman-service.js +266 -0
- package/dist/mcp/services/postman-service.js.map +1 -0
- package/dist/mcp/services/report-service.d.ts +81 -0
- package/dist/mcp/services/report-service.d.ts.map +1 -0
- package/dist/mcp/services/report-service.js +210 -0
- package/dist/mcp/services/report-service.js.map +1 -0
- package/dist/mcp/services/spec-service.d.ts +58 -0
- package/dist/mcp/services/spec-service.d.ts.map +1 -0
- package/dist/mcp/services/spec-service.js +140 -0
- package/dist/mcp/services/spec-service.js.map +1 -0
- package/dist/parsers/endpoint-extractor.d.ts +32 -0
- package/dist/parsers/endpoint-extractor.d.ts.map +1 -0
- package/dist/parsers/endpoint-extractor.js +160 -0
- package/dist/parsers/endpoint-extractor.js.map +1 -0
- package/dist/parsers/openapi-parser.d.ts +120 -0
- package/dist/parsers/openapi-parser.d.ts.map +1 -0
- package/dist/parsers/openapi-parser.js +257 -0
- package/dist/parsers/openapi-parser.js.map +1 -0
- package/dist/parsers/visitors/auth-visitor.d.ts +28 -0
- package/dist/parsers/visitors/auth-visitor.d.ts.map +1 -0
- package/dist/parsers/visitors/auth-visitor.js +116 -0
- package/dist/parsers/visitors/auth-visitor.js.map +1 -0
- package/dist/prd/index.d.ts +10 -0
- package/dist/prd/index.d.ts.map +1 -0
- package/dist/prd/index.js +10 -0
- package/dist/prd/index.js.map +1 -0
- package/dist/prd/prd-reader.d.ts +124 -0
- package/dist/prd/prd-reader.d.ts.map +1 -0
- package/dist/prd/prd-reader.js +308 -0
- package/dist/prd/prd-reader.js.map +1 -0
- package/dist/prd/prd-storage.d.ts +232 -0
- package/dist/prd/prd-storage.d.ts.map +1 -0
- package/dist/prd/prd-storage.js +129 -0
- package/dist/prd/prd-storage.js.map +1 -0
- package/dist/repairers/test-auto-repairer.d.ts +61 -0
- package/dist/repairers/test-auto-repairer.d.ts.map +1 -0
- package/dist/repairers/test-auto-repairer.js +213 -0
- package/dist/repairers/test-auto-repairer.js.map +1 -0
- package/dist/reporters/comparison-report-generator.d.ts +58 -0
- package/dist/reporters/comparison-report-generator.d.ts.map +1 -0
- package/dist/reporters/comparison-report-generator.js +369 -0
- package/dist/reporters/comparison-report-generator.js.map +1 -0
- package/dist/reporters/gherkin-formatter.d.ts +34 -0
- package/dist/reporters/gherkin-formatter.d.ts.map +1 -0
- package/dist/reporters/gherkin-formatter.js +231 -0
- package/dist/reporters/gherkin-formatter.js.map +1 -0
- package/dist/reporters/html-report-generator.d.ts +174 -0
- package/dist/reporters/html-report-generator.d.ts.map +1 -0
- package/dist/reporters/html-report-generator.js +194 -0
- package/dist/reporters/html-report-generator.js.map +1 -0
- package/dist/reporters/report-charts.d.ts +23 -0
- package/dist/reporters/report-charts.d.ts.map +1 -0
- package/dist/reporters/report-charts.js +182 -0
- package/dist/reporters/report-charts.js.map +1 -0
- package/dist/reporters/report-sections.d.ts +34 -0
- package/dist/reporters/report-sections.d.ts.map +1 -0
- package/dist/reporters/report-sections.js +481 -0
- package/dist/reporters/report-sections.js.map +1 -0
- package/dist/reporters/report-styles.d.ts +12 -0
- package/dist/reporters/report-styles.d.ts.map +1 -0
- package/dist/reporters/report-styles.js +412 -0
- package/dist/reporters/report-styles.js.map +1 -0
- package/dist/reporters/report-test-details.d.ts +56 -0
- package/dist/reporters/report-test-details.d.ts.map +1 -0
- package/dist/reporters/report-test-details.js +328 -0
- package/dist/reporters/report-test-details.js.map +1 -0
- package/dist/reporters/report-utils.d.ts +40 -0
- package/dist/reporters/report-utils.d.ts.map +1 -0
- package/dist/reporters/report-utils.js +163 -0
- package/dist/reporters/report-utils.js.map +1 -0
- package/dist/types/ai-config.d.ts +63 -0
- package/dist/types/ai-config.d.ts.map +1 -0
- package/dist/types/ai-config.js +79 -0
- package/dist/types/ai-config.js.map +1 -0
- package/dist/types/business-rules.d.ts +235 -0
- package/dist/types/business-rules.d.ts.map +1 -0
- package/dist/types/business-rules.js +6 -0
- package/dist/types/business-rules.js.map +1 -0
- package/dist/types/config.d.ts +106 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +6 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/core.d.ts +72 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +6 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/openapi.d.ts +139 -0
- package/dist/types/openapi.d.ts.map +1 -0
- package/dist/types/openapi.js +6 -0
- package/dist/types/openapi.js.map +1 -0
- package/dist/types/pact.d.ts +101 -0
- package/dist/types/pact.d.ts.map +1 -0
- package/dist/types/pact.js +6 -0
- package/dist/types/pact.js.map +1 -0
- package/dist/types/reporting.d.ts +93 -0
- package/dist/types/reporting.d.ts.map +1 -0
- package/dist/types/reporting.js +6 -0
- package/dist/types/reporting.js.map +1 -0
- package/dist/types/test-case.d.ts +233 -0
- package/dist/types/test-case.d.ts.map +1 -0
- package/dist/types/test-case.js +6 -0
- package/dist/types/test-case.js.map +1 -0
- package/dist/types/test-execution.d.ts +80 -0
- package/dist/types/test-execution.d.ts.map +1 -0
- package/dist/types/test-execution.js +6 -0
- package/dist/types/test-execution.js.map +1 -0
- package/dist/utils/auth-generator.d.ts +30 -0
- package/dist/utils/auth-generator.d.ts.map +1 -0
- package/dist/utils/auth-generator.js +68 -0
- package/dist/utils/auth-generator.js.map +1 -0
- package/dist/utils/config.d.ts +181 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +141 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/coverage-calculator.d.ts +81 -0
- package/dist/utils/coverage-calculator.d.ts.map +1 -0
- package/dist/utils/coverage-calculator.js +134 -0
- package/dist/utils/coverage-calculator.js.map +1 -0
- package/dist/utils/data-loader.d.ts +52 -0
- package/dist/utils/data-loader.d.ts.map +1 -0
- package/dist/utils/data-loader.js +192 -0
- package/dist/utils/data-loader.js.map +1 -0
- package/dist/utils/errors.d.ts +167 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +257 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +220 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +325 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/openapi-discovery.d.ts +31 -0
- package/dist/utils/openapi-discovery.d.ts.map +1 -0
- package/dist/utils/openapi-discovery.js +322 -0
- package/dist/utils/openapi-discovery.js.map +1 -0
- package/dist/utils/path-resolver.d.ts +101 -0
- package/dist/utils/path-resolver.d.ts.map +1 -0
- package/dist/utils/path-resolver.js +167 -0
- package/dist/utils/path-resolver.js.map +1 -0
- package/dist/utils/resilience.d.ts +181 -0
- package/dist/utils/resilience.d.ts.map +1 -0
- package/dist/utils/resilience.js +269 -0
- package/dist/utils/resilience.js.map +1 -0
- package/dist/validators/openapi-validator.d.ts +198 -0
- package/dist/validators/openapi-validator.d.ts.map +1 -0
- package/dist/validators/openapi-validator.js +349 -0
- package/dist/validators/openapi-validator.js.map +1 -0
- package/dist/validators/response-matcher.d.ts +84 -0
- package/dist/validators/response-matcher.d.ts.map +1 -0
- package/dist/validators/response-matcher.js +234 -0
- package/dist/validators/response-matcher.js.map +1 -0
- package/dist/validators/schema-validator.d.ts +174 -0
- package/dist/validators/schema-validator.d.ts.map +1 -0
- package/dist/validators/schema-validator.js +340 -0
- package/dist/validators/schema-validator.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Configuration Types
|
|
3
|
+
*
|
|
4
|
+
* Defines configuration levels and capabilities for AI-powered test generation
|
|
5
|
+
*
|
|
6
|
+
* @module types/ai-config
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Predefined AI level configurations
|
|
10
|
+
*/
|
|
11
|
+
export const AI_LEVELS = {
|
|
12
|
+
'off': {
|
|
13
|
+
level: 'off',
|
|
14
|
+
capabilities: {
|
|
15
|
+
contextualData: false,
|
|
16
|
+
autoDependencies: false,
|
|
17
|
+
autoDataFlow: false,
|
|
18
|
+
smartAssertions: false,
|
|
19
|
+
domainEdgeCases: false,
|
|
20
|
+
userStoryAnalysis: false
|
|
21
|
+
},
|
|
22
|
+
llm: {
|
|
23
|
+
maxTokens: 0,
|
|
24
|
+
temperature: 0
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
'basic': {
|
|
28
|
+
level: 'basic',
|
|
29
|
+
capabilities: {
|
|
30
|
+
contextualData: true, // ✅ Only contextual data
|
|
31
|
+
autoDependencies: false,
|
|
32
|
+
autoDataFlow: false,
|
|
33
|
+
smartAssertions: false,
|
|
34
|
+
domainEdgeCases: false,
|
|
35
|
+
userStoryAnalysis: false
|
|
36
|
+
},
|
|
37
|
+
llm: {
|
|
38
|
+
maxTokens: 2048,
|
|
39
|
+
temperature: 0.3
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
'smart': {
|
|
43
|
+
level: 'smart',
|
|
44
|
+
capabilities: {
|
|
45
|
+
contextualData: true, // ✅
|
|
46
|
+
autoDependencies: true, // ✅ Auto-detect dependencies
|
|
47
|
+
autoDataFlow: true, // ✅ Auto-detect data flows
|
|
48
|
+
smartAssertions: true, // ✅ Smart assertions
|
|
49
|
+
domainEdgeCases: false,
|
|
50
|
+
userStoryAnalysis: false
|
|
51
|
+
},
|
|
52
|
+
llm: {
|
|
53
|
+
maxTokens: 4096,
|
|
54
|
+
temperature: 0.3
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
'advanced': {
|
|
58
|
+
level: 'advanced',
|
|
59
|
+
capabilities: {
|
|
60
|
+
contextualData: true, // ✅
|
|
61
|
+
autoDependencies: true, // ✅
|
|
62
|
+
autoDataFlow: true, // ✅
|
|
63
|
+
smartAssertions: true, // ✅
|
|
64
|
+
domainEdgeCases: true, // ✅ Domain edge cases
|
|
65
|
+
userStoryAnalysis: true // ✅ User story analysis
|
|
66
|
+
},
|
|
67
|
+
llm: {
|
|
68
|
+
maxTokens: 8192,
|
|
69
|
+
temperature: 0.3
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Get AI configuration for a specific level
|
|
75
|
+
*/
|
|
76
|
+
export function getAIConfig(level = 'off') {
|
|
77
|
+
return AI_LEVELS[level];
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=ai-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/types/ai-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8DH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAA8B;IAClD,KAAK,EAAE;QACL,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE;YACZ,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,KAAK;SACzB;QACD,GAAG,EAAE;YACH,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACf;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,YAAY,EAAE;YACZ,cAAc,EAAE,IAAI,EAAQ,yBAAyB;YACrD,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,KAAK;SACzB;QACD,GAAG,EAAE;YACH,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,GAAG;SACjB;KACF;IAED,OAAO,EAAE;QACP,KAAK,EAAE,OAAO;QACd,YAAY,EAAE;YACZ,cAAc,EAAE,IAAI,EAAQ,IAAI;YAChC,gBAAgB,EAAE,IAAI,EAAM,6BAA6B;YACzD,YAAY,EAAE,IAAI,EAAU,2BAA2B;YACvD,eAAe,EAAE,IAAI,EAAO,qBAAqB;YACjD,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,KAAK;SACzB;QACD,GAAG,EAAE;YACH,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,GAAG;SACjB;KACF;IAED,UAAU,EAAE;QACV,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE;YACZ,cAAc,EAAE,IAAI,EAAQ,IAAI;YAChC,gBAAgB,EAAE,IAAI,EAAM,IAAI;YAChC,YAAY,EAAE,IAAI,EAAU,IAAI;YAChC,eAAe,EAAE,IAAI,EAAO,IAAI;YAChC,eAAe,EAAE,IAAI,EAAO,sBAAsB;YAClD,iBAAiB,EAAE,IAAI,CAAK,wBAAwB;SACrD;QACD,GAAG,EAAE;YACH,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,GAAG;SACjB;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAiB,KAAK;IAChD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Business rules types - domain logic validation
|
|
3
|
+
* @module types/business-rules
|
|
4
|
+
*/
|
|
5
|
+
import type { HttpMethod } from './core.js';
|
|
6
|
+
import type { TestCase } from './test-case.js';
|
|
7
|
+
/**
|
|
8
|
+
* Types of validation rules for business logic
|
|
9
|
+
*/
|
|
10
|
+
export type BusinessRuleValidationType = 'format' | 'unique' | 'minimum' | 'maximum' | 'minLength' | 'maxLength' | 'pattern' | 'enum' | 'custom';
|
|
11
|
+
/**
|
|
12
|
+
* A single validation rule within a business rule
|
|
13
|
+
*/
|
|
14
|
+
export interface BusinessRuleValidation {
|
|
15
|
+
/**
|
|
16
|
+
* Type of validation (format, unique, minimum, etc.)
|
|
17
|
+
*/
|
|
18
|
+
type: BusinessRuleValidationType;
|
|
19
|
+
/**
|
|
20
|
+
* Value for the validation (e.g., minimum value, pattern regex)
|
|
21
|
+
*/
|
|
22
|
+
value?: string | number | string[];
|
|
23
|
+
/**
|
|
24
|
+
* Format type for format validation (e.g., "email", "uuid")
|
|
25
|
+
*/
|
|
26
|
+
format?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Regex pattern for pattern validation
|
|
29
|
+
*/
|
|
30
|
+
regex?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Expected HTTP status code when validation fails
|
|
33
|
+
*/
|
|
34
|
+
errorStatus?: number;
|
|
35
|
+
/**
|
|
36
|
+
* Error message when validation fails
|
|
37
|
+
*/
|
|
38
|
+
errorMessage?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Custom validation function name (for custom type)
|
|
41
|
+
*/
|
|
42
|
+
customValidator?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A business rule extracted from documentation
|
|
46
|
+
*/
|
|
47
|
+
export interface BusinessRule {
|
|
48
|
+
/**
|
|
49
|
+
* Unique identifier for the rule (e.g., "BR-001")
|
|
50
|
+
*/
|
|
51
|
+
id: string;
|
|
52
|
+
/**
|
|
53
|
+
* Source file where the rule was extracted from
|
|
54
|
+
*/
|
|
55
|
+
source: string;
|
|
56
|
+
/**
|
|
57
|
+
* HTTP method and path (e.g., "POST /users")
|
|
58
|
+
*/
|
|
59
|
+
endpoint: string;
|
|
60
|
+
/**
|
|
61
|
+
* HTTP method
|
|
62
|
+
*/
|
|
63
|
+
method?: HttpMethod;
|
|
64
|
+
/**
|
|
65
|
+
* URL path
|
|
66
|
+
*/
|
|
67
|
+
path?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Field this rule applies to
|
|
70
|
+
*/
|
|
71
|
+
field?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Human-readable description of the rule
|
|
74
|
+
*/
|
|
75
|
+
description: string;
|
|
76
|
+
/**
|
|
77
|
+
* List of validations for this rule
|
|
78
|
+
*/
|
|
79
|
+
validations: BusinessRuleValidation[];
|
|
80
|
+
/**
|
|
81
|
+
* Examples from the documentation (if any)
|
|
82
|
+
*/
|
|
83
|
+
examples?: Array<{
|
|
84
|
+
input: unknown;
|
|
85
|
+
expectedResult: 'success' | 'failure';
|
|
86
|
+
expectedStatus?: number;
|
|
87
|
+
}>;
|
|
88
|
+
/**
|
|
89
|
+
* Priority level (high, medium, low)
|
|
90
|
+
*/
|
|
91
|
+
priority?: 'high' | 'medium' | 'low';
|
|
92
|
+
/**
|
|
93
|
+
* Tags for categorization
|
|
94
|
+
*/
|
|
95
|
+
tags?: string[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Collection of business rules
|
|
99
|
+
*/
|
|
100
|
+
export interface BusinessRulesDocument {
|
|
101
|
+
/**
|
|
102
|
+
* Version of the business rules schema
|
|
103
|
+
*/
|
|
104
|
+
version: string;
|
|
105
|
+
/**
|
|
106
|
+
* When this document was generated
|
|
107
|
+
*/
|
|
108
|
+
generated: Date;
|
|
109
|
+
/**
|
|
110
|
+
* Source directory or files
|
|
111
|
+
*/
|
|
112
|
+
source: string | string[];
|
|
113
|
+
/**
|
|
114
|
+
* List of business rules
|
|
115
|
+
*/
|
|
116
|
+
rules: BusinessRule[];
|
|
117
|
+
/**
|
|
118
|
+
* Metadata about the extraction
|
|
119
|
+
*/
|
|
120
|
+
metadata?: {
|
|
121
|
+
filesAnalyzed: number;
|
|
122
|
+
rulesExtracted: number;
|
|
123
|
+
endpointsCovered: number;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Options for business rules analyzer
|
|
128
|
+
*/
|
|
129
|
+
export interface BusinessRulesAnalyzerOptions {
|
|
130
|
+
/**
|
|
131
|
+
* Include examples from documentation
|
|
132
|
+
*/
|
|
133
|
+
includeExamples?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Automatically generate rule IDs
|
|
136
|
+
*/
|
|
137
|
+
generateIds?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Link rules to OpenAPI spec endpoints
|
|
140
|
+
*/
|
|
141
|
+
linkToOpenAPI?: string;
|
|
142
|
+
/**
|
|
143
|
+
* File extensions to analyze
|
|
144
|
+
*/
|
|
145
|
+
fileExtensions?: string[];
|
|
146
|
+
/**
|
|
147
|
+
* Encoding for reading files
|
|
148
|
+
*/
|
|
149
|
+
encoding?: BufferEncoding;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Result from analyzing documentation
|
|
153
|
+
*/
|
|
154
|
+
export interface BusinessRulesAnalysisResult {
|
|
155
|
+
/**
|
|
156
|
+
* Success status
|
|
157
|
+
*/
|
|
158
|
+
success: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Number of rules extracted
|
|
161
|
+
*/
|
|
162
|
+
rulesExtracted: number;
|
|
163
|
+
/**
|
|
164
|
+
* Path to generated business-rules.yml
|
|
165
|
+
*/
|
|
166
|
+
rulesFile: string;
|
|
167
|
+
/**
|
|
168
|
+
* Extracted rules
|
|
169
|
+
*/
|
|
170
|
+
rules: BusinessRule[];
|
|
171
|
+
/**
|
|
172
|
+
* Summary statistics
|
|
173
|
+
*/
|
|
174
|
+
summary: {
|
|
175
|
+
filesAnalyzed: number;
|
|
176
|
+
rulesExtracted: number;
|
|
177
|
+
endpointsCovered: number;
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* Errors encountered (if any)
|
|
181
|
+
*/
|
|
182
|
+
errors?: string[];
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Options for business rules test generator
|
|
186
|
+
*/
|
|
187
|
+
export interface BusinessRulesGeneratorOptions {
|
|
188
|
+
/**
|
|
189
|
+
* Generate positive test cases (valid data)
|
|
190
|
+
*/
|
|
191
|
+
generatePositive?: boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Generate negative test cases (invalid data)
|
|
194
|
+
*/
|
|
195
|
+
generateNegative?: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Seed for reproducible test data generation
|
|
198
|
+
*/
|
|
199
|
+
seed?: number;
|
|
200
|
+
/**
|
|
201
|
+
* Include optional fields in tests
|
|
202
|
+
*/
|
|
203
|
+
includeOptional?: boolean;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Result from generating business rules tests
|
|
207
|
+
*/
|
|
208
|
+
export interface BusinessRulesTestsResult {
|
|
209
|
+
/**
|
|
210
|
+
* Success status
|
|
211
|
+
*/
|
|
212
|
+
success: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Generated test cases
|
|
215
|
+
*/
|
|
216
|
+
tests: TestCase[];
|
|
217
|
+
/**
|
|
218
|
+
* Summary of generated tests
|
|
219
|
+
*/
|
|
220
|
+
summary: {
|
|
221
|
+
total: number;
|
|
222
|
+
byRule: Record<string, number>;
|
|
223
|
+
positive: number;
|
|
224
|
+
negative: number;
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Combined totals with technical tests
|
|
228
|
+
*/
|
|
229
|
+
combined?: {
|
|
230
|
+
technical: number;
|
|
231
|
+
business: number;
|
|
232
|
+
total: number;
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=business-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"business-rules.d.ts","sourceRoot":"","sources":["../../src/types/business-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"business-rules.js","sourceRoot":"","sources":["../../src/types/business-rules.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration types - environment and authentication
|
|
3
|
+
* @module types/config
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Environment configuration for API testing
|
|
7
|
+
*/
|
|
8
|
+
export interface Environment {
|
|
9
|
+
/**
|
|
10
|
+
* Unique identifier for the environment
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* Base URL for the API (e.g., http://localhost:8080)
|
|
15
|
+
*/
|
|
16
|
+
baseUrl: string;
|
|
17
|
+
/**
|
|
18
|
+
* Request timeout in milliseconds
|
|
19
|
+
* @default 5000
|
|
20
|
+
*/
|
|
21
|
+
timeout?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Authentication configuration for this environment
|
|
24
|
+
*/
|
|
25
|
+
auth?: AuthConfig;
|
|
26
|
+
/**
|
|
27
|
+
* Additional headers to include in all requests
|
|
28
|
+
*/
|
|
29
|
+
headers?: Record<string, string>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Authentication configuration
|
|
33
|
+
*/
|
|
34
|
+
export interface AuthConfig {
|
|
35
|
+
/**
|
|
36
|
+
* Type of authentication
|
|
37
|
+
*/
|
|
38
|
+
type: 'bearer' | 'api-key' | 'basic' | 'oauth2';
|
|
39
|
+
/**
|
|
40
|
+
* Bearer token (for type: 'bearer')
|
|
41
|
+
*/
|
|
42
|
+
token?: string;
|
|
43
|
+
/**
|
|
44
|
+
* API key configuration (for type: 'api-key')
|
|
45
|
+
*/
|
|
46
|
+
apiKey?: {
|
|
47
|
+
/**
|
|
48
|
+
* Name of the header or query parameter
|
|
49
|
+
*/
|
|
50
|
+
name: string;
|
|
51
|
+
/**
|
|
52
|
+
* Where to send the API key
|
|
53
|
+
*/
|
|
54
|
+
in: 'header' | 'query';
|
|
55
|
+
/**
|
|
56
|
+
* The API key value
|
|
57
|
+
*/
|
|
58
|
+
value: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Basic auth credentials (for type: 'basic')
|
|
62
|
+
*/
|
|
63
|
+
basic?: {
|
|
64
|
+
username: string;
|
|
65
|
+
password: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* OAuth2 configuration (for type: 'oauth2')
|
|
69
|
+
* AGNOSTIC: Supports multiple OAuth2 flows
|
|
70
|
+
*/
|
|
71
|
+
oauth2?: {
|
|
72
|
+
/**
|
|
73
|
+
* OAuth2 token endpoint URL
|
|
74
|
+
*/
|
|
75
|
+
tokenUrl: string;
|
|
76
|
+
/**
|
|
77
|
+
* OAuth2 flow type (optional - auto-detected if not specified)
|
|
78
|
+
*/
|
|
79
|
+
flow?: 'password' | 'clientCredentials' | 'authorizationCode' | 'implicit';
|
|
80
|
+
/**
|
|
81
|
+
* Username for password flow
|
|
82
|
+
*/
|
|
83
|
+
username?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Password for password flow
|
|
86
|
+
*/
|
|
87
|
+
password?: string;
|
|
88
|
+
/**
|
|
89
|
+
* Client ID (required for client_credentials, optional for password)
|
|
90
|
+
*/
|
|
91
|
+
clientId?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Client secret (required for client_credentials, optional for password)
|
|
94
|
+
*/
|
|
95
|
+
clientSecret?: string;
|
|
96
|
+
/**
|
|
97
|
+
* OAuth2 scopes
|
|
98
|
+
*/
|
|
99
|
+
scopes?: string[];
|
|
100
|
+
/**
|
|
101
|
+
* Pre-acquired access token (if provided, skips token acquisition)
|
|
102
|
+
*/
|
|
103
|
+
accessToken?: string;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAEhD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QAEb;;WAEG;QACH,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC;QAEvB;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAC;QAEjB;;WAEG;QACH,IAAI,CAAC,EAAE,UAAU,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,UAAU,CAAC;QAE3E;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB;;WAEG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAElB;;WAEG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions - primitives and validation
|
|
3
|
+
* @module types/core
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* HTTP methods supported by the API tester
|
|
7
|
+
*/
|
|
8
|
+
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS';
|
|
9
|
+
/**
|
|
10
|
+
* Test case categories for organization and reporting
|
|
11
|
+
*/
|
|
12
|
+
export type TestCaseCategory = 'happy-path' | 'edge-case' | 'error-case' | 'schema-validation' | 'business-rule';
|
|
13
|
+
/**
|
|
14
|
+
* Test execution status
|
|
15
|
+
*/
|
|
16
|
+
export type TestStatus = 'pending' | 'running' | 'passed' | 'failed' | 'skipped';
|
|
17
|
+
/**
|
|
18
|
+
* Validation result from schema validation
|
|
19
|
+
*/
|
|
20
|
+
export interface ValidationResult {
|
|
21
|
+
/**
|
|
22
|
+
* Whether the validation passed
|
|
23
|
+
*/
|
|
24
|
+
valid: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Validation errors if any
|
|
27
|
+
*/
|
|
28
|
+
errors: Array<{
|
|
29
|
+
/**
|
|
30
|
+
* Field that failed validation
|
|
31
|
+
*/
|
|
32
|
+
field: string;
|
|
33
|
+
/**
|
|
34
|
+
* Error message
|
|
35
|
+
*/
|
|
36
|
+
message: string;
|
|
37
|
+
/**
|
|
38
|
+
* Error code/type
|
|
39
|
+
*/
|
|
40
|
+
code?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The invalid value (optional)
|
|
43
|
+
*/
|
|
44
|
+
value?: unknown;
|
|
45
|
+
}>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Schema validation error details
|
|
49
|
+
*/
|
|
50
|
+
export interface ValidationError {
|
|
51
|
+
/**
|
|
52
|
+
* JSON path to the field that failed validation (e.g., /email)
|
|
53
|
+
*/
|
|
54
|
+
instancePath: string;
|
|
55
|
+
/**
|
|
56
|
+
* The schema keyword that failed (e.g., 'type', 'format', 'required')
|
|
57
|
+
*/
|
|
58
|
+
keyword: string;
|
|
59
|
+
/**
|
|
60
|
+
* Human-readable error message
|
|
61
|
+
*/
|
|
62
|
+
message: string;
|
|
63
|
+
/**
|
|
64
|
+
* The schema that was violated
|
|
65
|
+
*/
|
|
66
|
+
schema?: unknown;
|
|
67
|
+
/**
|
|
68
|
+
* The actual data that failed validation
|
|
69
|
+
*/
|
|
70
|
+
data?: unknown;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1F;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,mBAAmB,GAAG,eAAe,CAAC;AAEjH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC;QACZ;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,OAAO,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for OpenAPI Contract Tester MCP Server
|
|
3
|
+
*
|
|
4
|
+
* This module re-exports all TypeScript interfaces and types used throughout
|
|
5
|
+
* the application for type safety and documentation.
|
|
6
|
+
*
|
|
7
|
+
* @module types
|
|
8
|
+
*/
|
|
9
|
+
export type { HttpMethod, TestCaseCategory, TestStatus, ValidationResult, ValidationError } from './core.js';
|
|
10
|
+
export type { Environment, AuthConfig } from './config.js';
|
|
11
|
+
export type { TestCase, TestResult, BoundaryValue, TestGenerationConfig } from './test-case.js';
|
|
12
|
+
export type { ResponseMatcher, StateHandler, TestExecutionOptions } from './test-execution.js';
|
|
13
|
+
export type { TestSuiteSummary, ContractViolation } from './reporting.js';
|
|
14
|
+
export type { ParsedEndpoint, SpecComparisonOptions, SpecComparisonResult, SpecChange } from './openapi.js';
|
|
15
|
+
export type { PactContract, PactInteraction, PactMatchers, PactVerificationResult } from './pact.js';
|
|
16
|
+
export type { BusinessRuleValidationType, BusinessRuleValidation, BusinessRule, BusinessRulesDocument, BusinessRulesAnalyzerOptions, BusinessRulesAnalysisResult, BusinessRulesGeneratorOptions, BusinessRulesTestsResult } from './business-rules.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for OpenAPI Contract Tester MCP Server
|
|
3
|
+
*
|
|
4
|
+
* This module re-exports all TypeScript interfaces and types used throughout
|
|
5
|
+
* the application for type safety and documentation.
|
|
6
|
+
*
|
|
7
|
+
* @module types
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|