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,25 @@
|
|
|
1
|
+
// dispatchers/database-security-dispatcher.ts — Database, Security, API Contract dispatches
|
|
2
|
+
import { buildContractTestFile, buildMockServerFile, } from '../adapters/contract-testing-adapter.js';
|
|
3
|
+
import { isDatabaseTestProject, generateDatabaseTestDefs, generateDatabaseTestFiles, } from '../generators/database/index.js';
|
|
4
|
+
import { isSecurityTestProject, generateSecurityTestDefs, generateSecurityTestFiles, } from '../generators/security/index.js';
|
|
5
|
+
export function dispatchDatabaseSecurity(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, _unitTests, integrationTests, testFiles) {
|
|
6
|
+
// SPEC-058b: Database & Data Layer
|
|
7
|
+
if (isDatabaseTestProject(knowledge)) {
|
|
8
|
+
const dbDefs = generateDatabaseTestDefs(spec.title, testDir, testExt, knowledge);
|
|
9
|
+
integrationTests.push(...dbDefs);
|
|
10
|
+
testFiles.push(...generateDatabaseTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate, knowledge));
|
|
11
|
+
}
|
|
12
|
+
// SPEC-058b: Security Testing
|
|
13
|
+
if (isSecurityTestProject(knowledge)) {
|
|
14
|
+
const secDefs = generateSecurityTestDefs(spec.title, testDir, testExt, knowledge);
|
|
15
|
+
integrationTests.push(...secDefs);
|
|
16
|
+
testFiles.push(...generateSecurityTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate, knowledge));
|
|
17
|
+
}
|
|
18
|
+
const isApiSpec = spec.target === 'backend' || spec.target === 'fullstack';
|
|
19
|
+
if (isApiSpec) {
|
|
20
|
+
testFiles.push(buildContractTestFile(spec.title, slug, knowledge, autoGenerate));
|
|
21
|
+
testFiles.push(buildMockServerFile(spec.title, slug, knowledge, autoGenerate));
|
|
22
|
+
}
|
|
23
|
+
return { isApiSpec };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=database-security-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database-security-dispatcher.js","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/database-security-dispatcher.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAG5F,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,UAAU,wBAAwB,CACtC,IAAU,EACV,SAA2B,EAC3B,OAAe,EACf,aAAqB,EACrB,IAAY,EACZ,YAAqB,EACrB,OAAe,EACf,UAA4B,EAC5B,gBAAkC,EAClC,SAAqB;IAErB,mCAAmC;IACnC,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACjF,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,IAAI,CACZ,GAAG,yBAAyB,CAC1B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAC3B,OAAO,EACP,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,OAAO,EACP,YAAY,EACZ,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAClF,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAClC,SAAS,CAAC,IAAI,CACZ,GAAG,yBAAyB,CAC1B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAC3B,OAAO,EACP,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,OAAO,EACP,YAAY,EACZ,SAAS,CACV,CACF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC;IAC3E,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACjF,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Spec, ProjectKnowledge, TestDefinition, TestFile } from '../../../types/index.js';
|
|
2
|
+
export declare function dispatchDistributed(spec: Spec, knowledge: ProjectKnowledge, testDir: string, testFramework: string, slug: string, autoGenerate: boolean, testExt: string, unitTests: TestDefinition[], integrationTests: TestDefinition[], testFiles: TestFile[]): void;
|
|
3
|
+
//# sourceMappingURL=distributed-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributed-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/distributed-dispatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAoBhG,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,cAAc,EAAE,EAC3B,gBAAgB,EAAE,cAAc,EAAE,EAClC,SAAS,EAAE,QAAQ,EAAE,GACpB,IAAI,CAwDN"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// dispatchers/distributed-dispatcher.ts — Event, Concurrency, Pact, Microservices dispatches
|
|
2
|
+
import { isEventProject, generateEventTestDefs, generateEventTestFiles, } from '../generators/event-test-generator.js';
|
|
3
|
+
import { isConcurrencyProject, isMicroserviceProject, generateConcurrencyTestDefs, generateConcurrencyTestFiles, generatePactTestDefs, generatePactTestFiles, } from '../generators/concurrency-test-generator.js';
|
|
4
|
+
import { isMicroservicesTestProject, generateMicroservicesTestDefs, generateMicroservicesTestFiles, } from '../generators/microservices/index.js';
|
|
5
|
+
export function dispatchDistributed(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles) {
|
|
6
|
+
if (isEventProject(knowledge)) {
|
|
7
|
+
const eventDefs = generateEventTestDefs(spec.title, testDir, knowledge);
|
|
8
|
+
unitTests.push(...eventDefs.filter((d) => d.type === 'unit'));
|
|
9
|
+
integrationTests.push(...eventDefs.filter((d) => d.type === 'integration'));
|
|
10
|
+
testFiles.push(...generateEventTestFiles(spec, testDir, testFramework, knowledge.language, knowledge, autoGenerate));
|
|
11
|
+
}
|
|
12
|
+
if (isConcurrencyProject(knowledge)) {
|
|
13
|
+
const concurrencyDefs = generateConcurrencyTestDefs(spec.title, testDir, knowledge.language);
|
|
14
|
+
unitTests.push(...concurrencyDefs.filter((d) => d.type === 'unit'));
|
|
15
|
+
integrationTests.push(...concurrencyDefs.filter((d) => d.type === 'integration'));
|
|
16
|
+
testFiles.push(...generateConcurrencyTestFiles(spec, testDir, testFramework, knowledge.language, knowledge, autoGenerate));
|
|
17
|
+
}
|
|
18
|
+
if (isMicroserviceProject(knowledge)) {
|
|
19
|
+
integrationTests.push(...generatePactTestDefs(spec.title, testDir));
|
|
20
|
+
testFiles.push(...generatePactTestFiles(spec, testDir, testFramework, knowledge.language, autoGenerate));
|
|
21
|
+
}
|
|
22
|
+
// SPEC-058b: Microservices & Distributed Systems
|
|
23
|
+
if (isMicroservicesTestProject(knowledge)) {
|
|
24
|
+
const msDefs = generateMicroservicesTestDefs(spec.title, testDir, testExt, knowledge);
|
|
25
|
+
integrationTests.push(...msDefs);
|
|
26
|
+
testFiles.push(...generateMicroservicesTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate, knowledge));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=distributed-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"distributed-dispatcher.js","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/distributed-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Spec, ProjectKnowledge, TestDefinition, TestFile } from '../../../types/index.js';
|
|
2
|
+
export declare function dispatchFrontend(spec: Spec, knowledge: ProjectKnowledge, testDir: string, testFramework: string, slug: string, autoGenerate: boolean, testExt: string, unitTests: TestDefinition[], integrationTests: TestDefinition[], testFiles: TestFile[]): void;
|
|
3
|
+
//# sourceMappingURL=frontend-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/frontend-dispatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAgBhG,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,cAAc,EAAE,EAC3B,gBAAgB,EAAE,cAAc,EAAE,EAClC,SAAS,EAAE,QAAQ,EAAE,GACpB,IAAI,CAuCN"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// dispatchers/frontend-dispatcher.ts — A11y, Game, Visual Regression dispatches
|
|
2
|
+
import { isGameProject, generateGameTestDefs, generateGameTestContent, } from '../generators/game-tests-generator.js';
|
|
3
|
+
import { generateA11yTestDefs, generateA11yTestContent, } from '../generators/a11y-tests-generator.js';
|
|
4
|
+
import { isVisualRegressionProject, generateVisualRegressionTestDefs, generateVisualRegressionTestFiles, } from '../generators/visual-regression-generator.js';
|
|
5
|
+
export function dispatchFrontend(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, unitTests, integrationTests, testFiles) {
|
|
6
|
+
if (spec.target === 'frontend' || spec.target === 'fullstack') {
|
|
7
|
+
const a11yTests = generateA11yTestDefs(spec.title, testDir);
|
|
8
|
+
unitTests.push(...a11yTests);
|
|
9
|
+
testFiles.push({
|
|
10
|
+
path: `${testDir}/a11y/${slug}.a11y.test.${testExt}`,
|
|
11
|
+
framework: testFramework,
|
|
12
|
+
content: generateA11yTestContent(spec.title, testFramework, knowledge.language),
|
|
13
|
+
ready: autoGenerate,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
if (isGameProject(knowledge)) {
|
|
17
|
+
const gameDefs = generateGameTestDefs(spec.title, testDir, knowledge);
|
|
18
|
+
unitTests.push(...gameDefs.filter((d) => d.type === 'unit'));
|
|
19
|
+
integrationTests.push(...gameDefs.filter((d) => d.type === 'integration'));
|
|
20
|
+
testFiles.push({
|
|
21
|
+
path: `${testDir}/unit/game-logic/${slug}.game.test.${testExt}`,
|
|
22
|
+
framework: testFramework,
|
|
23
|
+
content: generateGameTestContent(spec.title, knowledge.framework ?? 'phaser', testFramework),
|
|
24
|
+
ready: autoGenerate,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
if (isVisualRegressionProject(knowledge)) {
|
|
28
|
+
const vrDefs = generateVisualRegressionTestDefs(slug, testDir, testExt);
|
|
29
|
+
unitTests.push(...vrDefs.filter((d) => d.type === 'unit'));
|
|
30
|
+
integrationTests.push(...vrDefs.filter((d) => d.type === 'integration'));
|
|
31
|
+
testFiles.push(...generateVisualRegressionTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=frontend-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-dispatcher.js","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/frontend-dispatcher.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAGhF,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,8CAA8C,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAC9B,IAAU,EACV,SAA2B,EAC3B,OAAe,EACf,aAAqB,EACrB,IAAY,EACZ,YAAqB,EACrB,OAAe,EACf,SAA2B,EAC3B,gBAAkC,EAClC,SAAqB;IAErB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5D,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAC7B,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,GAAG,OAAO,SAAS,IAAI,cAAc,OAAO,EAAE;YACpD,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC/E,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtE,SAAS,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;QAC7D,gBAAgB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;QAC3E,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,GAAG,OAAO,oBAAoB,IAAI,cAAc,OAAO,EAAE;YAC/D,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,IAAI,QAAQ,EAAE,aAAa,CAAC;YAC5F,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,gCAAgC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;QAC3D,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC;QACzE,SAAS,CAAC,IAAI,CACZ,GAAG,iCAAiC,CAClC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAC3B,OAAO,EACP,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,OAAO,EACP,YAAY,CACb,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Spec, ProjectKnowledge, TestDefinition, TestFile } from '../../../types/index.js';
|
|
2
|
+
export declare function dispatchInfra(spec: Spec, knowledge: ProjectKnowledge, testDir: string, _testFramework: string, _slug: string, autoGenerate: boolean, _testExt: string, unitTests: TestDefinition[], integrationTests: TestDefinition[], testFiles: TestFile[]): void;
|
|
3
|
+
//# sourceMappingURL=infra-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infra-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/infra-dispatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA2BhG,wBAAgB,aAAa,CAC3B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,OAAO,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,cAAc,EAAE,EAC3B,gBAAgB,EAAE,cAAc,EAAE,EAClC,SAAS,EAAE,QAAQ,EAAE,GACpB,IAAI,CAuCN"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// dispatchers/infra-dispatcher.ts — OTel, Supply Chain, LLM Security, Local-First, Advanced Testing
|
|
2
|
+
import { isOtelProject, generateOtelTestDefs, generateOtelTestFiles, } from '../generators/otel-test-generator.js';
|
|
3
|
+
import { isSupplyChainProject, generateSupplyChainTestDefs, generateSupplyChainTestFiles, } from '../generators/supply-chain-test-generator.js';
|
|
4
|
+
import { isLlmSecurityProject, generateLlmSecurityTestDefs, generateLlmSecurityTestFiles, } from '../generators/llm-security-test-generator.js';
|
|
5
|
+
import { isLocalFirstProject, generateLocalFirstTestDefs, generateLocalFirstTestFiles, } from '../generators/local-first-test-generator.js';
|
|
6
|
+
import { isAdvancedTestingProject, generateAdvancedTestingDefs, generateAdvancedTestingFiles, } from '../generators/advanced-testing-generator.js';
|
|
7
|
+
export function dispatchInfra(spec, knowledge, testDir, _testFramework, _slug, autoGenerate, _testExt, unitTests, integrationTests, testFiles) {
|
|
8
|
+
if (isOtelProject(knowledge)) {
|
|
9
|
+
const otelDefs = generateOtelTestDefs(spec.title, testDir);
|
|
10
|
+
unitTests.push(...otelDefs.filter((d) => d.type === 'unit'));
|
|
11
|
+
integrationTests.push(...otelDefs.filter((d) => d.type === 'integration'));
|
|
12
|
+
testFiles.push(...generateOtelTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
13
|
+
}
|
|
14
|
+
if (isSupplyChainProject(knowledge)) {
|
|
15
|
+
integrationTests.push(...generateSupplyChainTestDefs(spec.title, testDir));
|
|
16
|
+
testFiles.push(...generateSupplyChainTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
17
|
+
}
|
|
18
|
+
if (isLlmSecurityProject(knowledge)) {
|
|
19
|
+
const llmDefs = generateLlmSecurityTestDefs(spec.title, testDir);
|
|
20
|
+
unitTests.push(...llmDefs.filter((d) => d.type === 'unit'));
|
|
21
|
+
integrationTests.push(...llmDefs.filter((d) => d.type === 'integration'));
|
|
22
|
+
testFiles.push(...generateLlmSecurityTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
23
|
+
}
|
|
24
|
+
if (isLocalFirstProject(knowledge)) {
|
|
25
|
+
const localFirstDefs = generateLocalFirstTestDefs(spec.title, testDir);
|
|
26
|
+
unitTests.push(...localFirstDefs.filter((d) => d.type === 'unit'));
|
|
27
|
+
integrationTests.push(...localFirstDefs.filter((d) => d.type === 'integration'));
|
|
28
|
+
testFiles.push(...generateLocalFirstTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
29
|
+
}
|
|
30
|
+
if (isAdvancedTestingProject(spec, knowledge)) {
|
|
31
|
+
const advancedDefs = generateAdvancedTestingDefs(spec, testDir);
|
|
32
|
+
unitTests.push(...advancedDefs.filter((d) => d.type === 'unit'));
|
|
33
|
+
integrationTests.push(...advancedDefs.filter((d) => d.type === 'integration'));
|
|
34
|
+
testFiles.push(...generateAdvancedTestingFiles(spec, testDir, knowledge.language, knowledge, autoGenerate));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=infra-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infra-dispatcher.js","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/infra-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Spec, ProjectKnowledge, TestDefinition, TestFile } from '../../../types/index.js';
|
|
2
|
+
export declare function dispatchProtocols(spec: Spec, knowledge: ProjectKnowledge, testDir: string, testFramework: string, slug: string, autoGenerate: boolean, testExt: string, _unitTests: TestDefinition[], integrationTests: TestDefinition[], testFiles: TestFile[]): void;
|
|
3
|
+
//# sourceMappingURL=protocols-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocols-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/protocols-dispatcher.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAsBhG,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,EAC5B,gBAAgB,EAAE,cAAc,EAAE,EAClC,SAAS,EAAE,QAAQ,EAAE,GACpB,IAAI,CAkDN"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// dispatchers/protocols-dispatcher.ts — GraphQL, gRPC, WebSocket, Hypermedia dispatches
|
|
2
|
+
import { isHypermediaProject, generateHypermediaTestDefs, generateHypermediaTestFiles, } from '../generators/hypermedia-generator.js';
|
|
3
|
+
import { isGraphqlProject, generateGraphqlTestDefs, generateGraphqlTestFiles, } from '../generators/graphql-test-generator.js';
|
|
4
|
+
import { isGrpcProject, generateGrpcTestDefs, generateGrpcTestFiles, } from '../generators/grpc-test-generator.js';
|
|
5
|
+
import { isWebSocketProject, generateWebSocketTestDefs, generateWebSocketTestFiles, } from '../generators/websocket-test-generator.js';
|
|
6
|
+
export function dispatchProtocols(spec, knowledge, testDir, testFramework, slug, autoGenerate, testExt, _unitTests, integrationTests, testFiles) {
|
|
7
|
+
if (isHypermediaProject(knowledge)) {
|
|
8
|
+
integrationTests.push(...generateHypermediaTestDefs(spec.title, testDir));
|
|
9
|
+
testFiles.push(...generateHypermediaTestFiles(spec, testDir, knowledge.language, autoGenerate));
|
|
10
|
+
}
|
|
11
|
+
if (isGraphqlProject(knowledge)) {
|
|
12
|
+
const gqlDefs = generateGraphqlTestDefs(spec.title, testDir, testExt);
|
|
13
|
+
integrationTests.push(...gqlDefs);
|
|
14
|
+
testFiles.push(...generateGraphqlTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
15
|
+
}
|
|
16
|
+
if (isGrpcProject(knowledge)) {
|
|
17
|
+
const grpcDefs = generateGrpcTestDefs(spec.title, testDir, testExt);
|
|
18
|
+
integrationTests.push(...grpcDefs);
|
|
19
|
+
testFiles.push(...generateGrpcTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
20
|
+
}
|
|
21
|
+
if (isWebSocketProject(knowledge)) {
|
|
22
|
+
const wsDefs = generateWebSocketTestDefs(spec.title, testDir, testExt);
|
|
23
|
+
integrationTests.push(...wsDefs);
|
|
24
|
+
testFiles.push(...generateWebSocketTestFiles({ title: spec.title, slug }, testDir, testFramework, knowledge.language, testExt, autoGenerate));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=protocols-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocols-dispatcher.js","sourceRoot":"","sources":["../../../../src/tools/generate-tests/dispatchers/protocols-dispatcher.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAGxF,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AAEnD,MAAM,UAAU,iBAAiB,CAC/B,IAAU,EACV,SAA2B,EAC3B,OAAe,EACf,aAAqB,EACrB,IAAY,EACZ,YAAqB,EACrB,OAAe,EACf,UAA4B,EAC5B,gBAAkC,EAClC,SAAqB;IAErB,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,gBAAgB,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1E,SAAS,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACtE,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAClC,SAAS,CAAC,IAAI,CACZ,GAAG,wBAAwB,CACzB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAC3B,OAAO,EACP,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,OAAO,EACP,YAAY,CACb,CACF,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,gBAAgB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACnC,SAAS,CAAC,IAAI,CACZ,GAAG,qBAAqB,CACtB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAC3B,OAAO,EACP,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,OAAO,EACP,YAAY,CACb,CACF,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,IAAI,CACZ,GAAG,0BAA0B,CAC3B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAC3B,OAAO,EACP,aAAa,EACb,SAAS,CAAC,QAAQ,EAClB,OAAO,EACP,YAAY,CACb,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ProjectKnowledge } from '../../../../types/index.js';
|
|
2
|
+
export declare function detectCaching(knowledge: ProjectKnowledge): string | null;
|
|
3
|
+
export declare function detectSearchEngine(knowledge: ProjectKnowledge): string | null;
|
|
4
|
+
export declare function hasOrm(knowledge: ProjectKnowledge): boolean;
|
|
5
|
+
export declare function isDatabaseTestProject(knowledge: ProjectKnowledge): boolean;
|
|
6
|
+
//# sourceMappingURL=detectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectors.d.ts","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/detectors.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAYnE,wBAAgB,aAAa,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAQxE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAQ7E;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAE1E"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// tools/generate-tests/generators/database/detectors.ts
|
|
2
|
+
// Signal constants and detection helpers for database-related tech stack.
|
|
3
|
+
const CACHE_SIGNALS = ['redis', 'memcached', 'node-cache', 'caffeine', 'ehcache', 'valkey'];
|
|
4
|
+
const SEARCH_SIGNALS = [
|
|
5
|
+
'elasticsearch',
|
|
6
|
+
'meilisearch',
|
|
7
|
+
'algolia',
|
|
8
|
+
'opensearch',
|
|
9
|
+
'solr',
|
|
10
|
+
'typesense',
|
|
11
|
+
];
|
|
12
|
+
export function detectCaching(knowledge) {
|
|
13
|
+
const stackLower = knowledge.stack.map((s) => s.toLowerCase());
|
|
14
|
+
for (const sig of CACHE_SIGNALS) {
|
|
15
|
+
if (stackLower.some((s) => s.includes(sig))) {
|
|
16
|
+
return sig;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
export function detectSearchEngine(knowledge) {
|
|
22
|
+
const stackLower = knowledge.stack.map((s) => s.toLowerCase());
|
|
23
|
+
for (const sig of SEARCH_SIGNALS) {
|
|
24
|
+
if (stackLower.some((s) => s.includes(sig))) {
|
|
25
|
+
return sig;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
export function hasOrm(knowledge) {
|
|
31
|
+
return knowledge.orm !== null && knowledge.orm !== 'unknown';
|
|
32
|
+
}
|
|
33
|
+
export function isDatabaseTestProject(knowledge) {
|
|
34
|
+
return knowledge.database !== 'unknown';
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=detectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectors.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/detectors.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,0EAA0E;AAI1E,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC5F,MAAM,cAAc,GAAG;IACrB,eAAe;IACf,aAAa;IACb,SAAS;IACT,YAAY;IACZ,MAAM;IACN,WAAW;CACZ,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,SAA2B;IACvD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAA2B;IAC5D,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,SAA2B;IAChD,OAAO,SAAS,CAAC,GAAG,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAA2B;IAC/D,OAAO,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TestFile, ProjectKnowledge } from '../../../../types/index.js';
|
|
2
|
+
export declare function generateDatabaseTestFiles(spec: {
|
|
3
|
+
title: string;
|
|
4
|
+
slug: string;
|
|
5
|
+
}, testDir: string, framework: string, language: string, testExt: string, autoGenerate: boolean, knowledge: ProjectKnowledge): TestFile[];
|
|
6
|
+
export { detectCaching, detectSearchEngine, hasOrm, isDatabaseTestProject } from './detectors.js';
|
|
7
|
+
export { generateDatabaseTestDefs } from './test-defs.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAK7E,wBAAgB,yBAAyB,CACvC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,EACrB,SAAS,EAAE,gBAAgB,GAC1B,QAAQ,EAAE,CAoBZ;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// tools/generate-tests/generators/database/index.ts
|
|
2
|
+
// Entry point for the database test generator module.
|
|
3
|
+
// Orchestrates detection, test definitions, and scaffold generation.
|
|
4
|
+
import { detectCaching, detectSearchEngine, hasOrm } from './detectors.js';
|
|
5
|
+
import { buildTsDatabaseTest } from './ts-scaffold.js';
|
|
6
|
+
import { buildPythonDatabaseTest } from './python-scaffold.js';
|
|
7
|
+
export function generateDatabaseTestFiles(spec, testDir, framework, language, testExt, autoGenerate, knowledge) {
|
|
8
|
+
const cache = detectCaching(knowledge);
|
|
9
|
+
const search = detectSearchEngine(knowledge);
|
|
10
|
+
const orm = hasOrm(knowledge);
|
|
11
|
+
const db = knowledge.database;
|
|
12
|
+
const isPython = language === 'python';
|
|
13
|
+
const ext = isPython ? 'py' : testExt;
|
|
14
|
+
const fw = isPython ? 'pytest' : framework;
|
|
15
|
+
const content = isPython
|
|
16
|
+
? buildPythonDatabaseTest(spec.title, db, orm, cache, search)
|
|
17
|
+
: buildTsDatabaseTest(spec.title, db, orm, cache, search);
|
|
18
|
+
return [
|
|
19
|
+
{
|
|
20
|
+
path: `${testDir}/database/${spec.slug}.database.test.${ext}`,
|
|
21
|
+
framework: fw,
|
|
22
|
+
content,
|
|
23
|
+
ready: autoGenerate,
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
export { detectCaching, detectSearchEngine, hasOrm, isDatabaseTestProject } from './detectors.js';
|
|
28
|
+
export { generateDatabaseTestDefs } from './test-defs.js';
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/index.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,sDAAsD;AACtD,qEAAqE;AAGrE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CACvC,IAAqC,EACrC,OAAe,EACf,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,YAAqB,EACrB,SAA2B;IAE3B,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC;IAC9B,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,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC;QAC7D,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE5D,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;AAED,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-scaffold.d.ts","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/python-scaffold.ts"],"names":[],"mappings":"AAGA,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,MAAM,CAuGR"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
// tools/generate-tests/generators/database/python-scaffold.ts
|
|
2
|
+
// Builds Python/pytest database test scaffold content.
|
|
3
|
+
export function buildPythonDatabaseTest(title, db, orm, cache, search) {
|
|
4
|
+
const cls = title.replace(/[^a-zA-Z0-9]/g, '');
|
|
5
|
+
const ormSection = orm
|
|
6
|
+
? `
|
|
7
|
+
def test_transaction_commits_on_success(self) -> None:
|
|
8
|
+
"""Transaction commits all changes on success."""
|
|
9
|
+
pass
|
|
10
|
+
|
|
11
|
+
def test_transaction_rolls_back_on_error(self) -> None:
|
|
12
|
+
"""Transaction rolls back on exception."""
|
|
13
|
+
pass
|
|
14
|
+
|
|
15
|
+
def test_optimistic_locking_conflict(self) -> None:
|
|
16
|
+
"""Concurrent update with stale version raises conflict."""
|
|
17
|
+
pass
|
|
18
|
+
`
|
|
19
|
+
: '';
|
|
20
|
+
const cacheSection = cache
|
|
21
|
+
? `
|
|
22
|
+
def test_cache_hit_returns_value(self) -> None:
|
|
23
|
+
"""Cache returns stored value on hit."""
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
def test_cache_miss_returns_none(self) -> None:
|
|
27
|
+
"""Cache returns None on miss."""
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
def test_cache_ttl_expiration(self) -> None:
|
|
31
|
+
"""Cache entry expires after TTL."""
|
|
32
|
+
pass
|
|
33
|
+
|
|
34
|
+
def test_cache_invalidation_on_update(self) -> None:
|
|
35
|
+
"""Cache is invalidated when underlying data changes."""
|
|
36
|
+
pass
|
|
37
|
+
`
|
|
38
|
+
: '';
|
|
39
|
+
const searchSection = search
|
|
40
|
+
? `
|
|
41
|
+
def test_index_document_searchable(self) -> None:
|
|
42
|
+
"""Indexed document is returned by search query."""
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
def test_query_relevance_ranking(self) -> None:
|
|
46
|
+
"""Results are ranked by relevance score."""
|
|
47
|
+
pass
|
|
48
|
+
|
|
49
|
+
def test_fuzzy_matching_for_typos(self) -> None:
|
|
50
|
+
"""Fuzzy search finds results despite typos."""
|
|
51
|
+
pass
|
|
52
|
+
`
|
|
53
|
+
: '';
|
|
54
|
+
return `"""Database & Data Layer tests for: ${title}
|
|
55
|
+
Generated by SpecForge SDD MCP Server (SPEC-058b).
|
|
56
|
+
Database: ${db}
|
|
57
|
+
"""
|
|
58
|
+
import pytest
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class Test${cls}Database:
|
|
62
|
+
"""Database test suite for ${title} (${db})."""
|
|
63
|
+
|
|
64
|
+
def test_migration_up_applies_cleanly(self) -> None:
|
|
65
|
+
"""Schema migration up creates expected tables."""
|
|
66
|
+
# TODO: result = alembic.command.upgrade(config, 'head')
|
|
67
|
+
pass
|
|
68
|
+
|
|
69
|
+
def test_migration_down_reverts_cleanly(self) -> None:
|
|
70
|
+
"""Schema migration down removes tables cleanly."""
|
|
71
|
+
pass
|
|
72
|
+
|
|
73
|
+
def test_data_integrity_after_migration(self) -> None:
|
|
74
|
+
"""Existing data is preserved after migration."""
|
|
75
|
+
pass
|
|
76
|
+
|
|
77
|
+
def test_rollback_safety(self) -> None:
|
|
78
|
+
"""Rollback does not lose existing data."""
|
|
79
|
+
pass
|
|
80
|
+
|
|
81
|
+
def test_create_record(self) -> None:
|
|
82
|
+
"""Creates a record and returns its id."""
|
|
83
|
+
# TODO: user = repo.create(name='Test', email='test@example.com')
|
|
84
|
+
# assert user.id is not None
|
|
85
|
+
pass
|
|
86
|
+
|
|
87
|
+
def test_read_record_by_id(self) -> None:
|
|
88
|
+
"""Reads a record by primary key."""
|
|
89
|
+
pass
|
|
90
|
+
|
|
91
|
+
def test_update_record(self) -> None:
|
|
92
|
+
"""Updates a record field."""
|
|
93
|
+
pass
|
|
94
|
+
|
|
95
|
+
def test_delete_record(self) -> None:
|
|
96
|
+
"""Deletes a record."""
|
|
97
|
+
pass
|
|
98
|
+
|
|
99
|
+
def test_read_nonexistent_returns_none(self) -> None:
|
|
100
|
+
"""Reading a non-existent record returns None."""
|
|
101
|
+
pass
|
|
102
|
+
${ormSection}${cacheSection}${searchSection}`;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=python-scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"python-scaffold.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/python-scaffold.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,uDAAuD;AAEvD,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,EAAU,EACV,GAAY,EACZ,KAAoB,EACpB,MAAqB;IAErB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,GAAG;QACpB,CAAC,CAAC;;;;;;;;;;;;CAYL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG,KAAK;QACxB,CAAC,CAAC;;;;;;;;;;;;;;;;CAgBL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,MAAM;QAC1B,CAAC,CAAC;;;;;;;;;;;;CAYL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,uCAAuC,KAAK;;YAEzC,EAAE;;;;;YAKF,GAAG;iCACkB,KAAK,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC3C,UAAU,GAAG,YAAY,GAAG,aAAa,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-defs.d.ts","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/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,CAwDlB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// tools/generate-tests/generators/database/test-defs.ts
|
|
2
|
+
// Generates TestDefinition entries for database & data layer test suites.
|
|
3
|
+
import { detectCaching, detectSearchEngine, hasOrm } from './detectors.js';
|
|
4
|
+
export function generateDatabaseTestDefs(title, testDir, _testExt, knowledge) {
|
|
5
|
+
const defs = [
|
|
6
|
+
{
|
|
7
|
+
name: `${title} — migration: schema up/down and rollback safety`,
|
|
8
|
+
type: 'integration',
|
|
9
|
+
file: `${testDir}/database/`,
|
|
10
|
+
description: 'Verify schema migrations run up/down cleanly and preserve data integrity',
|
|
11
|
+
priority: 'critical',
|
|
12
|
+
automatable: true,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: `${title} — repository: CRUD operations on ${knowledge.database}`,
|
|
16
|
+
type: 'integration',
|
|
17
|
+
file: `${testDir}/database/`,
|
|
18
|
+
description: 'Verify create, read, update, delete operations on the data layer',
|
|
19
|
+
priority: 'high',
|
|
20
|
+
automatable: true,
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
if (hasOrm(knowledge)) {
|
|
24
|
+
defs.push({
|
|
25
|
+
name: `${title} — transactions and optimistic locking`,
|
|
26
|
+
type: 'integration',
|
|
27
|
+
file: `${testDir}/database/`,
|
|
28
|
+
description: 'Verify transaction commit/rollback and optimistic locking conflict detection',
|
|
29
|
+
priority: 'high',
|
|
30
|
+
automatable: true,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const cache = detectCaching(knowledge);
|
|
34
|
+
if (cache !== null) {
|
|
35
|
+
defs.push({
|
|
36
|
+
name: `${title} — caching (${cache}): hit/miss, TTL, invalidation`,
|
|
37
|
+
type: 'integration',
|
|
38
|
+
file: `${testDir}/database/`,
|
|
39
|
+
description: 'Verify cache hit/miss behavior, TTL expiration, and invalidation patterns',
|
|
40
|
+
priority: 'high',
|
|
41
|
+
automatable: true,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
const search = detectSearchEngine(knowledge);
|
|
45
|
+
if (search !== null) {
|
|
46
|
+
defs.push({
|
|
47
|
+
name: `${title} — full-text search (${search}): indexing and query relevance`,
|
|
48
|
+
type: 'integration',
|
|
49
|
+
file: `${testDir}/database/`,
|
|
50
|
+
description: 'Verify document indexing, query relevance ranking, and fuzzy matching',
|
|
51
|
+
priority: 'medium',
|
|
52
|
+
automatable: true,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return defs;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=test-defs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-defs.js","sourceRoot":"","sources":["../../../../../src/tools/generate-tests/generators/database/test-defs.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,0EAA0E;AAG1E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE3E,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,OAAe,EACf,QAAgB,EAChB,SAA2B;IAE3B,MAAM,IAAI,GAAqB;QAC7B;YACE,IAAI,EAAE,GAAG,KAAK,kDAAkD;YAChE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,0EAA0E;YACvF,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,IAAI;SAClB;QACD;YACE,IAAI,EAAE,GAAG,KAAK,qCAAqC,SAAS,CAAC,QAAQ,EAAE;YACvE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,kEAAkE;YAC/E,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;SAClB;KACF,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,GAAG,KAAK,wCAAwC;YACtD,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,8EAA8E;YAC3F,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,GAAG,KAAK,eAAe,KAAK,gCAAgC;YAClE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,2EAA2E;YACxF,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,GAAG,KAAK,wBAAwB,MAAM,iCAAiC;YAC7E,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,OAAO,YAAY;YAC5B,WAAW,EAAE,uEAAuE;YACpF,QAAQ,EAAE,QAAQ;YAClB,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/database/ts-scaffold.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,MAAM,CAqHR"}
|