specforge-mcp 0.11.0 → 0.12.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/dist/engine/agent-generator.test.d.ts +2 -0
- package/dist/engine/agent-generator.test.d.ts.map +1 -0
- package/dist/engine/agent-generator.test.js +556 -0
- package/dist/engine/agent-generator.test.js.map +1 -0
- package/dist/engine/analyzer.test.d.ts +2 -0
- package/dist/engine/analyzer.test.d.ts.map +1 -0
- package/dist/engine/analyzer.test.js +1461 -0
- package/dist/engine/analyzer.test.js.map +1 -0
- package/dist/engine/auditor.test.d.ts +2 -0
- package/dist/engine/auditor.test.d.ts.map +1 -0
- package/dist/engine/auditor.test.js +2075 -0
- package/dist/engine/auditor.test.js.map +1 -0
- package/dist/engine/context-budget/checkpoint.d.ts +8 -0
- package/dist/engine/context-budget/checkpoint.d.ts.map +1 -0
- package/dist/engine/context-budget/checkpoint.js +79 -0
- package/dist/engine/context-budget/checkpoint.js.map +1 -0
- package/dist/engine/context-budget/compressor.d.ts +20 -0
- package/dist/engine/context-budget/compressor.d.ts.map +1 -0
- package/dist/engine/context-budget/compressor.js +122 -0
- package/dist/engine/context-budget/compressor.js.map +1 -0
- package/dist/engine/context-budget/index.d.ts +5 -0
- package/dist/engine/context-budget/index.d.ts.map +1 -0
- package/dist/engine/context-budget/index.js +6 -0
- package/dist/engine/context-budget/index.js.map +1 -0
- package/dist/engine/context-budget/optimizer.d.ts +8 -0
- package/dist/engine/context-budget/optimizer.d.ts.map +1 -0
- package/dist/engine/context-budget/optimizer.js +87 -0
- package/dist/engine/context-budget/optimizer.js.map +1 -0
- package/dist/engine/context-budget/tracker.d.ts +19 -0
- package/dist/engine/context-budget/tracker.d.ts.map +1 -0
- package/dist/engine/context-budget/tracker.js +113 -0
- package/dist/engine/context-budget/tracker.js.map +1 -0
- package/dist/engine/doc-generator.test.d.ts +2 -0
- package/dist/engine/doc-generator.test.d.ts.map +1 -0
- package/dist/engine/doc-generator.test.js +961 -0
- package/dist/engine/doc-generator.test.js.map +1 -0
- package/dist/engine/estimator.test.d.ts +2 -0
- package/dist/engine/estimator.test.d.ts.map +1 -0
- package/dist/engine/estimator.test.js +334 -0
- package/dist/engine/estimator.test.js.map +1 -0
- package/dist/engine/skill-generator.test.d.ts +2 -0
- package/dist/engine/skill-generator.test.d.ts.map +1 -0
- package/dist/engine/skill-generator.test.js +742 -0
- package/dist/engine/skill-generator.test.js.map +1 -0
- package/dist/engine/test-spec-generator/criterion-parser.d.ts +6 -0
- package/dist/engine/test-spec-generator/criterion-parser.d.ts.map +1 -0
- package/dist/engine/test-spec-generator/criterion-parser.js +96 -0
- package/dist/engine/test-spec-generator/criterion-parser.js.map +1 -0
- package/dist/engine/{test-spec-generator.d.ts → test-spec-generator/index.d.ts} +5 -2
- package/dist/engine/test-spec-generator/index.d.ts.map +1 -0
- package/dist/engine/test-spec-generator/index.js +29 -0
- package/dist/engine/test-spec-generator/index.js.map +1 -0
- package/dist/engine/test-spec-generator/labels.d.ts +5 -0
- package/dist/engine/test-spec-generator/labels.d.ts.map +1 -0
- package/dist/engine/test-spec-generator/labels.js +62 -0
- package/dist/engine/test-spec-generator/labels.js.map +1 -0
- package/dist/engine/test-spec-generator/scenario-builders.d.ts +3 -0
- package/dist/engine/test-spec-generator/scenario-builders.d.ts.map +1 -0
- package/dist/engine/test-spec-generator/scenario-builders.js +184 -0
- package/dist/engine/test-spec-generator/scenario-builders.js.map +1 -0
- package/dist/engine/validator.test.d.ts +2 -0
- package/dist/engine/validator.test.d.ts.map +1 -0
- package/dist/engine/validator.test.js +2371 -0
- package/dist/engine/validator.test.js.map +1 -0
- package/dist/engine/web-fetcher.test.d.ts +2 -0
- package/dist/engine/web-fetcher.test.d.ts.map +1 -0
- package/dist/engine/web-fetcher.test.js +360 -0
- package/dist/engine/web-fetcher.test.js.map +1 -0
- package/dist/i18n/index.test.d.ts +2 -0
- package/dist/i18n/index.test.d.ts.map +1 -0
- package/dist/i18n/index.test.js +375 -0
- package/dist/i18n/index.test.js.map +1 -0
- package/dist/index.js +0 -0
- package/dist/index.test.d.ts +2 -0
- package/dist/index.test.d.ts.map +1 -0
- package/dist/index.test.js +124 -0
- package/dist/index.test.js.map +1 -0
- package/dist/resources/patterns.test.d.ts +2 -0
- package/dist/resources/patterns.test.d.ts.map +1 -0
- package/dist/resources/patterns.test.js +142 -0
- package/dist/resources/patterns.test.js.map +1 -0
- package/dist/resources/process.test.d.ts +2 -0
- package/dist/resources/process.test.d.ts.map +1 -0
- package/dist/resources/process.test.js +48 -0
- package/dist/resources/process.test.js.map +1 -0
- package/dist/resources/registry.test.d.ts +2 -0
- package/dist/resources/registry.test.d.ts.map +1 -0
- package/dist/resources/registry.test.js +138 -0
- package/dist/resources/registry.test.js.map +1 -0
- package/dist/resources/specs.test.d.ts +2 -0
- package/dist/resources/specs.test.d.ts.map +1 -0
- package/dist/resources/specs.test.js +130 -0
- package/dist/resources/specs.test.js.map +1 -0
- package/dist/resources/templates.test.d.ts +2 -0
- package/dist/resources/templates.test.d.ts.map +1 -0
- package/dist/resources/templates.test.js +119 -0
- package/dist/resources/templates.test.js.map +1 -0
- package/dist/smoke.test.d.ts +2 -0
- package/dist/smoke.test.d.ts.map +1 -0
- package/dist/smoke.test.js +229 -0
- package/dist/smoke.test.js.map +1 -0
- package/dist/storage/base-store.test.d.ts +2 -0
- package/dist/storage/base-store.test.d.ts.map +1 -0
- package/dist/storage/base-store.test.js +180 -0
- package/dist/storage/base-store.test.js.map +1 -0
- package/dist/storage/checkpoint-store.d.ts +12 -0
- package/dist/storage/checkpoint-store.d.ts.map +1 -0
- package/dist/storage/checkpoint-store.js +85 -0
- package/dist/storage/checkpoint-store.js.map +1 -0
- package/dist/storage/global-store.test.d.ts +2 -0
- package/dist/storage/global-store.test.d.ts.map +1 -0
- package/dist/storage/global-store.test.js +327 -0
- package/dist/storage/global-store.test.js.map +1 -0
- package/dist/storage/index.test.d.ts +2 -0
- package/dist/storage/index.test.d.ts.map +1 -0
- package/dist/storage/index.test.js +56 -0
- package/dist/storage/index.test.js.map +1 -0
- package/dist/storage/knowledge-store.test.d.ts +2 -0
- package/dist/storage/knowledge-store.test.d.ts.map +1 -0
- package/dist/storage/knowledge-store.test.js +368 -0
- package/dist/storage/knowledge-store.test.js.map +1 -0
- package/dist/storage/metrics-store.test.d.ts +2 -0
- package/dist/storage/metrics-store.test.d.ts.map +1 -0
- package/dist/storage/metrics-store.test.js +212 -0
- package/dist/storage/metrics-store.test.js.map +1 -0
- package/dist/storage/pattern-store.test.d.ts +2 -0
- package/dist/storage/pattern-store.test.d.ts.map +1 -0
- package/dist/storage/pattern-store.test.js +224 -0
- package/dist/storage/pattern-store.test.js.map +1 -0
- package/dist/storage/spec-store.test.d.ts +2 -0
- package/dist/storage/spec-store.test.d.ts.map +1 -0
- package/dist/storage/spec-store.test.js +227 -0
- package/dist/storage/spec-store.test.js.map +1 -0
- package/dist/tools/audit.test.d.ts +2 -0
- package/dist/tools/audit.test.d.ts.map +1 -0
- package/dist/tools/audit.test.js +169 -0
- package/dist/tools/audit.test.js.map +1 -0
- package/dist/tools/challenge-spec.test.d.ts +2 -0
- package/dist/tools/challenge-spec.test.d.ts.map +1 -0
- package/dist/tools/challenge-spec.test.js +782 -0
- package/dist/tools/challenge-spec.test.js.map +1 -0
- package/dist/tools/check-versions.test.d.ts +2 -0
- package/dist/tools/check-versions.test.d.ts.map +1 -0
- package/dist/tools/check-versions.test.js +214 -0
- package/dist/tools/check-versions.test.js.map +1 -0
- package/dist/tools/clarify-requirements.test.d.ts +2 -0
- package/dist/tools/clarify-requirements.test.d.ts.map +1 -0
- package/dist/tools/clarify-requirements.test.js +161 -0
- package/dist/tools/clarify-requirements.test.js.map +1 -0
- package/dist/tools/consult-docs.test.d.ts +2 -0
- package/dist/tools/consult-docs.test.d.ts.map +1 -0
- package/dist/tools/consult-docs.test.js +140 -0
- package/dist/tools/consult-docs.test.js.map +1 -0
- package/dist/tools/context-budget.d.ts +3 -0
- package/dist/tools/context-budget.d.ts.map +1 -0
- package/dist/tools/context-budget.js +131 -0
- package/dist/tools/context-budget.js.map +1 -0
- package/dist/tools/create-spec.test.d.ts +2 -0
- package/dist/tools/create-spec.test.d.ts.map +1 -0
- package/dist/tools/create-spec.test.js +233 -0
- package/dist/tools/create-spec.test.js.map +1 -0
- package/dist/tools/define-ui-contract.test.d.ts +2 -0
- package/dist/tools/define-ui-contract.test.d.ts.map +1 -0
- package/dist/tools/define-ui-contract.test.js +479 -0
- package/dist/tools/define-ui-contract.test.js.map +1 -0
- package/dist/tools/design-schema.test.d.ts +2 -0
- package/dist/tools/design-schema.test.d.ts.map +1 -0
- package/dist/tools/design-schema.test.js +301 -0
- package/dist/tools/design-schema.test.js.map +1 -0
- package/dist/tools/detect-agent.test.d.ts +2 -0
- package/dist/tools/detect-agent.test.d.ts.map +1 -0
- package/dist/tools/detect-agent.test.js +133 -0
- package/dist/tools/detect-agent.test.js.map +1 -0
- package/dist/tools/detect-drift.test.d.ts +2 -0
- package/dist/tools/detect-drift.test.d.ts.map +1 -0
- package/dist/tools/detect-drift.test.js +312 -0
- package/dist/tools/detect-drift.test.js.map +1 -0
- package/dist/tools/discover-mcps.test.d.ts +2 -0
- package/dist/tools/discover-mcps.test.d.ts.map +1 -0
- package/dist/tools/discover-mcps.test.js +345 -0
- package/dist/tools/discover-mcps.test.js.map +1 -0
- package/dist/tools/estimate.test.d.ts +2 -0
- package/dist/tools/estimate.test.d.ts.map +1 -0
- package/dist/tools/estimate.test.js +137 -0
- package/dist/tools/estimate.test.js.map +1 -0
- package/dist/tools/generate-adr.test.d.ts +2 -0
- package/dist/tools/generate-adr.test.d.ts.map +1 -0
- package/dist/tools/generate-adr.test.js +206 -0
- package/dist/tools/generate-adr.test.js.map +1 -0
- package/dist/tools/generate-checklist.test.d.ts +2 -0
- package/dist/tools/generate-checklist.test.d.ts.map +1 -0
- package/dist/tools/generate-checklist.test.js +201 -0
- package/dist/tools/generate-checklist.test.js.map +1 -0
- package/dist/tools/generate-docs.test.d.ts +2 -0
- package/dist/tools/generate-docs.test.d.ts.map +1 -0
- package/dist/tools/generate-docs.test.js +183 -0
- package/dist/tools/generate-docs.test.js.map +1 -0
- package/dist/tools/generate-execution-plan.test.d.ts +2 -0
- package/dist/tools/generate-execution-plan.test.d.ts.map +1 -0
- package/dist/tools/generate-execution-plan.test.js +643 -0
- package/dist/tools/generate-execution-plan.test.js.map +1 -0
- package/dist/tools/generate-rules.test.d.ts +2 -0
- package/dist/tools/generate-rules.test.d.ts.map +1 -0
- package/dist/tools/generate-rules.test.js +148 -0
- package/dist/tools/generate-rules.test.js.map +1 -0
- package/dist/tools/generate-skill.test.d.ts +2 -0
- package/dist/tools/generate-skill.test.d.ts.map +1 -0
- package/dist/tools/generate-skill.test.js +138 -0
- package/dist/tools/generate-skill.test.js.map +1 -0
- package/dist/tools/generate-sub-agent.test.d.ts +2 -0
- package/dist/tools/generate-sub-agent.test.d.ts.map +1 -0
- package/dist/tools/generate-sub-agent.test.js +162 -0
- package/dist/tools/generate-sub-agent.test.js.map +1 -0
- package/dist/tools/generate-tests/dispatchers/ai-ml-dispatcher.d.ts +3 -0
- package/dist/tools/generate-tests/dispatchers/ai-ml-dispatcher.d.ts.map +1 -0
- package/dist/tools/generate-tests/dispatchers/ai-ml-dispatcher.js +33 -0
- package/dist/tools/generate-tests/dispatchers/ai-ml-dispatcher.js.map +1 -0
- package/dist/tools/generate-tests/dispatchers/database-security-dispatcher.d.ts +5 -0
- package/dist/tools/generate-tests/dispatchers/database-security-dispatcher.d.ts.map +1 -0
- package/dist/tools/generate-tests/dispatchers/database-security-dispatcher.js +25 -0
- package/dist/tools/generate-tests/dispatchers/database-security-dispatcher.js.map +1 -0
- package/dist/tools/generate-tests/dispatchers/distributed-dispatcher.d.ts +3 -0
- package/dist/tools/generate-tests/dispatchers/distributed-dispatcher.d.ts.map +1 -0
- package/dist/tools/generate-tests/dispatchers/distributed-dispatcher.js +29 -0
- package/dist/tools/generate-tests/dispatchers/distributed-dispatcher.js.map +1 -0
- package/dist/tools/generate-tests/dispatchers/frontend-dispatcher.d.ts +3 -0
- package/dist/tools/generate-tests/dispatchers/frontend-dispatcher.d.ts.map +1 -0
- package/dist/tools/generate-tests/dispatchers/frontend-dispatcher.js +34 -0
- package/dist/tools/generate-tests/dispatchers/frontend-dispatcher.js.map +1 -0
- package/dist/tools/generate-tests/dispatchers/infra-dispatcher.d.ts +3 -0
- package/dist/tools/generate-tests/dispatchers/infra-dispatcher.d.ts.map +1 -0
- package/dist/tools/generate-tests/dispatchers/infra-dispatcher.js +37 -0
- package/dist/tools/generate-tests/dispatchers/infra-dispatcher.js.map +1 -0
- package/dist/tools/generate-tests/dispatchers/protocols-dispatcher.d.ts +3 -0
- package/dist/tools/generate-tests/dispatchers/protocols-dispatcher.d.ts.map +1 -0
- package/dist/tools/generate-tests/dispatchers/protocols-dispatcher.js +27 -0
- package/dist/tools/generate-tests/dispatchers/protocols-dispatcher.js.map +1 -0
- package/dist/tools/generate-tests/generators/database/detectors.d.ts +6 -0
- package/dist/tools/generate-tests/generators/database/detectors.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/database/detectors.js +36 -0
- package/dist/tools/generate-tests/generators/database/detectors.js.map +1 -0
- package/dist/tools/generate-tests/generators/database/index.d.ts +8 -0
- package/dist/tools/generate-tests/generators/database/index.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/database/index.js +29 -0
- package/dist/tools/generate-tests/generators/database/index.js.map +1 -0
- package/dist/tools/generate-tests/generators/database/python-scaffold.d.ts +2 -0
- package/dist/tools/generate-tests/generators/database/python-scaffold.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/database/python-scaffold.js +104 -0
- package/dist/tools/generate-tests/generators/database/python-scaffold.js.map +1 -0
- package/dist/tools/generate-tests/generators/database/test-defs.d.ts +3 -0
- package/dist/tools/generate-tests/generators/database/test-defs.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/database/test-defs.js +57 -0
- package/dist/tools/generate-tests/generators/database/test-defs.js.map +1 -0
- package/dist/tools/generate-tests/generators/database/ts-scaffold.d.ts +2 -0
- package/dist/tools/generate-tests/generators/database/ts-scaffold.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/database/ts-scaffold.js +118 -0
- package/dist/tools/generate-tests/generators/database/ts-scaffold.js.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/detectors.d.ts +5 -0
- package/dist/tools/generate-tests/generators/microservices/detectors.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/detectors.js +47 -0
- package/dist/tools/generate-tests/generators/microservices/detectors.js.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/index.d.ts +8 -0
- package/dist/tools/generate-tests/generators/microservices/index.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/index.js +26 -0
- package/dist/tools/generate-tests/generators/microservices/index.js.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/python-scaffold.d.ts +2 -0
- package/dist/tools/generate-tests/generators/microservices/python-scaffold.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/python-scaffold.js +98 -0
- package/dist/tools/generate-tests/generators/microservices/python-scaffold.js.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/test-defs.d.ts +3 -0
- package/dist/tools/generate-tests/generators/microservices/test-defs.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/test-defs.js +61 -0
- package/dist/tools/generate-tests/generators/microservices/test-defs.js.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/ts-scaffold.d.ts +2 -0
- package/dist/tools/generate-tests/generators/microservices/ts-scaffold.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/microservices/ts-scaffold.js +123 -0
- package/dist/tools/generate-tests/generators/microservices/ts-scaffold.js.map +1 -0
- package/dist/tools/generate-tests/generators/security/detectors.d.ts +8 -0
- package/dist/tools/generate-tests/generators/security/detectors.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/security/detectors.js +61 -0
- package/dist/tools/generate-tests/generators/security/detectors.js.map +1 -0
- package/dist/tools/generate-tests/generators/security/index.d.ts +8 -0
- package/dist/tools/generate-tests/generators/security/index.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/security/index.js +28 -0
- package/dist/tools/generate-tests/generators/security/index.js.map +1 -0
- package/dist/tools/generate-tests/generators/security/python-scaffold.d.ts +2 -0
- package/dist/tools/generate-tests/generators/security/python-scaffold.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/security/python-scaffold.js +89 -0
- package/dist/tools/generate-tests/generators/security/python-scaffold.js.map +1 -0
- package/dist/tools/generate-tests/generators/security/test-defs.d.ts +3 -0
- package/dist/tools/generate-tests/generators/security/test-defs.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/security/test-defs.js +48 -0
- package/dist/tools/generate-tests/generators/security/test-defs.js.map +1 -0
- package/dist/tools/generate-tests/generators/security/ts-scaffold.d.ts +2 -0
- package/dist/tools/generate-tests/generators/security/ts-scaffold.d.ts.map +1 -0
- package/dist/tools/generate-tests/generators/security/ts-scaffold.js +107 -0
- package/dist/tools/generate-tests/generators/security/ts-scaffold.js.map +1 -0
- package/dist/tools/generate-tests/spec-dispatcher.d.ts.map +1 -1
- package/dist/tools/generate-tests/spec-dispatcher.js +14 -166
- package/dist/tools/generate-tests/spec-dispatcher.js.map +1 -1
- package/dist/tools/generate-tests.test.d.ts +2 -0
- package/dist/tools/generate-tests.test.d.ts.map +1 -0
- package/dist/tools/generate-tests.test.js +222 -0
- package/dist/tools/generate-tests.test.js.map +1 -0
- package/dist/tools/init-constitution.test.d.ts +2 -0
- package/dist/tools/init-constitution.test.d.ts.map +1 -0
- package/dist/tools/init-constitution.test.js +398 -0
- package/dist/tools/init-constitution.test.js.map +1 -0
- package/dist/tools/init-project.test.d.ts +2 -0
- package/dist/tools/init-project.test.d.ts.map +1 -0
- package/dist/tools/init-project.test.js +158 -0
- package/dist/tools/init-project.test.js.map +1 -0
- package/dist/tools/integrate-pm.test.d.ts +2 -0
- package/dist/tools/integrate-pm.test.d.ts.map +1 -0
- package/dist/tools/integrate-pm.test.js +558 -0
- package/dist/tools/integrate-pm.test.js.map +1 -0
- package/dist/tools/learn.test.d.ts +2 -0
- package/dist/tools/learn.test.d.ts.map +1 -0
- package/dist/tools/learn.test.js +123 -0
- package/dist/tools/learn.test.js.map +1 -0
- package/dist/tools/list-specs.test.d.ts +2 -0
- package/dist/tools/list-specs.test.d.ts.map +1 -0
- package/dist/tools/list-specs.test.js +110 -0
- package/dist/tools/list-specs.test.js.map +1 -0
- package/dist/tools/manage-context.test.d.ts +2 -0
- package/dist/tools/manage-context.test.d.ts.map +1 -0
- package/dist/tools/manage-context.test.js +359 -0
- package/dist/tools/manage-context.test.js.map +1 -0
- package/dist/tools/manage-git.test.d.ts +2 -0
- package/dist/tools/manage-git.test.d.ts.map +1 -0
- package/dist/tools/manage-git.test.js +882 -0
- package/dist/tools/manage-git.test.js.map +1 -0
- package/dist/tools/orchestrate.test.d.ts +2 -0
- package/dist/tools/orchestrate.test.d.ts.map +1 -0
- package/dist/tools/orchestrate.test.js +1117 -0
- package/dist/tools/orchestrate.test.js.map +1 -0
- package/dist/tools/reconcile-spec.test.d.ts +2 -0
- package/dist/tools/reconcile-spec.test.d.ts.map +1 -0
- package/dist/tools/reconcile-spec.test.js +259 -0
- package/dist/tools/reconcile-spec.test.js.map +1 -0
- package/dist/tools/register-platform-tools/lifecycle-infra-tools.d.ts.map +1 -1
- package/dist/tools/register-platform-tools/lifecycle-infra-tools.js +37 -1
- package/dist/tools/register-platform-tools/lifecycle-infra-tools.js.map +1 -1
- package/dist/tools/register-platform-tools.test.d.ts +2 -0
- package/dist/tools/register-platform-tools.test.d.ts.map +1 -0
- package/dist/tools/register-platform-tools.test.js +404 -0
- package/dist/tools/register-platform-tools.test.js.map +1 -0
- package/dist/tools/register-spec-tools/analysis-tools.d.ts.map +1 -1
- package/dist/tools/register-spec-tools/analysis-tools.js +1 -0
- package/dist/tools/register-spec-tools/analysis-tools.js.map +1 -1
- package/dist/tools/register-spec-tools.test.d.ts +2 -0
- package/dist/tools/register-spec-tools.test.d.ts.map +1 -0
- package/dist/tools/register-spec-tools.test.js +407 -0
- package/dist/tools/register-spec-tools.test.js.map +1 -0
- package/dist/tools/reverse-engineer.test.d.ts +2 -0
- package/dist/tools/reverse-engineer.test.d.ts.map +1 -0
- package/dist/tools/reverse-engineer.test.js +206 -0
- package/dist/tools/reverse-engineer.test.js.map +1 -0
- package/dist/tools/schemas/index.d.ts +1 -1
- package/dist/tools/schemas/index.d.ts.map +1 -1
- package/dist/tools/schemas/index.js +1 -1
- package/dist/tools/schemas/index.js.map +1 -1
- package/dist/tools/schemas/infra.d.ts +8 -0
- package/dist/tools/schemas/infra.d.ts.map +1 -1
- package/dist/tools/schemas/infra.js +3 -0
- package/dist/tools/schemas/infra.js.map +1 -1
- package/dist/tools/schemas.d.ts +20 -0
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +133 -0
- package/dist/tools/schemas.js.map +1 -0
- package/dist/tools/schemas.test.d.ts +2 -0
- package/dist/tools/schemas.test.d.ts.map +1 -0
- package/dist/tools/schemas.test.js +245 -0
- package/dist/tools/schemas.test.js.map +1 -0
- package/dist/tools/set-locale.test.d.ts +2 -0
- package/dist/tools/set-locale.test.d.ts.map +1 -0
- package/dist/tools/set-locale.test.js +74 -0
- package/dist/tools/set-locale.test.js.map +1 -0
- package/dist/tools/suggest-mcps.test.d.ts +2 -0
- package/dist/tools/suggest-mcps.test.d.ts.map +1 -0
- package/dist/tools/suggest-mcps.test.js +198 -0
- package/dist/tools/suggest-mcps.test.js.map +1 -0
- package/dist/tools/suggest-stack.test.d.ts +2 -0
- package/dist/tools/suggest-stack.test.d.ts.map +1 -0
- package/dist/tools/suggest-stack.test.js +181 -0
- package/dist/tools/suggest-stack.test.js.map +1 -0
- package/dist/tools/suggest-tooling.test.d.ts +2 -0
- package/dist/tools/suggest-tooling.test.d.ts.map +1 -0
- package/dist/tools/suggest-tooling.test.js +213 -0
- package/dist/tools/suggest-tooling.test.js.map +1 -0
- package/dist/tools/summarize-spec.test.d.ts +2 -0
- package/dist/tools/summarize-spec.test.d.ts.map +1 -0
- package/dist/tools/summarize-spec.test.js +180 -0
- package/dist/tools/summarize-spec.test.js.map +1 -0
- package/dist/tools/update-status.test.d.ts +2 -0
- package/dist/tools/update-status.test.d.ts.map +1 -0
- package/dist/tools/update-status.test.js +142 -0
- package/dist/tools/update-status.test.js.map +1 -0
- package/dist/tools/validate.test.d.ts +2 -0
- package/dist/tools/validate.test.d.ts.map +1 -0
- package/dist/tools/validate.test.js +137 -0
- package/dist/tools/validate.test.js.map +1 -0
- package/dist/types/context-budget.d.ts +90 -0
- package/dist/types/context-budget.d.ts.map +1 -0
- package/dist/types/context-budget.js +3 -0
- package/dist/types/context-budget.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/testing.d.ts +10 -0
- package/dist/types/testing.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/i18n/messages/en.json +8 -2
- package/src/i18n/messages/es.json +8 -2
- package/src/i18n/messages/pt.json +6 -0
- package/dist/engine/test-spec-generator.d.ts.map +0 -1
- package/dist/engine/test-spec-generator.js +0 -348
- package/dist/engine/test-spec-generator.js.map +0 -1
- package/dist/tools/generate-tests/generators/database-test-generator.d.ts +0 -11
- package/dist/tools/generate-tests/generators/database-test-generator.d.ts.map +0 -1
- package/dist/tools/generate-tests/generators/database-test-generator.js +0 -329
- package/dist/tools/generate-tests/generators/database-test-generator.js.map +0 -1
- package/dist/tools/generate-tests/generators/microservices-test-generator.d.ts +0 -10
- package/dist/tools/generate-tests/generators/microservices-test-generator.d.ts.map +0 -1
- package/dist/tools/generate-tests/generators/microservices-test-generator.js +0 -341
- package/dist/tools/generate-tests/generators/microservices-test-generator.js.map +0 -1
- package/dist/tools/generate-tests/generators/security-test-generator.d.ts +0 -11
- package/dist/tools/generate-tests/generators/security-test-generator.d.ts.map +0 -1
- package/dist/tools/generate-tests/generators/security-test-generator.js +0 -318
- package/dist/tools/generate-tests/generators/security-test-generator.js.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// security/index.ts — SPEC-058b Section G
|
|
2
|
+
// Public API: re-exports all security generator functions and
|
|
3
|
+
// implements generateSecurityTestFiles() as the main entry point.
|
|
4
|
+
import { detectAuth, detectFileUpload, hasPublicApi } from './detectors.js';
|
|
5
|
+
import { buildTsSecurityTest } from './ts-scaffold.js';
|
|
6
|
+
import { buildPythonSecurityTest } from './python-scaffold.js';
|
|
7
|
+
export { detectAuth, detectFileUpload, hasPublicApi, isSecurityTestProject } from './detectors.js';
|
|
8
|
+
export { generateSecurityTestDefs } from './test-defs.js';
|
|
9
|
+
export function generateSecurityTestFiles(spec, testDir, framework, language, testExt, autoGenerate, knowledge) {
|
|
10
|
+
const auth = detectAuth(knowledge);
|
|
11
|
+
const upload = detectFileUpload(knowledge);
|
|
12
|
+
const publicApi = hasPublicApi(knowledge);
|
|
13
|
+
const isPython = language === 'python';
|
|
14
|
+
const ext = isPython ? 'py' : testExt;
|
|
15
|
+
const fw = isPython ? 'pytest' : framework;
|
|
16
|
+
const content = isPython
|
|
17
|
+
? buildPythonSecurityTest(spec.title, auth, upload, publicApi)
|
|
18
|
+
: buildTsSecurityTest(spec.title, auth, upload, publicApi);
|
|
19
|
+
return [
|
|
20
|
+
{
|
|
21
|
+
path: `${testDir}/security/${spec.slug}.security.test.${ext}`,
|
|
22
|
+
framework: fw,
|
|
23
|
+
content,
|
|
24
|
+
ready: autoGenerate,
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/security/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,8DAA8D;AAC9D,kEAAkE;AAGlE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,UAAU,yBAAyB,CACvC,IAAqC,EACrC,OAAe,EACf,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,YAAqB,EACrB,SAA2B;IAE3B,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ,CAAC;IACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC;QAC9D,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAE7D,OAAO;QACL;YACE,IAAI,EAAE,GAAG,OAAO,aAAa,IAAI,CAAC,IAAI,kBAAkB,GAAG,EAAE;YAC7D,SAAS,EAAE,EAAE;YACb,OAAO;YACP,KAAK,EAAE,YAAY;SACpB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-scaffold.d.ts","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/security/python-scaffold.ts"],"names":[],"mappings":"AAGA,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,OAAO,GACjB,MAAM,CAyFR"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// security/python-scaffold.ts — SPEC-058b Section G
|
|
2
|
+
// Builds Python/pytest security test file content as a string.
|
|
3
|
+
export function buildPythonSecurityTest(title, auth, upload, publicApi) {
|
|
4
|
+
const cls = title.replace(/[^a-zA-Z0-9]/g, '');
|
|
5
|
+
const owaspSection = publicApi
|
|
6
|
+
? `
|
|
7
|
+
def test_sql_injection_rejected(self) -> None:
|
|
8
|
+
"""SQL injection in query parameters is rejected."""
|
|
9
|
+
# response = client.get("/api/users?id=' OR 1=1 --")
|
|
10
|
+
# assert response.status_code == 400
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
def test_xss_payload_escaped(self) -> None:
|
|
14
|
+
"""XSS payloads are escaped in response."""
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
def test_csrf_token_validated(self) -> None:
|
|
18
|
+
"""CSRF token is required on state-changing requests."""
|
|
19
|
+
pass
|
|
20
|
+
|
|
21
|
+
def test_auth_bypass_rejected(self) -> None:
|
|
22
|
+
"""Auth bypass attempts are rejected."""
|
|
23
|
+
pass
|
|
24
|
+
`
|
|
25
|
+
: '';
|
|
26
|
+
const authSection = auth
|
|
27
|
+
? `
|
|
28
|
+
def test_expired_token_returns_401(self) -> None:
|
|
29
|
+
"""Expired token is rejected with 401."""
|
|
30
|
+
pass
|
|
31
|
+
|
|
32
|
+
def test_refresh_token_returns_new_access_token(self) -> None:
|
|
33
|
+
"""Refresh token flow issues a new access token."""
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
def test_privilege_escalation_prevented(self) -> None:
|
|
37
|
+
"""User cannot access admin-only endpoints."""
|
|
38
|
+
pass
|
|
39
|
+
|
|
40
|
+
def test_session_fixation_prevented(self) -> None:
|
|
41
|
+
"""Session fixation attack is prevented."""
|
|
42
|
+
pass
|
|
43
|
+
`
|
|
44
|
+
: '';
|
|
45
|
+
const uploadSection = upload
|
|
46
|
+
? `
|
|
47
|
+
def test_disallowed_file_type_rejected(self) -> None:
|
|
48
|
+
"""Disallowed file types are rejected on upload."""
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
def test_max_file_size_enforced(self) -> None:
|
|
52
|
+
"""Files exceeding size limit are rejected."""
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
def test_path_traversal_in_filename_prevented(self) -> None:
|
|
56
|
+
"""Path traversal in filename is sanitized."""
|
|
57
|
+
pass
|
|
58
|
+
|
|
59
|
+
def test_malicious_content_detected(self) -> None:
|
|
60
|
+
"""Malicious file content is detected and rejected."""
|
|
61
|
+
pass
|
|
62
|
+
`
|
|
63
|
+
: '';
|
|
64
|
+
const apiSection = publicApi
|
|
65
|
+
? `
|
|
66
|
+
def test_rate_limiter_blocks_excess(self) -> None:
|
|
67
|
+
"""Rate limiter returns 429 after threshold."""
|
|
68
|
+
pass
|
|
69
|
+
|
|
70
|
+
def test_cors_rejects_unauthorized_origin(self) -> None:
|
|
71
|
+
"""CORS policy rejects requests from unauthorized origins."""
|
|
72
|
+
pass
|
|
73
|
+
|
|
74
|
+
def test_api_key_rotation_supported(self) -> None:
|
|
75
|
+
"""API key rotation works without downtime."""
|
|
76
|
+
pass
|
|
77
|
+
`
|
|
78
|
+
: '';
|
|
79
|
+
return `"""Security tests for: ${title}
|
|
80
|
+
Generated by SpecForge SDD MCP Server (SPEC-058b).
|
|
81
|
+
"""
|
|
82
|
+
import pytest
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class Test${cls}Security:
|
|
86
|
+
"""Security test suite for ${title}."""
|
|
87
|
+
${owaspSection}${authSection}${uploadSection}${apiSection}`;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=python-scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-scaffold.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/security/python-scaffold.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,+DAA+D;AAE/D,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,IAAmB,EACnB,MAAqB,EACrB,SAAkB;IAElB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC;;;;;;;;;;;;;;;;;;CAkBL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,IAAI;QACtB,CAAC,CAAC;;;;;;;;;;;;;;;;CAgBL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,MAAM;QAC1B,CAAC,CAAC;;;;;;;;;;;;;;;;CAgBL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC;;;;;;;;;;;;CAYL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,0BAA0B,KAAK;;;;;;YAM5B,GAAG;iCACkB,KAAK;EACpC,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-defs.d.ts","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/security/test-defs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGnF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,gBAAgB,GAC1B,cAAc,EAAE,CAiDlB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// security/test-defs.ts — SPEC-058b Section G
|
|
2
|
+
// Generates TestDefinition[] entries for security test scenarios.
|
|
3
|
+
import { hasPublicApi, detectAuth, detectFileUpload } from './detectors.js';
|
|
4
|
+
export function generateSecurityTestDefs(title, testDir, _testExt, knowledge) {
|
|
5
|
+
const defs = [];
|
|
6
|
+
if (hasPublicApi(knowledge)) {
|
|
7
|
+
defs.push({
|
|
8
|
+
name: `${title} — OWASP Top 10: injection, XSS, CSRF, auth bypass`,
|
|
9
|
+
type: 'integration',
|
|
10
|
+
file: `${testDir}/security/`,
|
|
11
|
+
description: 'Verify protection against OWASP Top 10 vulnerabilities on public endpoints',
|
|
12
|
+
priority: 'critical',
|
|
13
|
+
automatable: true,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
if (detectAuth(knowledge) !== null) {
|
|
17
|
+
defs.push({
|
|
18
|
+
name: `${title} — auth: token expiration, refresh flow, privilege escalation`,
|
|
19
|
+
type: 'integration',
|
|
20
|
+
file: `${testDir}/security/`,
|
|
21
|
+
description: 'Verify auth token lifecycle, refresh flow, and privilege escalation prevention',
|
|
22
|
+
priority: 'critical',
|
|
23
|
+
automatable: true,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (detectFileUpload(knowledge) !== null) {
|
|
27
|
+
defs.push({
|
|
28
|
+
name: `${title} — file upload: type validation, size limits, path traversal`,
|
|
29
|
+
type: 'integration',
|
|
30
|
+
file: `${testDir}/security/`,
|
|
31
|
+
description: 'Verify file upload security: type validation, size limits, path traversal prevention',
|
|
32
|
+
priority: 'high',
|
|
33
|
+
automatable: true,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (hasPublicApi(knowledge)) {
|
|
37
|
+
defs.push({
|
|
38
|
+
name: `${title} — API security: rate limiting, CORS, API key rotation`,
|
|
39
|
+
type: 'integration',
|
|
40
|
+
file: `${testDir}/security/`,
|
|
41
|
+
description: 'Verify rate limiting effectiveness, CORS policy, and API key rotation support',
|
|
42
|
+
priority: 'high',
|
|
43
|
+
automatable: true,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return defs;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=test-defs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-defs.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/security/test-defs.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,kEAAkE;AAGlE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,OAAe,EACf,QAAgB,EAChB,SAA2B;IAE3B,MAAM,IAAI,GAAqB,EAAE,CAAC;IAElC,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,GAAG,KAAK,oDAAoD;YAClE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,4EAA4E;YACzF,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,GAAG,KAAK,+DAA+D;YAC7E,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,gFAAgF;YAC7F,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,GAAG,KAAK,8DAA8D;YAC5E,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EACT,sFAAsF;YACxF,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,GAAG,KAAK,wDAAwD;YACtE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,+EAA+E;YAC5F,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-scaffold.d.ts","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/security/ts-scaffold.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,OAAO,GACjB,MAAM,CA2GR"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// security/ts-scaffold.ts — SPEC-058b Section G
|
|
2
|
+
// Builds TypeScript/Vitest security test file content as a string.
|
|
3
|
+
export function buildTsSecurityTest(title, auth, upload, publicApi) {
|
|
4
|
+
const owaspSection = publicApi
|
|
5
|
+
? `
|
|
6
|
+
describe('OWASP Top 10', () => {
|
|
7
|
+
it('rejects SQL injection in query parameters', async () => {
|
|
8
|
+
// const res = await request(app).get("/api/users?id=' OR 1=1 --");
|
|
9
|
+
// expect(res.status).toBe(400);
|
|
10
|
+
expect(true).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
it('escapes XSS payloads in response', async () => {
|
|
14
|
+
// const res = await request(app).post('/api/comments')
|
|
15
|
+
// .send({ body: '<script>alert("xss")</script>' });
|
|
16
|
+
// expect(res.body.body).not.toContain('<script>');
|
|
17
|
+
expect(true).toBe(true);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('validates CSRF token on state-changing requests', async () => {
|
|
21
|
+
expect(true).toBe(true);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('rejects auth bypass attempts', async () => {
|
|
25
|
+
expect(true).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
`
|
|
29
|
+
: '';
|
|
30
|
+
const authSection = auth
|
|
31
|
+
? `
|
|
32
|
+
describe('Authentication (${auth})', () => {
|
|
33
|
+
it('rejects expired token with 401', async () => {
|
|
34
|
+
// const expiredToken = signToken({ exp: Math.floor(Date.now()/1000) - 60 });
|
|
35
|
+
// const res = await request(app).get('/api/me').set('Authorization', \`Bearer \${expiredToken}\`);
|
|
36
|
+
// expect(res.status).toBe(401);
|
|
37
|
+
expect(true).toBe(true);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('refresh token returns new access token', async () => {
|
|
41
|
+
expect(true).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('prevents privilege escalation (user cannot access admin)', async () => {
|
|
45
|
+
expect(true).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('prevents session fixation attack', async () => {
|
|
49
|
+
expect(true).toBe(true);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
`
|
|
53
|
+
: '';
|
|
54
|
+
const uploadSection = upload
|
|
55
|
+
? `
|
|
56
|
+
describe('File upload (${upload})', () => {
|
|
57
|
+
it('rejects disallowed file types', async () => {
|
|
58
|
+
// const res = await request(app).post('/api/upload')
|
|
59
|
+
// .attach('file', Buffer.from('#!/bin/sh'), { filename: 'evil.sh' });
|
|
60
|
+
// expect(res.status).toBe(400);
|
|
61
|
+
expect(true).toBe(true);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('enforces maximum file size', async () => {
|
|
65
|
+
expect(true).toBe(true);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it('prevents path traversal in filename', async () => {
|
|
69
|
+
// filename: '../../etc/passwd' → should be sanitized
|
|
70
|
+
expect(true).toBe(true);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('scans for malicious content', async () => {
|
|
74
|
+
expect(true).toBe(true);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
`
|
|
78
|
+
: '';
|
|
79
|
+
const apiSection = publicApi
|
|
80
|
+
? `
|
|
81
|
+
describe('API security', () => {
|
|
82
|
+
it('rate limiter blocks excessive requests', async () => {
|
|
83
|
+
// for (let i = 0; i < 101; i++) await request(app).get('/api/data');
|
|
84
|
+
// const res = await request(app).get('/api/data');
|
|
85
|
+
// expect(res.status).toBe(429);
|
|
86
|
+
expect(true).toBe(true);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('CORS rejects requests from unauthorized origins', async () => {
|
|
90
|
+
expect(true).toBe(true);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it('supports API key rotation without downtime', async () => {
|
|
94
|
+
expect(true).toBe(true);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
`
|
|
98
|
+
: '';
|
|
99
|
+
return `// Security tests for: ${title}
|
|
100
|
+
// Generated by SpecForge SDD MCP Server (SPEC-058b)
|
|
101
|
+
import { describe, it, expect } from 'vitest';
|
|
102
|
+
|
|
103
|
+
describe('${title} — Security Tests', () => {
|
|
104
|
+
${owaspSection}${authSection}${uploadSection}${apiSection}});
|
|
105
|
+
`;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=ts-scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-scaffold.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/security/ts-scaffold.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,mEAAmE;AAEnE,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,IAAmB,EACnB,MAAqB,EACrB,SAAkB;IAElB,MAAM,YAAY,GAAG,SAAS;QAC5B,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,IAAI;QACtB,CAAC,CAAC;8BACwB,IAAI;;;;;;;;;;;;;;;;;;;;CAoBjC;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,MAAM;QAC1B,CAAC,CAAC;2BACqB,MAAM;;;;;;;;;;;;;;;;;;;;;CAqBhC;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC;;;;;;;;;;;;;;;;;CAiBL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,0BAA0B,KAAK;;;;YAI5B,KAAK;EACf,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU;CACxD,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/tools/generate-tests/spec-dispatcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spec-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/tools/generate-tests/spec-dispatcher.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQ7F;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE;IACJ,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,EACD,SAAS,EAAE,cAAc,EAAE,EAC3B,gBAAgB,EAAE,cAAc,EAAE,EAClC,SAAS,EAAE,QAAQ,EAAE,GACpB;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAgFxB"}
|
|
@@ -1,29 +1,11 @@
|
|
|
1
|
-
// tools/generate-tests/spec-dispatcher.ts —
|
|
2
|
-
//
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { buildContractTestFile, buildMockServerFile } from './adapters/contract-testing-adapter.js';
|
|
10
|
-
import { isMcpProject, generateMcpTestDefs, generateMcpTestFiles, } from './generators/mcp-tests-generator.js';
|
|
11
|
-
import { generateA11yTestDefs, generateA11yTestContent, } from './generators/a11y-tests-generator.js';
|
|
12
|
-
import { isEventProject, generateEventTestDefs, generateEventTestFiles, } from './generators/event-test-generator.js';
|
|
13
|
-
import { isConcurrencyProject, isMicroserviceProject, generateConcurrencyTestDefs, generateConcurrencyTestFiles, generatePactTestDefs, generatePactTestFiles, } from './generators/concurrency-test-generator.js';
|
|
14
|
-
import { isHypermediaProject, generateHypermediaTestDefs, generateHypermediaTestFiles, } from './generators/hypermedia-generator.js';
|
|
15
|
-
import { isOtelProject, generateOtelTestDefs, generateOtelTestFiles, } from './generators/otel-test-generator.js';
|
|
16
|
-
import { isSupplyChainProject, generateSupplyChainTestDefs, generateSupplyChainTestFiles, } from './generators/supply-chain-test-generator.js';
|
|
17
|
-
import { isLlmSecurityProject, generateLlmSecurityTestDefs, generateLlmSecurityTestFiles, } from './generators/llm-security-test-generator.js';
|
|
18
|
-
import { isLocalFirstProject, generateLocalFirstTestDefs, generateLocalFirstTestFiles, } from './generators/local-first-test-generator.js';
|
|
19
|
-
import { isAdvancedTestingProject, generateAdvancedTestingDefs, generateAdvancedTestingFiles, } from './generators/advanced-testing-generator.js';
|
|
20
|
-
import { isVisualRegressionProject, generateVisualRegressionTestDefs, generateVisualRegressionTestFiles, } from './generators/visual-regression-generator.js';
|
|
21
|
-
import { isGraphqlProject, generateGraphqlTestDefs, generateGraphqlTestFiles, } from './generators/graphql-test-generator.js';
|
|
22
|
-
import { isGrpcProject, generateGrpcTestDefs, generateGrpcTestFiles, } from './generators/grpc-test-generator.js';
|
|
23
|
-
import { isWebSocketProject, generateWebSocketTestDefs, generateWebSocketTestFiles, } from './generators/websocket-test-generator.js';
|
|
24
|
-
import { isMicroservicesTestProject, generateMicroservicesTestDefs, generateMicroservicesTestFiles, } from './generators/microservices-test-generator.js';
|
|
25
|
-
import { isDatabaseTestProject, generateDatabaseTestDefs, generateDatabaseTestFiles, } from './generators/database-test-generator.js';
|
|
26
|
-
import { isSecurityTestProject, generateSecurityTestDefs, generateSecurityTestFiles, } from './generators/security-test-generator.js';
|
|
1
|
+
// tools/generate-tests/spec-dispatcher.ts — Orchestrator for spec-specific test generation
|
|
2
|
+
// Delegates to domain-grouped sub-dispatchers in ./dispatchers/
|
|
3
|
+
import { dispatchAiMl } from './dispatchers/ai-ml-dispatcher.js';
|
|
4
|
+
import { dispatchFrontend } from './dispatchers/frontend-dispatcher.js';
|
|
5
|
+
import { dispatchProtocols } from './dispatchers/protocols-dispatcher.js';
|
|
6
|
+
import { dispatchDistributed } from './dispatchers/distributed-dispatcher.js';
|
|
7
|
+
import { dispatchInfra } from './dispatchers/infra-dispatcher.js';
|
|
8
|
+
import { dispatchDatabaseSecurity } from './dispatchers/database-security-dispatcher.js';
|
|
27
9
|
/**
|
|
28
10
|
* Runs all spec-specific test generation dispatchers.
|
|
29
11
|
* Mutates unitTests, integrationTests, testFiles in-place.
|
|
@@ -31,145 +13,11 @@ import { isSecurityTestProject, generateSecurityTestDefs, generateSecurityTestFi
|
|
|
31
13
|
*/
|
|
32
14
|
export function runSpecializedGenerators(args, unitTests, integrationTests, testFiles) {
|
|
33
15
|
const { spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt } = args;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (isSmartContractProject(knowledge)) {
|
|
41
|
-
const contractDefs = generateSmartContractTestDefs(spec.title, testDir);
|
|
42
|
-
unitTests.push(...contractDefs.filter((d) => d.type === 'unit'));
|
|
43
|
-
integrationTests.push(...contractDefs.filter((d) => d.type === 'integration'));
|
|
44
|
-
testFiles.push(...buildSmartContractTestFiles(spec.title, slug, testDir, knowledge.framework ?? 'hardhat', autoGenerate));
|
|
45
|
-
}
|
|
46
|
-
if (isMLProject(knowledge)) {
|
|
47
|
-
const mlDefs = generateMLTestDefs(spec.title, testDir);
|
|
48
|
-
unitTests.push(...mlDefs.filter((d) => d.type === 'unit'));
|
|
49
|
-
integrationTests.push(...mlDefs.filter((d) => d.type === 'integration'));
|
|
50
|
-
testFiles.push(...buildMLTestFiles(spec.title, slug, testDir, autoGenerate));
|
|
51
|
-
}
|
|
52
|
-
if (spec.target === 'frontend' || spec.target === 'fullstack') {
|
|
53
|
-
const a11yTests = generateA11yTestDefs(spec.title, testDir);
|
|
54
|
-
unitTests.push(...a11yTests);
|
|
55
|
-
testFiles.push({
|
|
56
|
-
path: `${testDir}/a11y/${slug}.a11y.test.${testExt}`,
|
|
57
|
-
framework: testFramework,
|
|
58
|
-
content: generateA11yTestContent(spec.title, testFramework, knowledge.language),
|
|
59
|
-
ready: autoGenerate,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
if (isGameProject(knowledge)) {
|
|
63
|
-
const gameDefs = generateGameTestDefs(spec.title, testDir, knowledge);
|
|
64
|
-
unitTests.push(...gameDefs.filter((d) => d.type === 'unit'));
|
|
65
|
-
integrationTests.push(...gameDefs.filter((d) => d.type === 'integration'));
|
|
66
|
-
testFiles.push({
|
|
67
|
-
path: `${testDir}/unit/game-logic/${slug}.game.test.${testExt}`,
|
|
68
|
-
framework: testFramework,
|
|
69
|
-
content: generateGameTestContent(spec.title, knowledge.framework ?? 'phaser', testFramework),
|
|
70
|
-
ready: autoGenerate,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
if (isMcpProject(knowledge) || spec.type === 'agent') {
|
|
74
|
-
const mcpDefs = generateMcpTestDefs(spec.title, testDir);
|
|
75
|
-
unitTests.push(...mcpDefs.filter((d) => d.type === 'unit'));
|
|
76
|
-
integrationTests.push(...mcpDefs.filter((d) => d.type === 'integration'));
|
|
77
|
-
if (isMcpProject(knowledge)) {
|
|
78
|
-
testFiles.push(...generateMcpTestFiles(spec, testDir, testFramework, knowledge.language));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (isEventProject(knowledge)) {
|
|
82
|
-
const eventDefs = generateEventTestDefs(spec.title, testDir, knowledge);
|
|
83
|
-
unitTests.push(...eventDefs.filter((d) => d.type === 'unit'));
|
|
84
|
-
integrationTests.push(...eventDefs.filter((d) => d.type === 'integration'));
|
|
85
|
-
testFiles.push(...generateEventTestFiles(spec, testDir, testFramework, knowledge.language, knowledge, autoGenerate));
|
|
86
|
-
}
|
|
87
|
-
if (isConcurrencyProject(knowledge)) {
|
|
88
|
-
const concurrencyDefs = generateConcurrencyTestDefs(spec.title, testDir, knowledge.language);
|
|
89
|
-
unitTests.push(...concurrencyDefs.filter((d) => d.type === 'unit'));
|
|
90
|
-
integrationTests.push(...concurrencyDefs.filter((d) => d.type === 'integration'));
|
|
91
|
-
testFiles.push(...generateConcurrencyTestFiles(spec, testDir, testFramework, knowledge.language, knowledge, autoGenerate));
|
|
92
|
-
}
|
|
93
|
-
if (isMicroserviceProject(knowledge)) {
|
|
94
|
-
integrationTests.push(...generatePactTestDefs(spec.title, testDir));
|
|
95
|
-
testFiles.push(...generatePactTestFiles(spec, testDir, testFramework, knowledge.language, autoGenerate));
|
|
96
|
-
}
|
|
97
|
-
if (isHypermediaProject(knowledge)) {
|
|
98
|
-
integrationTests.push(...generateHypermediaTestDefs(spec.title, testDir));
|
|
99
|
-
testFiles.push(...generateHypermediaTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
100
|
-
}
|
|
101
|
-
if (isOtelProject(knowledge)) {
|
|
102
|
-
const otelDefs = generateOtelTestDefs(spec.title, testDir);
|
|
103
|
-
unitTests.push(...otelDefs.filter((d) => d.type === 'unit'));
|
|
104
|
-
integrationTests.push(...otelDefs.filter((d) => d.type === 'integration'));
|
|
105
|
-
testFiles.push(...generateOtelTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
106
|
-
}
|
|
107
|
-
if (isSupplyChainProject(knowledge)) {
|
|
108
|
-
integrationTests.push(...generateSupplyChainTestDefs(spec.title, testDir));
|
|
109
|
-
testFiles.push(...generateSupplyChainTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
110
|
-
}
|
|
111
|
-
if (isLlmSecurityProject(knowledge)) {
|
|
112
|
-
const llmDefs = generateLlmSecurityTestDefs(spec.title, testDir);
|
|
113
|
-
unitTests.push(...llmDefs.filter((d) => d.type === 'unit'));
|
|
114
|
-
integrationTests.push(...llmDefs.filter((d) => d.type === 'integration'));
|
|
115
|
-
testFiles.push(...generateLlmSecurityTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
116
|
-
}
|
|
117
|
-
if (isLocalFirstProject(knowledge)) {
|
|
118
|
-
const localFirstDefs = generateLocalFirstTestDefs(spec.title, testDir);
|
|
119
|
-
unitTests.push(...localFirstDefs.filter((d) => d.type === 'unit'));
|
|
120
|
-
integrationTests.push(...localFirstDefs.filter((d) => d.type === 'integration'));
|
|
121
|
-
testFiles.push(...generateLocalFirstTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
122
|
-
}
|
|
123
|
-
if (isAdvancedTestingProject(spec, knowledge)) {
|
|
124
|
-
const advancedDefs = generateAdvancedTestingDefs(spec, testDir);
|
|
125
|
-
unitTests.push(...advancedDefs.filter((d) => d.type === 'unit'));
|
|
126
|
-
integrationTests.push(...advancedDefs.filter((d) => d.type === 'integration'));
|
|
127
|
-
testFiles.push(...generateAdvancedTestingFiles(spec, testDir, knowledge.language, knowledge, autoGenerate));
|
|
128
|
-
}
|
|
129
|
-
if (isVisualRegressionProject(knowledge)) {
|
|
130
|
-
const vrDefs = generateVisualRegressionTestDefs(slug, testDir, testExt);
|
|
131
|
-
unitTests.push(...vrDefs.filter((d) => d.type === 'unit'));
|
|
132
|
-
integrationTests.push(...vrDefs.filter((d) => d.type === 'integration'));
|
|
133
|
-
testFiles.push(...generateVisualRegressionTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
134
|
-
}
|
|
135
|
-
if (isGraphqlProject(knowledge)) {
|
|
136
|
-
const gqlDefs = generateGraphqlTestDefs(spec.title, testDir, testExt);
|
|
137
|
-
integrationTests.push(...gqlDefs);
|
|
138
|
-
testFiles.push(...generateGraphqlTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
139
|
-
}
|
|
140
|
-
if (isGrpcProject(knowledge)) {
|
|
141
|
-
const grpcDefs = generateGrpcTestDefs(spec.title, testDir, testExt);
|
|
142
|
-
integrationTests.push(...grpcDefs);
|
|
143
|
-
testFiles.push(...generateGrpcTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
144
|
-
}
|
|
145
|
-
if (isWebSocketProject(knowledge)) {
|
|
146
|
-
const wsDefs = generateWebSocketTestDefs(spec.title, testDir, testExt);
|
|
147
|
-
integrationTests.push(...wsDefs);
|
|
148
|
-
testFiles.push(...generateWebSocketTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
149
|
-
}
|
|
150
|
-
// SPEC-058b: Microservices & Distributed Systems
|
|
151
|
-
if (isMicroservicesTestProject(knowledge)) {
|
|
152
|
-
const msDefs = generateMicroservicesTestDefs(spec.title, testDir, testExt, knowledge);
|
|
153
|
-
integrationTests.push(...msDefs);
|
|
154
|
-
testFiles.push(...generateMicroservicesTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate, knowledge));
|
|
155
|
-
}
|
|
156
|
-
// SPEC-058b: Database & Data Layer
|
|
157
|
-
if (isDatabaseTestProject(knowledge)) {
|
|
158
|
-
const dbDefs = generateDatabaseTestDefs(spec.title, testDir, testExt, knowledge);
|
|
159
|
-
integrationTests.push(...dbDefs);
|
|
160
|
-
testFiles.push(...generateDatabaseTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate, knowledge));
|
|
161
|
-
}
|
|
162
|
-
// SPEC-058b: Security Testing
|
|
163
|
-
if (isSecurityTestProject(knowledge)) {
|
|
164
|
-
const secDefs = generateSecurityTestDefs(spec.title, testDir, testExt, knowledge);
|
|
165
|
-
integrationTests.push(...secDefs);
|
|
166
|
-
testFiles.push(...generateSecurityTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate, knowledge));
|
|
167
|
-
}
|
|
168
|
-
const isApiSpec = spec.target === 'backend' || spec.target === 'fullstack';
|
|
169
|
-
if (isApiSpec) {
|
|
170
|
-
testFiles.push(buildContractTestFile(spec.title, slug, knowledge, autoGenerate));
|
|
171
|
-
testFiles.push(buildMockServerFile(spec.title, slug, knowledge, autoGenerate));
|
|
172
|
-
}
|
|
173
|
-
return { isApiSpec };
|
|
16
|
+
dispatchAiMl(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles);
|
|
17
|
+
dispatchFrontend(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles);
|
|
18
|
+
dispatchDistributed(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles);
|
|
19
|
+
dispatchProtocols(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles);
|
|
20
|
+
dispatchInfra(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles);
|
|
21
|
+
return dispatchDatabaseSecurity(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles);
|
|
174
22
|
}
|
|
175
23
|
//# sourceMappingURL=spec-dispatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-dispatcher.js","sourceRoot":"","sources":["../../../src/tools/generate-tests/spec-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec-dispatcher.js","sourceRoot":"","sources":["../../../src/tools/generate-tests/spec-dispatcher.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,gEAAgE;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAEzF;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAQC,EACD,SAA2B,EAC3B,gBAAkC,EAClC,SAAqB;IAErB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEtF,YAAY,CACV,IAAI,EACJ,SAAS,EACT,OAAO,EACP,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,gBAAgB,CACd,IAAI,EACJ,SAAS,EACT,OAAO,EACP,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,mBAAmB,CACjB,IAAI,EACJ,SAAS,EACT,OAAO,EACP,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,iBAAiB,CACf,IAAI,EACJ,SAAS,EACT,OAAO,EACP,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,aAAa,CACX,IAAI,EACJ,SAAS,EACT,OAAO,EACP,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,CAAC;IAEF,OAAO,wBAAwB,CAC7B,IAAI,EACJ,SAAS,EACT,OAAO,EACP,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,SAAS,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-tests.test.d.ts","sourceRoot":"","sources":["../../src/tools/generate-tests.test.ts"],"names":[],"mappings":""}
|