@planu/cli 0.30.1 → 0.32.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/config/ide-registry.json +204 -0
- package/dist/config/injection-patterns.json +30 -0
- package/dist/config/known-cves.json +41 -0
- package/dist/config/license-plans.json +26 -2
- package/dist/config/llm-providers.json +198 -0
- package/dist/config/model-equivalences.json +41 -0
- package/dist/config/model-language-affinity.json +16 -0
- package/dist/config/orchestration-templates.json +76 -0
- package/dist/config/orchestration-topologies.json +36 -0
- package/dist/config/plugin-marketplace.json +59 -0
- package/dist/config/security-runtime-config.json +26 -0
- package/dist/config/workers-registry.json +100 -0
- package/dist/engine/deleter/audit-logger.d.ts +11 -0
- package/dist/engine/deleter/audit-logger.d.ts.map +1 -0
- package/dist/engine/deleter/audit-logger.js +30 -0
- package/dist/engine/deleter/audit-logger.js.map +1 -0
- package/dist/engine/deleter/core.d.ts +39 -0
- package/dist/engine/deleter/core.d.ts.map +1 -0
- package/dist/engine/deleter/core.js +267 -0
- package/dist/engine/deleter/core.js.map +1 -0
- package/dist/engine/deleter/trash-manager.d.ts +18 -0
- package/dist/engine/deleter/trash-manager.d.ts.map +1 -0
- package/dist/engine/deleter/trash-manager.js +92 -0
- package/dist/engine/deleter/trash-manager.js.map +1 -0
- package/dist/engine/github/adapters/bitbucket-adapter.d.ts +12 -0
- package/dist/engine/github/adapters/bitbucket-adapter.d.ts.map +1 -0
- package/dist/engine/github/adapters/bitbucket-adapter.js +32 -0
- package/dist/engine/github/adapters/bitbucket-adapter.js.map +1 -0
- package/dist/engine/github/adapters/github-adapter.d.ts +20 -0
- package/dist/engine/github/adapters/github-adapter.d.ts.map +1 -0
- package/dist/engine/github/adapters/github-adapter.js +221 -0
- package/dist/engine/github/adapters/github-adapter.js.map +1 -0
- package/dist/engine/github/adapters/gitlab-adapter.d.ts +12 -0
- package/dist/engine/github/adapters/gitlab-adapter.d.ts.map +1 -0
- package/dist/engine/github/adapters/gitlab-adapter.js +32 -0
- package/dist/engine/github/adapters/gitlab-adapter.js.map +1 -0
- package/dist/engine/github/adapters/index.d.ts +4 -0
- package/dist/engine/github/adapters/index.d.ts.map +1 -0
- package/dist/engine/github/adapters/index.js +5 -0
- package/dist/engine/github/adapters/index.js.map +1 -0
- package/dist/engine/github/auth.d.ts +13 -0
- package/dist/engine/github/auth.d.ts.map +1 -0
- package/dist/engine/github/auth.js +59 -0
- package/dist/engine/github/auth.js.map +1 -0
- package/dist/engine/github/changelog.d.ts +26 -0
- package/dist/engine/github/changelog.d.ts.map +1 -0
- package/dist/engine/github/changelog.js +117 -0
- package/dist/engine/github/changelog.js.map +1 -0
- package/dist/engine/github/ci-status.d.ts +13 -0
- package/dist/engine/github/ci-status.d.ts.map +1 -0
- package/dist/engine/github/ci-status.js +32 -0
- package/dist/engine/github/ci-status.js.map +1 -0
- package/dist/engine/github/client.d.ts +18 -0
- package/dist/engine/github/client.d.ts.map +1 -0
- package/dist/engine/github/client.js +55 -0
- package/dist/engine/github/client.js.map +1 -0
- package/dist/engine/github/gh-cli.d.ts +22 -0
- package/dist/engine/github/gh-cli.d.ts.map +1 -0
- package/dist/engine/github/gh-cli.js +53 -0
- package/dist/engine/github/gh-cli.js.map +1 -0
- package/dist/engine/github/index.d.ts +9 -0
- package/dist/engine/github/index.d.ts.map +1 -0
- package/dist/engine/github/index.js +10 -0
- package/dist/engine/github/index.js.map +1 -0
- package/dist/engine/github/pr-template.d.ts +17 -0
- package/dist/engine/github/pr-template.d.ts.map +1 -0
- package/dist/engine/github/pr-template.js +79 -0
- package/dist/engine/github/pr-template.js.map +1 -0
- package/dist/engine/github/review-analyzer.d.ts +19 -0
- package/dist/engine/github/review-analyzer.d.ts.map +1 -0
- package/dist/engine/github/review-analyzer.js +146 -0
- package/dist/engine/github/review-analyzer.js.map +1 -0
- package/dist/engine/github/spec-linker.d.ts +18 -0
- package/dist/engine/github/spec-linker.d.ts.map +1 -0
- package/dist/engine/github/spec-linker.js +54 -0
- package/dist/engine/github/spec-linker.js.map +1 -0
- package/dist/engine/ide-config/core.d.ts +14 -0
- package/dist/engine/ide-config/core.d.ts.map +1 -0
- package/dist/engine/ide-config/core.js +103 -0
- package/dist/engine/ide-config/core.js.map +1 -0
- package/dist/engine/ide-config/detector.d.ts +18 -0
- package/dist/engine/ide-config/detector.d.ts.map +1 -0
- package/dist/engine/ide-config/detector.js +97 -0
- package/dist/engine/ide-config/detector.js.map +1 -0
- package/dist/engine/ide-config/generators.d.ts +6 -0
- package/dist/engine/ide-config/generators.d.ts.map +1 -0
- package/dist/engine/ide-config/generators.js +146 -0
- package/dist/engine/ide-config/generators.js.map +1 -0
- package/dist/engine/ide-config/index.d.ts +6 -0
- package/dist/engine/ide-config/index.d.ts.map +1 -0
- package/dist/engine/ide-config/index.js +7 -0
- package/dist/engine/ide-config/index.js.map +1 -0
- package/dist/engine/ide-config/path-resolver.d.ts +23 -0
- package/dist/engine/ide-config/path-resolver.d.ts.map +1 -0
- package/dist/engine/ide-config/path-resolver.js +55 -0
- package/dist/engine/ide-config/path-resolver.js.map +1 -0
- package/dist/engine/ide-config/validator.d.ts +7 -0
- package/dist/engine/ide-config/validator.d.ts.map +1 -0
- package/dist/engine/ide-config/validator.js +55 -0
- package/dist/engine/ide-config/validator.js.map +1 -0
- package/dist/engine/license-validator/lemon-squeezy.d.ts.map +1 -1
- package/dist/engine/license-validator/lemon-squeezy.js +16 -12
- package/dist/engine/license-validator/lemon-squeezy.js.map +1 -1
- package/dist/engine/llm-providers/cost-optimizer.d.ts +26 -0
- package/dist/engine/llm-providers/cost-optimizer.d.ts.map +1 -0
- package/dist/engine/llm-providers/cost-optimizer.js +101 -0
- package/dist/engine/llm-providers/cost-optimizer.js.map +1 -0
- package/dist/engine/llm-providers/cost-tracker.d.ts +26 -0
- package/dist/engine/llm-providers/cost-tracker.d.ts.map +1 -0
- package/dist/engine/llm-providers/cost-tracker.js +75 -0
- package/dist/engine/llm-providers/cost-tracker.js.map +1 -0
- package/dist/engine/llm-providers/failover-chain.d.ts +23 -0
- package/dist/engine/llm-providers/failover-chain.d.ts.map +1 -0
- package/dist/engine/llm-providers/failover-chain.js +88 -0
- package/dist/engine/llm-providers/failover-chain.js.map +1 -0
- package/dist/engine/llm-providers/health-checker.d.ts +18 -0
- package/dist/engine/llm-providers/health-checker.d.ts.map +1 -0
- package/dist/engine/llm-providers/health-checker.js +45 -0
- package/dist/engine/llm-providers/health-checker.js.map +1 -0
- package/dist/engine/llm-providers/index.d.ts +10 -0
- package/dist/engine/llm-providers/index.d.ts.map +1 -0
- package/dist/engine/llm-providers/index.js +11 -0
- package/dist/engine/llm-providers/index.js.map +1 -0
- package/dist/engine/llm-providers/key-manager.d.ts +23 -0
- package/dist/engine/llm-providers/key-manager.d.ts.map +1 -0
- package/dist/engine/llm-providers/key-manager.js +47 -0
- package/dist/engine/llm-providers/key-manager.js.map +1 -0
- package/dist/engine/llm-providers/load-balancer.d.ts +13 -0
- package/dist/engine/llm-providers/load-balancer.d.ts.map +1 -0
- package/dist/engine/llm-providers/load-balancer.js +94 -0
- package/dist/engine/llm-providers/load-balancer.js.map +1 -0
- package/dist/engine/llm-providers/provider-adapter.d.ts +25 -0
- package/dist/engine/llm-providers/provider-adapter.d.ts.map +1 -0
- package/dist/engine/llm-providers/provider-adapter.js +86 -0
- package/dist/engine/llm-providers/provider-adapter.js.map +1 -0
- package/dist/engine/llm-providers/rate-limiter.d.ts +29 -0
- package/dist/engine/llm-providers/rate-limiter.d.ts.map +1 -0
- package/dist/engine/llm-providers/rate-limiter.js +70 -0
- package/dist/engine/llm-providers/rate-limiter.js.map +1 -0
- package/dist/engine/orchestrator/agent-spawner.d.ts +22 -0
- package/dist/engine/orchestrator/agent-spawner.d.ts.map +1 -0
- package/dist/engine/orchestrator/agent-spawner.js +117 -0
- package/dist/engine/orchestrator/agent-spawner.js.map +1 -0
- package/dist/engine/orchestrator/conflict-resolver.d.ts +11 -0
- package/dist/engine/orchestrator/conflict-resolver.d.ts.map +1 -0
- package/dist/engine/orchestrator/conflict-resolver.js +81 -0
- package/dist/engine/orchestrator/conflict-resolver.js.map +1 -0
- package/dist/engine/orchestrator/file-ownership.d.ts +25 -0
- package/dist/engine/orchestrator/file-ownership.d.ts.map +1 -0
- package/dist/engine/orchestrator/file-ownership.js +62 -0
- package/dist/engine/orchestrator/file-ownership.js.map +1 -0
- package/dist/engine/orchestrator/handoff-generator.d.ts +20 -0
- package/dist/engine/orchestrator/handoff-generator.d.ts.map +1 -0
- package/dist/engine/orchestrator/handoff-generator.js +95 -0
- package/dist/engine/orchestrator/handoff-generator.js.map +1 -0
- package/dist/engine/orchestrator/index.d.ts +10 -0
- package/dist/engine/orchestrator/index.d.ts.map +1 -0
- package/dist/engine/orchestrator/index.js +11 -0
- package/dist/engine/orchestrator/index.js.map +1 -0
- package/dist/engine/orchestrator/progress-tracker.d.ts +32 -0
- package/dist/engine/orchestrator/progress-tracker.d.ts.map +1 -0
- package/dist/engine/orchestrator/progress-tracker.js +102 -0
- package/dist/engine/orchestrator/progress-tracker.js.map +1 -0
- package/dist/engine/orchestrator/result-collector.d.ts +23 -0
- package/dist/engine/orchestrator/result-collector.d.ts.map +1 -0
- package/dist/engine/orchestrator/result-collector.js +124 -0
- package/dist/engine/orchestrator/result-collector.js.map +1 -0
- package/dist/engine/orchestrator/runtime.d.ts +21 -0
- package/dist/engine/orchestrator/runtime.d.ts.map +1 -0
- package/dist/engine/orchestrator/runtime.js +231 -0
- package/dist/engine/orchestrator/runtime.js.map +1 -0
- package/dist/engine/orchestrator/task-distributor.d.ts +8 -0
- package/dist/engine/orchestrator/task-distributor.d.ts.map +1 -0
- package/dist/engine/orchestrator/task-distributor.js +106 -0
- package/dist/engine/orchestrator/task-distributor.js.map +1 -0
- package/dist/engine/orchestrator/topologies.d.ts +30 -0
- package/dist/engine/orchestrator/topologies.d.ts.map +1 -0
- package/dist/engine/orchestrator/topologies.js +89 -0
- package/dist/engine/orchestrator/topologies.js.map +1 -0
- package/dist/engine/plugins/compatibility.d.ts +24 -0
- package/dist/engine/plugins/compatibility.d.ts.map +1 -0
- package/dist/engine/plugins/compatibility.js +140 -0
- package/dist/engine/plugins/compatibility.js.map +1 -0
- package/dist/engine/plugins/doc-generator.d.ts +6 -0
- package/dist/engine/plugins/doc-generator.d.ts.map +1 -0
- package/dist/engine/plugins/doc-generator.js +79 -0
- package/dist/engine/plugins/doc-generator.js.map +1 -0
- package/dist/engine/plugins/extensions/analyzer-extension.d.ts +26 -0
- package/dist/engine/plugins/extensions/analyzer-extension.d.ts.map +1 -0
- package/dist/engine/plugins/extensions/analyzer-extension.js +100 -0
- package/dist/engine/plugins/extensions/analyzer-extension.js.map +1 -0
- package/dist/engine/plugins/extensions/template-extension.d.ts +25 -0
- package/dist/engine/plugins/extensions/template-extension.d.ts.map +1 -0
- package/dist/engine/plugins/extensions/template-extension.js +65 -0
- package/dist/engine/plugins/extensions/template-extension.js.map +1 -0
- package/dist/engine/plugins/extensions/tool-extension.d.ts +34 -0
- package/dist/engine/plugins/extensions/tool-extension.d.ts.map +1 -0
- package/dist/engine/plugins/extensions/tool-extension.js +80 -0
- package/dist/engine/plugins/extensions/tool-extension.js.map +1 -0
- package/dist/engine/plugins/extensions/worker-extension.d.ts +24 -0
- package/dist/engine/plugins/extensions/worker-extension.d.ts.map +1 -0
- package/dist/engine/plugins/extensions/worker-extension.js +88 -0
- package/dist/engine/plugins/extensions/worker-extension.js.map +1 -0
- package/dist/engine/plugins/index.d.ts +11 -0
- package/dist/engine/plugins/index.d.ts.map +1 -0
- package/dist/engine/plugins/index.js +12 -0
- package/dist/engine/plugins/index.js.map +1 -0
- package/dist/engine/plugins/lifecycle.d.ts +26 -0
- package/dist/engine/plugins/lifecycle.d.ts.map +1 -0
- package/dist/engine/plugins/lifecycle.js +208 -0
- package/dist/engine/plugins/lifecycle.js.map +1 -0
- package/dist/engine/plugins/loader.d.ts +17 -0
- package/dist/engine/plugins/loader.d.ts.map +1 -0
- package/dist/engine/plugins/loader.js +113 -0
- package/dist/engine/plugins/loader.js.map +1 -0
- package/dist/engine/plugins/sandbox.d.ts +20 -0
- package/dist/engine/plugins/sandbox.d.ts.map +1 -0
- package/dist/engine/plugins/sandbox.js +111 -0
- package/dist/engine/plugins/sandbox.js.map +1 -0
- package/dist/engine/plugins/validator.d.ts +18 -0
- package/dist/engine/plugins/validator.d.ts.map +1 -0
- package/dist/engine/plugins/validator.js +125 -0
- package/dist/engine/plugins/validator.js.map +1 -0
- package/dist/engine/runtime-security/audit-logger.d.ts +7 -0
- package/dist/engine/runtime-security/audit-logger.d.ts.map +1 -0
- package/dist/engine/runtime-security/audit-logger.js +120 -0
- package/dist/engine/runtime-security/audit-logger.js.map +1 -0
- package/dist/engine/runtime-security/checkers/command-injection.d.ts +3 -0
- package/dist/engine/runtime-security/checkers/command-injection.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/command-injection.js +91 -0
- package/dist/engine/runtime-security/checkers/command-injection.js.map +1 -0
- package/dist/engine/runtime-security/checkers/content-security.d.ts +3 -0
- package/dist/engine/runtime-security/checkers/content-security.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/content-security.js +106 -0
- package/dist/engine/runtime-security/checkers/content-security.js.map +1 -0
- package/dist/engine/runtime-security/checkers/dependency-vuln.d.ts +4 -0
- package/dist/engine/runtime-security/checkers/dependency-vuln.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/dependency-vuln.js +93 -0
- package/dist/engine/runtime-security/checkers/dependency-vuln.js.map +1 -0
- package/dist/engine/runtime-security/checkers/file-permissions.d.ts +3 -0
- package/dist/engine/runtime-security/checkers/file-permissions.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/file-permissions.js +60 -0
- package/dist/engine/runtime-security/checkers/file-permissions.js.map +1 -0
- package/dist/engine/runtime-security/checkers/input-sanitizer.d.ts +4 -0
- package/dist/engine/runtime-security/checkers/input-sanitizer.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/input-sanitizer.js +101 -0
- package/dist/engine/runtime-security/checkers/input-sanitizer.js.map +1 -0
- package/dist/engine/runtime-security/checkers/path-traversal.d.ts +3 -0
- package/dist/engine/runtime-security/checkers/path-traversal.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/path-traversal.js +102 -0
- package/dist/engine/runtime-security/checkers/path-traversal.js.map +1 -0
- package/dist/engine/runtime-security/checkers/prompt-injection.d.ts +7 -0
- package/dist/engine/runtime-security/checkers/prompt-injection.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/prompt-injection.js +103 -0
- package/dist/engine/runtime-security/checkers/prompt-injection.js.map +1 -0
- package/dist/engine/runtime-security/checkers/sensitive-data.d.ts +3 -0
- package/dist/engine/runtime-security/checkers/sensitive-data.d.ts.map +1 -0
- package/dist/engine/runtime-security/checkers/sensitive-data.js +71 -0
- package/dist/engine/runtime-security/checkers/sensitive-data.js.map +1 -0
- package/dist/engine/runtime-security/index.d.ts +12 -0
- package/dist/engine/runtime-security/index.d.ts.map +1 -0
- package/dist/engine/runtime-security/index.js +13 -0
- package/dist/engine/runtime-security/index.js.map +1 -0
- package/dist/engine/runtime-security/rate-limiter.d.ts +5 -0
- package/dist/engine/runtime-security/rate-limiter.d.ts.map +1 -0
- package/dist/engine/runtime-security/rate-limiter.js +91 -0
- package/dist/engine/runtime-security/rate-limiter.js.map +1 -0
- package/dist/engine/runtime-security/validator.d.ts +9 -0
- package/dist/engine/runtime-security/validator.d.ts.map +1 -0
- package/dist/engine/runtime-security/validator.js +118 -0
- package/dist/engine/runtime-security/validator.js.map +1 -0
- package/dist/engine/session/auto-save.d.ts +18 -0
- package/dist/engine/session/auto-save.d.ts.map +1 -0
- package/dist/engine/session/auto-save.js +96 -0
- package/dist/engine/session/auto-save.js.map +1 -0
- package/dist/engine/session/context-snapshot.d.ts +8 -0
- package/dist/engine/session/context-snapshot.d.ts.map +1 -0
- package/dist/engine/session/context-snapshot.js +49 -0
- package/dist/engine/session/context-snapshot.js.map +1 -0
- package/dist/engine/session/index.d.ts +6 -0
- package/dist/engine/session/index.d.ts.map +1 -0
- package/dist/engine/session/index.js +7 -0
- package/dist/engine/session/index.js.map +1 -0
- package/dist/engine/session/memory-sync.d.ts +12 -0
- package/dist/engine/session/memory-sync.d.ts.map +1 -0
- package/dist/engine/session/memory-sync.js +34 -0
- package/dist/engine/session/memory-sync.js.map +1 -0
- package/dist/engine/session/session-diff.d.ts +11 -0
- package/dist/engine/session/session-diff.d.ts.map +1 -0
- package/dist/engine/session/session-diff.js +42 -0
- package/dist/engine/session/session-diff.js.map +1 -0
- package/dist/engine/session/session-merge.d.ts +12 -0
- package/dist/engine/session/session-merge.d.ts.map +1 -0
- package/dist/engine/session/session-merge.js +55 -0
- package/dist/engine/session/session-merge.js.map +1 -0
- package/dist/engine/spec-templates/fintech-compliance.d.ts +4 -0
- package/dist/engine/spec-templates/fintech-compliance.d.ts.map +1 -0
- package/dist/engine/spec-templates/fintech-compliance.js +111 -0
- package/dist/engine/spec-templates/fintech-compliance.js.map +1 -0
- package/dist/engine/spec-templates/fintech-kyc.d.ts +4 -0
- package/dist/engine/spec-templates/fintech-kyc.d.ts.map +1 -0
- package/dist/engine/spec-templates/fintech-kyc.js +125 -0
- package/dist/engine/spec-templates/fintech-kyc.js.map +1 -0
- package/dist/engine/spec-templates/fintech-transactions.d.ts +4 -0
- package/dist/engine/spec-templates/fintech-transactions.d.ts.map +1 -0
- package/dist/engine/spec-templates/fintech-transactions.js +120 -0
- package/dist/engine/spec-templates/fintech-transactions.js.map +1 -0
- package/dist/engine/spec-templates/templates-industry-fintech.d.ts +3 -7
- package/dist/engine/spec-templates/templates-industry-fintech.d.ts.map +1 -1
- package/dist/engine/spec-templates/templates-industry-fintech.js +4 -348
- package/dist/engine/spec-templates/templates-industry-fintech.js.map +1 -1
- package/dist/engine/token-optimizer/batcher.d.ts +34 -0
- package/dist/engine/token-optimizer/batcher.d.ts.map +1 -0
- package/dist/engine/token-optimizer/batcher.js +89 -0
- package/dist/engine/token-optimizer/batcher.js.map +1 -0
- package/dist/engine/token-optimizer/budget.d.ts +54 -0
- package/dist/engine/token-optimizer/budget.d.ts.map +1 -0
- package/dist/engine/token-optimizer/budget.js +102 -0
- package/dist/engine/token-optimizer/budget.js.map +1 -0
- package/dist/engine/token-optimizer/context-compressor.d.ts +16 -0
- package/dist/engine/token-optimizer/context-compressor.d.ts.map +1 -0
- package/dist/engine/token-optimizer/context-compressor.js +148 -0
- package/dist/engine/token-optimizer/context-compressor.js.map +1 -0
- package/dist/engine/token-optimizer/counter.d.ts +16 -0
- package/dist/engine/token-optimizer/counter.d.ts.map +1 -0
- package/dist/engine/token-optimizer/counter.js +68 -0
- package/dist/engine/token-optimizer/counter.js.map +1 -0
- package/dist/engine/token-optimizer/deduplicator.d.ts +32 -0
- package/dist/engine/token-optimizer/deduplicator.d.ts.map +1 -0
- package/dist/engine/token-optimizer/deduplicator.js +102 -0
- package/dist/engine/token-optimizer/deduplicator.js.map +1 -0
- package/dist/engine/token-optimizer/incremental.d.ts +30 -0
- package/dist/engine/token-optimizer/incremental.d.ts.map +1 -0
- package/dist/engine/token-optimizer/incremental.js +88 -0
- package/dist/engine/token-optimizer/incremental.js.map +1 -0
- package/dist/engine/token-optimizer/index.d.ts +10 -0
- package/dist/engine/token-optimizer/index.d.ts.map +1 -0
- package/dist/engine/token-optimizer/index.js +11 -0
- package/dist/engine/token-optimizer/index.js.map +1 -0
- package/dist/engine/token-optimizer/optimizer.d.ts +47 -0
- package/dist/engine/token-optimizer/optimizer.d.ts.map +1 -0
- package/dist/engine/token-optimizer/optimizer.js +126 -0
- package/dist/engine/token-optimizer/optimizer.js.map +1 -0
- package/dist/engine/token-optimizer/reporter.d.ts +51 -0
- package/dist/engine/token-optimizer/reporter.d.ts.map +1 -0
- package/dist/engine/token-optimizer/reporter.js +143 -0
- package/dist/engine/token-optimizer/reporter.js.map +1 -0
- package/dist/engine/token-optimizer/response-cache.d.ts +49 -0
- package/dist/engine/token-optimizer/response-cache.d.ts.map +1 -0
- package/dist/engine/token-optimizer/response-cache.js +158 -0
- package/dist/engine/token-optimizer/response-cache.js.map +1 -0
- package/dist/engine/workers/handlers/code-map.d.ts +3 -0
- package/dist/engine/workers/handlers/code-map.d.ts.map +1 -0
- package/dist/engine/workers/handlers/code-map.js +227 -0
- package/dist/engine/workers/handlers/code-map.js.map +1 -0
- package/dist/engine/workers/handlers/dependency-health.d.ts +3 -0
- package/dist/engine/workers/handlers/dependency-health.d.ts.map +1 -0
- package/dist/engine/workers/handlers/dependency-health.js +254 -0
- package/dist/engine/workers/handlers/dependency-health.js.map +1 -0
- package/dist/engine/workers/handlers/documentation.d.ts +3 -0
- package/dist/engine/workers/handlers/documentation.d.ts.map +1 -0
- package/dist/engine/workers/handlers/documentation.js +207 -0
- package/dist/engine/workers/handlers/documentation.js.map +1 -0
- package/dist/engine/workers/handlers/optimization.d.ts +3 -0
- package/dist/engine/workers/handlers/optimization.d.ts.map +1 -0
- package/dist/engine/workers/handlers/optimization.js +161 -0
- package/dist/engine/workers/handlers/optimization.js.map +1 -0
- package/dist/engine/workers/handlers/security-audit.d.ts +3 -0
- package/dist/engine/workers/handlers/security-audit.d.ts.map +1 -0
- package/dist/engine/workers/handlers/security-audit.js +222 -0
- package/dist/engine/workers/handlers/security-audit.js.map +1 -0
- package/dist/engine/workers/handlers/test-gaps.d.ts +3 -0
- package/dist/engine/workers/handlers/test-gaps.d.ts.map +1 -0
- package/dist/engine/workers/handlers/test-gaps.js +186 -0
- package/dist/engine/workers/handlers/test-gaps.js.map +1 -0
- package/dist/engine/workers/index.d.ts +8 -0
- package/dist/engine/workers/index.d.ts.map +1 -0
- package/dist/engine/workers/index.js +9 -0
- package/dist/engine/workers/index.js.map +1 -0
- package/dist/engine/workers/worker-engine.d.ts +24 -0
- package/dist/engine/workers/worker-engine.d.ts.map +1 -0
- package/dist/engine/workers/worker-engine.js +233 -0
- package/dist/engine/workers/worker-engine.js.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/session-store.d.ts +20 -0
- package/dist/storage/session-store.d.ts.map +1 -0
- package/dist/storage/session-store.js +118 -0
- package/dist/storage/session-store.js.map +1 -0
- package/dist/storage/token-cache-store.d.ts +10 -0
- package/dist/storage/token-cache-store.d.ts.map +1 -0
- package/dist/storage/token-cache-store.js +67 -0
- package/dist/storage/token-cache-store.js.map +1 -0
- package/dist/storage/trash-store.d.ts +35 -0
- package/dist/storage/trash-store.d.ts.map +1 -0
- package/dist/storage/trash-store.js +163 -0
- package/dist/storage/trash-store.js.map +1 -0
- package/dist/storage/worker-store.d.ts +11 -0
- package/dist/storage/worker-store.d.ts.map +1 -0
- package/dist/storage/worker-store.js +120 -0
- package/dist/storage/worker-store.js.map +1 -0
- package/dist/tools/agent-swarm-status.d.ts +7 -0
- package/dist/tools/agent-swarm-status.d.ts.map +1 -0
- package/dist/tools/agent-swarm-status.js +94 -0
- package/dist/tools/agent-swarm-status.js.map +1 -0
- package/dist/tools/configure-llm-providers-handler.d.ts +18 -0
- package/dist/tools/configure-llm-providers-handler.d.ts.map +1 -0
- package/dist/tools/configure-llm-providers-handler.js +127 -0
- package/dist/tools/configure-llm-providers-handler.js.map +1 -0
- package/dist/tools/configure-workers-handler.d.ts +3 -0
- package/dist/tools/configure-workers-handler.d.ts.map +1 -0
- package/dist/tools/configure-workers-handler.js +116 -0
- package/dist/tools/configure-workers-handler.js.map +1 -0
- package/dist/tools/delete-decision.d.ts +7 -0
- package/dist/tools/delete-decision.d.ts.map +1 -0
- package/dist/tools/delete-decision.js +54 -0
- package/dist/tools/delete-decision.js.map +1 -0
- package/dist/tools/delete-pattern.d.ts +7 -0
- package/dist/tools/delete-pattern.d.ts.map +1 -0
- package/dist/tools/delete-pattern.js +54 -0
- package/dist/tools/delete-pattern.js.map +1 -0
- package/dist/tools/delete-project.d.ts +7 -0
- package/dist/tools/delete-project.d.ts.map +1 -0
- package/dist/tools/delete-project.js +53 -0
- package/dist/tools/delete-project.js.map +1 -0
- package/dist/tools/delete-spec.d.ts +7 -0
- package/dist/tools/delete-spec.d.ts.map +1 -0
- package/dist/tools/delete-spec.js +54 -0
- package/dist/tools/delete-spec.js.map +1 -0
- package/dist/tools/export-session.d.ts +3 -0
- package/dist/tools/export-session.d.ts.map +1 -0
- package/dist/tools/export-session.js +87 -0
- package/dist/tools/export-session.js.map +1 -0
- package/dist/tools/github-pr-handler.d.ts +13 -0
- package/dist/tools/github-pr-handler.d.ts.map +1 -0
- package/dist/tools/github-pr-handler.js +109 -0
- package/dist/tools/github-pr-handler.js.map +1 -0
- package/dist/tools/github-release-handler.d.ts +14 -0
- package/dist/tools/github-release-handler.d.ts.map +1 -0
- package/dist/tools/github-release-handler.js +55 -0
- package/dist/tools/github-release-handler.js.map +1 -0
- package/dist/tools/github-review-handler.d.ts +7 -0
- package/dist/tools/github-review-handler.d.ts.map +1 -0
- package/dist/tools/github-review-handler.js +61 -0
- package/dist/tools/github-review-handler.js.map +1 -0
- package/dist/tools/ide-config-handler.d.ts +11 -0
- package/dist/tools/ide-config-handler.d.ts.map +1 -0
- package/dist/tools/ide-config-handler.js +56 -0
- package/dist/tools/ide-config-handler.js.map +1 -0
- package/dist/tools/list-sessions.d.ts +3 -0
- package/dist/tools/list-sessions.d.ts.map +1 -0
- package/dist/tools/list-sessions.js +28 -0
- package/dist/tools/list-sessions.js.map +1 -0
- package/dist/tools/llm-provider-status-handler.d.ts +7 -0
- package/dist/tools/llm-provider-status-handler.d.ts.map +1 -0
- package/dist/tools/llm-provider-status-handler.js +63 -0
- package/dist/tools/llm-provider-status-handler.js.map +1 -0
- package/dist/tools/manage-plugins-handler.d.ts +6 -0
- package/dist/tools/manage-plugins-handler.d.ts.map +1 -0
- package/dist/tools/manage-plugins-handler.js +128 -0
- package/dist/tools/manage-plugins-handler.js.map +1 -0
- package/dist/tools/manage-trash.d.ts +7 -0
- package/dist/tools/manage-trash.d.ts.map +1 -0
- package/dist/tools/manage-trash.js +54 -0
- package/dist/tools/manage-trash.js.map +1 -0
- package/dist/tools/orchestrate-runtime.d.ts +7 -0
- package/dist/tools/orchestrate-runtime.d.ts.map +1 -0
- package/dist/tools/orchestrate-runtime.js +72 -0
- package/dist/tools/orchestrate-runtime.js.map +1 -0
- package/dist/tools/register-delete-tools.d.ts +6 -0
- package/dist/tools/register-delete-tools.d.ts.map +1 -0
- package/dist/tools/register-delete-tools.js +95 -0
- package/dist/tools/register-delete-tools.js.map +1 -0
- package/dist/tools/register-github-tools.d.ts +3 -0
- package/dist/tools/register-github-tools.d.ts.map +1 -0
- package/dist/tools/register-github-tools.js +47 -0
- package/dist/tools/register-github-tools.js.map +1 -0
- package/dist/tools/register-ide-tools.d.ts +3 -0
- package/dist/tools/register-ide-tools.d.ts.map +1 -0
- package/dist/tools/register-ide-tools.js +28 -0
- package/dist/tools/register-ide-tools.js.map +1 -0
- package/dist/tools/register-llm-provider-tools.d.ts +3 -0
- package/dist/tools/register-llm-provider-tools.d.ts.map +1 -0
- package/dist/tools/register-llm-provider-tools.js +73 -0
- package/dist/tools/register-llm-provider-tools.js.map +1 -0
- package/dist/tools/register-orchestrator-tools.d.ts +3 -0
- package/dist/tools/register-orchestrator-tools.d.ts.map +1 -0
- package/dist/tools/register-orchestrator-tools.js +68 -0
- package/dist/tools/register-orchestrator-tools.js.map +1 -0
- package/dist/tools/register-plugin-tools.d.ts +3 -0
- package/dist/tools/register-plugin-tools.d.ts.map +1 -0
- package/dist/tools/register-plugin-tools.js +27 -0
- package/dist/tools/register-plugin-tools.js.map +1 -0
- package/dist/tools/register-runtime-security-tools.d.ts +3 -0
- package/dist/tools/register-runtime-security-tools.d.ts.map +1 -0
- package/dist/tools/register-runtime-security-tools.js +19 -0
- package/dist/tools/register-runtime-security-tools.js.map +1 -0
- package/dist/tools/register-session-tools.d.ts +3 -0
- package/dist/tools/register-session-tools.d.ts.map +1 -0
- package/dist/tools/register-session-tools.js +34 -0
- package/dist/tools/register-session-tools.js.map +1 -0
- package/dist/tools/register-token-tools.d.ts +3 -0
- package/dist/tools/register-token-tools.d.ts.map +1 -0
- package/dist/tools/register-token-tools.js +17 -0
- package/dist/tools/register-token-tools.js.map +1 -0
- package/dist/tools/register-worker-tools.d.ts +3 -0
- package/dist/tools/register-worker-tools.d.ts.map +1 -0
- package/dist/tools/register-worker-tools.js +31 -0
- package/dist/tools/register-worker-tools.js.map +1 -0
- package/dist/tools/restore-session.d.ts +3 -0
- package/dist/tools/restore-session.d.ts.map +1 -0
- package/dist/tools/restore-session.js +60 -0
- package/dist/tools/restore-session.js.map +1 -0
- package/dist/tools/scaffold-plugin-handler.d.ts +6 -0
- package/dist/tools/scaffold-plugin-handler.d.ts.map +1 -0
- package/dist/tools/scaffold-plugin-handler.js +208 -0
- package/dist/tools/scaffold-plugin-handler.js.map +1 -0
- package/dist/tools/schemas/delete.d.ts +19 -0
- package/dist/tools/schemas/delete.d.ts.map +1 -0
- package/dist/tools/schemas/delete.js +12 -0
- package/dist/tools/schemas/delete.js.map +1 -0
- package/dist/tools/schemas/github.d.ts +51 -0
- package/dist/tools/schemas/github.d.ts.map +1 -0
- package/dist/tools/schemas/github.js +52 -0
- package/dist/tools/schemas/github.js.map +1 -0
- package/dist/tools/schemas/ide-config.d.ts +36 -0
- package/dist/tools/schemas/ide-config.d.ts.map +1 -0
- package/dist/tools/schemas/ide-config.js +27 -0
- package/dist/tools/schemas/ide-config.js.map +1 -0
- package/dist/tools/schemas/index.d.ts +9 -0
- package/dist/tools/schemas/index.d.ts.map +1 -1
- package/dist/tools/schemas/index.js +9 -0
- package/dist/tools/schemas/index.js.map +1 -1
- package/dist/tools/schemas/llm-provider-schemas.d.ts +26 -0
- package/dist/tools/schemas/llm-provider-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/llm-provider-schemas.js +16 -0
- package/dist/tools/schemas/llm-provider-schemas.js.map +1 -0
- package/dist/tools/schemas/plugins-schemas.d.ts +40 -0
- package/dist/tools/schemas/plugins-schemas.d.ts.map +1 -0
- package/dist/tools/schemas/plugins-schemas.js +29 -0
- package/dist/tools/schemas/plugins-schemas.js.map +1 -0
- package/dist/tools/schemas/runtime-security.d.ts +12 -0
- package/dist/tools/schemas/runtime-security.d.ts.map +1 -0
- package/dist/tools/schemas/runtime-security.js +9 -0
- package/dist/tools/schemas/runtime-security.js.map +1 -0
- package/dist/tools/schemas/session.d.ts +22 -0
- package/dist/tools/schemas/session.d.ts.map +1 -0
- package/dist/tools/schemas/session.js +25 -0
- package/dist/tools/schemas/session.js.map +1 -0
- package/dist/tools/schemas/token-optimization.d.ts +12 -0
- package/dist/tools/schemas/token-optimization.d.ts.map +1 -0
- package/dist/tools/schemas/token-optimization.js +9 -0
- package/dist/tools/schemas/token-optimization.js.map +1 -0
- package/dist/tools/schemas/workers-schema.d.ts +75 -0
- package/dist/tools/schemas/workers-schema.d.ts.map +1 -0
- package/dist/tools/schemas/workers-schema.js +63 -0
- package/dist/tools/schemas/workers-schema.js.map +1 -0
- package/dist/tools/security-report-handler.d.ts +3 -0
- package/dist/tools/security-report-handler.d.ts.map +1 -0
- package/dist/tools/security-report-handler.js +66 -0
- package/dist/tools/security-report-handler.js.map +1 -0
- package/dist/tools/token-usage-handler.d.ts +15 -0
- package/dist/tools/token-usage-handler.d.ts.map +1 -0
- package/dist/tools/token-usage-handler.js +53 -0
- package/dist/tools/token-usage-handler.js.map +1 -0
- package/dist/tools/worker-status-handler.d.ts +3 -0
- package/dist/tools/worker-status-handler.d.ts.map +1 -0
- package/dist/tools/worker-status-handler.js +93 -0
- package/dist/tools/worker-status-handler.js.map +1 -0
- package/dist/types/delete.d.ts +68 -0
- package/dist/types/delete.d.ts.map +1 -0
- package/dist/types/delete.js +3 -0
- package/dist/types/delete.js.map +1 -0
- package/dist/types/github.d.ts +156 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/github.js +11 -0
- package/dist/types/github.js.map +1 -0
- package/dist/types/ide.d.ts +70 -0
- package/dist/types/ide.d.ts.map +1 -0
- package/dist/types/ide.js +3 -0
- package/dist/types/ide.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/llm-providers.d.ts +140 -0
- package/dist/types/llm-providers.d.ts.map +1 -0
- package/dist/types/llm-providers.js +3 -0
- package/dist/types/llm-providers.js.map +1 -0
- package/dist/types/orchestration-runtime.d.ts +198 -0
- package/dist/types/orchestration-runtime.d.ts.map +1 -0
- package/dist/types/orchestration-runtime.js +4 -0
- package/dist/types/orchestration-runtime.js.map +1 -0
- package/dist/types/plugins.d.ts +144 -0
- package/dist/types/plugins.d.ts.map +1 -0
- package/dist/types/plugins.js +3 -0
- package/dist/types/plugins.js.map +1 -0
- package/dist/types/project/agent.d.ts +12 -0
- package/dist/types/project/agent.d.ts.map +1 -0
- package/dist/types/project/agent.js +3 -0
- package/dist/types/project/agent.js.map +1 -0
- package/dist/types/project/architecture-detection.d.ts +23 -0
- package/dist/types/project/architecture-detection.d.ts.map +1 -0
- package/dist/types/project/architecture-detection.js +2 -0
- package/dist/types/project/architecture-detection.js.map +1 -0
- package/dist/types/project/config-metrics.d.ts +29 -0
- package/dist/types/project/config-metrics.d.ts.map +1 -0
- package/dist/types/project/config-metrics.js +2 -0
- package/dist/types/project/config-metrics.js.map +1 -0
- package/dist/types/project/constitution.d.ts +31 -0
- package/dist/types/project/constitution.d.ts.map +1 -0
- package/dist/types/project/constitution.js +3 -0
- package/dist/types/project/constitution.js.map +1 -0
- package/dist/types/project/core.d.ts +18 -163
- package/dist/types/project/core.d.ts.map +1 -1
- package/dist/types/project/core.js +7 -1
- package/dist/types/project/core.js.map +1 -1
- package/dist/types/project/mfe-detection.d.ts +18 -0
- package/dist/types/project/mfe-detection.d.ts.map +1 -0
- package/dist/types/project/mfe-detection.js +3 -0
- package/dist/types/project/mfe-detection.js.map +1 -0
- package/dist/types/project/planu-config.d.ts +55 -0
- package/dist/types/project/planu-config.d.ts.map +1 -0
- package/dist/types/project/planu-config.js +2 -0
- package/dist/types/project/planu-config.js.map +1 -0
- package/dist/types/runtime-security.d.ts +110 -0
- package/dist/types/runtime-security.d.ts.map +1 -0
- package/dist/types/runtime-security.js +4 -0
- package/dist/types/runtime-security.js.map +1 -0
- package/dist/types/session.d.ts +82 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +3 -0
- package/dist/types/session.js.map +1 -0
- package/dist/types/token-optimization.d.ts +121 -0
- package/dist/types/token-optimization.d.ts.map +1 -0
- package/dist/types/token-optimization.js +3 -0
- package/dist/types/token-optimization.js.map +1 -0
- package/dist/types/workers.d.ts +132 -0
- package/dist/types/workers.d.ts.map +1 -0
- package/dist/types/workers.js +3 -0
- package/dist/types/workers.js.map +1 -0
- package/package.json +1 -1
- package/src/config/ide-registry.json +204 -0
- package/src/config/injection-patterns.json +30 -0
- package/src/config/known-cves.json +41 -0
- package/src/config/license-plans.json +26 -2
- package/src/config/llm-providers.json +198 -0
- package/src/config/model-equivalences.json +41 -0
- package/src/config/model-language-affinity.json +16 -0
- package/src/config/orchestration-templates.json +76 -0
- package/src/config/orchestration-topologies.json +36 -0
- package/src/config/plugin-marketplace.json +59 -0
- package/src/config/security-runtime-config.json +26 -0
- package/src/config/workers-registry.json +100 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"topologies": {
|
|
3
|
+
"mesh": {
|
|
4
|
+
"id": "mesh",
|
|
5
|
+
"name": "Mesh (All-to-All)",
|
|
6
|
+
"description": "All agents work in parallel without a central coordinator. Results are reconciled at the end.",
|
|
7
|
+
"maxAgents": 10,
|
|
8
|
+
"supportsFailFast": true,
|
|
9
|
+
"bestFor": ["code-review", "parallel-testing", "independent-modules"]
|
|
10
|
+
},
|
|
11
|
+
"hierarchical": {
|
|
12
|
+
"id": "hierarchical",
|
|
13
|
+
"name": "Hierarchical (Coordinator + Workers)",
|
|
14
|
+
"description": "One coordinator agent decomposes tasks, workers execute. Workers report to coordinator.",
|
|
15
|
+
"maxAgents": 8,
|
|
16
|
+
"supportsFailFast": true,
|
|
17
|
+
"bestFor": ["feature-build", "spec-implementation", "large-refactors"]
|
|
18
|
+
},
|
|
19
|
+
"pipeline": {
|
|
20
|
+
"id": "pipeline",
|
|
21
|
+
"name": "Pipeline (Sequential Stages)",
|
|
22
|
+
"description": "Agents execute in sequence. Output of each stage becomes input for the next.",
|
|
23
|
+
"maxAgents": 5,
|
|
24
|
+
"supportsFailFast": true,
|
|
25
|
+
"bestFor": ["migrations", "staged-processing", "build-chains"]
|
|
26
|
+
},
|
|
27
|
+
"star": {
|
|
28
|
+
"id": "star",
|
|
29
|
+
"name": "Star (Hub-Spoke)",
|
|
30
|
+
"description": "One hub agent coordinates N spoke agents. Spokes report only to the hub.",
|
|
31
|
+
"maxAgents": 8,
|
|
32
|
+
"supportsFailFast": true,
|
|
33
|
+
"bestFor": ["security-audit", "multi-module-analysis", "distributed-testing"]
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"marketplace": [
|
|
3
|
+
{
|
|
4
|
+
"id": "healthcare-templates",
|
|
5
|
+
"name": "Healthcare Spec Templates",
|
|
6
|
+
"description": "HIPAA-compliant spec templates for healthcare applications. Includes patient data handling, EHR integration, and clinical workflow patterns.",
|
|
7
|
+
"author": "planu-community",
|
|
8
|
+
"repository": "https://github.com/planu-community/healthcare-templates",
|
|
9
|
+
"version": "1.0.0",
|
|
10
|
+
"downloads": 0,
|
|
11
|
+
"rating": 0,
|
|
12
|
+
"tags": ["healthcare", "hipaa", "templates", "compliance"]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "fintech-compliance",
|
|
16
|
+
"name": "Fintech Compliance Analyzer",
|
|
17
|
+
"description": "Analyzes specs and code for PCI-DSS, SOX, and financial regulation compliance. Detects missing security controls and audit trails.",
|
|
18
|
+
"author": "planu-community",
|
|
19
|
+
"repository": "https://github.com/planu-community/fintech-compliance",
|
|
20
|
+
"version": "1.0.0",
|
|
21
|
+
"downloads": 0,
|
|
22
|
+
"rating": 0,
|
|
23
|
+
"tags": ["fintech", "compliance", "pci-dss", "analyzer", "security"]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "gaming-specs",
|
|
27
|
+
"name": "Gaming Spec Templates",
|
|
28
|
+
"description": "Spec templates for game development: multiplayer networking, game state management, asset pipelines, and platform-specific builds.",
|
|
29
|
+
"author": "planu-community",
|
|
30
|
+
"repository": "https://github.com/planu-community/gaming-specs",
|
|
31
|
+
"version": "1.0.0",
|
|
32
|
+
"downloads": 0,
|
|
33
|
+
"rating": 0,
|
|
34
|
+
"tags": ["gaming", "templates", "multiplayer", "gamedev"]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "api-security-analyzer",
|
|
38
|
+
"name": "API Security Analyzer",
|
|
39
|
+
"description": "Detects OWASP API Top 10 vulnerabilities in specs and API definitions. Supports REST, GraphQL, and gRPC across all languages.",
|
|
40
|
+
"author": "planu-community",
|
|
41
|
+
"repository": "https://github.com/planu-community/api-security-analyzer",
|
|
42
|
+
"version": "1.0.0",
|
|
43
|
+
"downloads": 0,
|
|
44
|
+
"rating": 0,
|
|
45
|
+
"tags": ["security", "api", "owasp", "analyzer", "rest", "graphql"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "mobile-platform-templates",
|
|
49
|
+
"name": "Mobile Platform Templates",
|
|
50
|
+
"description": "Spec templates for mobile development across iOS (Swift/SwiftUI), Android (Kotlin/Compose), Flutter, and React Native.",
|
|
51
|
+
"author": "planu-community",
|
|
52
|
+
"repository": "https://github.com/planu-community/mobile-platform-templates",
|
|
53
|
+
"version": "1.0.0",
|
|
54
|
+
"downloads": 0,
|
|
55
|
+
"rating": 0,
|
|
56
|
+
"tags": ["mobile", "ios", "android", "flutter", "react-native", "templates"]
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"level": "standard",
|
|
3
|
+
"rateLimits": {
|
|
4
|
+
"read": {
|
|
5
|
+
"maxTokens": 60,
|
|
6
|
+
"refillRatePerSecond": 1,
|
|
7
|
+
"burstMultiplier": 2,
|
|
8
|
+
"burstDurationMs": 5000
|
|
9
|
+
},
|
|
10
|
+
"write": {
|
|
11
|
+
"maxTokens": 30,
|
|
12
|
+
"refillRatePerSecond": 0.5,
|
|
13
|
+
"burstMultiplier": 2,
|
|
14
|
+
"burstDurationMs": 5000
|
|
15
|
+
},
|
|
16
|
+
"destructive": {
|
|
17
|
+
"maxTokens": 10,
|
|
18
|
+
"refillRatePerSecond": 0.167,
|
|
19
|
+
"burstMultiplier": 2,
|
|
20
|
+
"burstDurationMs": 5000
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"allowedDirectories": [],
|
|
24
|
+
"customInjectionPatterns": [],
|
|
25
|
+
"disabledCheckers": []
|
|
26
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"workers": [
|
|
3
|
+
{
|
|
4
|
+
"name": "test-gaps",
|
|
5
|
+
"description": "Detects source files without corresponding test files across TypeScript, Python, Go, Rust, and Java projects",
|
|
6
|
+
"trigger": {
|
|
7
|
+
"type": "file-change",
|
|
8
|
+
"patterns": ["**/*.ts", "**/*.py", "**/*.go", "**/*.rs", "**/*.java", "**/*.kt"]
|
|
9
|
+
},
|
|
10
|
+
"handler": "handlers/test-gaps",
|
|
11
|
+
"priority": 7,
|
|
12
|
+
"cooldownMs": 30000,
|
|
13
|
+
"enabled": true,
|
|
14
|
+
"tier": "free"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "security-audit",
|
|
18
|
+
"description": "Scans for hardcoded secrets, unsafe eval/exec, SQL injection patterns, and insecure defaults",
|
|
19
|
+
"trigger": {
|
|
20
|
+
"type": "file-change",
|
|
21
|
+
"patterns": [
|
|
22
|
+
"**/*.ts",
|
|
23
|
+
"**/*.js",
|
|
24
|
+
"**/*.py",
|
|
25
|
+
"**/*.go",
|
|
26
|
+
"**/*.rs",
|
|
27
|
+
"**/*.java",
|
|
28
|
+
"**/*.env",
|
|
29
|
+
"**/*.yml",
|
|
30
|
+
"**/*.yaml"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"handler": "handlers/security-audit",
|
|
34
|
+
"priority": 9,
|
|
35
|
+
"cooldownMs": 30000,
|
|
36
|
+
"enabled": true,
|
|
37
|
+
"tier": "free"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "optimization",
|
|
41
|
+
"description": "Detects large files, long functions, high cyclomatic complexity, and potential circular imports",
|
|
42
|
+
"trigger": {
|
|
43
|
+
"type": "file-change",
|
|
44
|
+
"patterns": ["**/*.ts", "**/*.js", "**/*.py", "**/*.go", "**/*.rs", "**/*.java"]
|
|
45
|
+
},
|
|
46
|
+
"handler": "handlers/optimization",
|
|
47
|
+
"priority": 5,
|
|
48
|
+
"cooldownMs": 30000,
|
|
49
|
+
"enabled": true,
|
|
50
|
+
"tier": "free"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "code-map",
|
|
54
|
+
"description": "Builds file/export dependency map with directory tree, entry points, and import graph",
|
|
55
|
+
"trigger": {
|
|
56
|
+
"type": "file-change",
|
|
57
|
+
"patterns": ["**/*.ts", "**/*.js", "**/*.py", "**/*.go", "**/*.rs", "**/*.java"]
|
|
58
|
+
},
|
|
59
|
+
"handler": "handlers/code-map",
|
|
60
|
+
"priority": 4,
|
|
61
|
+
"cooldownMs": 60000,
|
|
62
|
+
"enabled": true,
|
|
63
|
+
"tier": "pro"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "documentation",
|
|
67
|
+
"description": "Finds exported functions, classes, and types without JSDoc, docstrings, or doc comments",
|
|
68
|
+
"trigger": {
|
|
69
|
+
"type": "file-change",
|
|
70
|
+
"patterns": ["**/*.ts", "**/*.js", "**/*.py", "**/*.go", "**/*.rs", "**/*.java"]
|
|
71
|
+
},
|
|
72
|
+
"handler": "handlers/documentation",
|
|
73
|
+
"priority": 3,
|
|
74
|
+
"cooldownMs": 60000,
|
|
75
|
+
"enabled": true,
|
|
76
|
+
"tier": "pro"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "dependency-health",
|
|
80
|
+
"description": "Analyzes package.json, pyproject.toml, go.mod, Cargo.toml, and pom.xml for unpinned or risky dependencies",
|
|
81
|
+
"trigger": {
|
|
82
|
+
"type": "file-change",
|
|
83
|
+
"patterns": [
|
|
84
|
+
"**/package.json",
|
|
85
|
+
"**/pyproject.toml",
|
|
86
|
+
"**/requirements.txt",
|
|
87
|
+
"**/go.mod",
|
|
88
|
+
"**/Cargo.toml",
|
|
89
|
+
"**/pom.xml",
|
|
90
|
+
"**/build.gradle"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"handler": "handlers/dependency-health",
|
|
94
|
+
"priority": 6,
|
|
95
|
+
"cooldownMs": 60000,
|
|
96
|
+
"enabled": true,
|
|
97
|
+
"tier": "free"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AuditEntry, DeleteAction, DeleteItemType } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Append an audit entry. Returns the generated audit ID.
|
|
4
|
+
* The audit trail is append-only — entries are never modified or removed.
|
|
5
|
+
*/
|
|
6
|
+
export declare function appendAuditEntry(projectId: string, action: DeleteAction, itemType: DeleteItemType, itemId: string, details: Record<string, unknown>): Promise<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Read all audit entries for a project.
|
|
9
|
+
*/
|
|
10
|
+
export declare function getAuditEntries(projectId: string): Promise<AuditEntry[]>;
|
|
11
|
+
//# sourceMappingURL=audit-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-logger.d.ts","sourceRoot":"","sources":["../../../src/engine/deleter/audit-logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQrF;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAE9E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { readJson, writeJson, projectDataDir } from '../../storage/base-store.js';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
function auditFile(projectId) {
|
|
4
|
+
return `${projectDataDir(projectId)}/audit.json`;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Append an audit entry. Returns the generated audit ID.
|
|
8
|
+
* The audit trail is append-only — entries are never modified or removed.
|
|
9
|
+
*/
|
|
10
|
+
export async function appendAuditEntry(projectId, action, itemType, itemId, details) {
|
|
11
|
+
const entries = await readJson(auditFile(projectId), []);
|
|
12
|
+
const entry = {
|
|
13
|
+
id: randomUUID(),
|
|
14
|
+
timestamp: new Date().toISOString(),
|
|
15
|
+
action,
|
|
16
|
+
itemType,
|
|
17
|
+
itemId,
|
|
18
|
+
details,
|
|
19
|
+
};
|
|
20
|
+
entries.push(entry);
|
|
21
|
+
await writeJson(auditFile(projectId), entries);
|
|
22
|
+
return entry.id;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Read all audit entries for a project.
|
|
26
|
+
*/
|
|
27
|
+
export async function getAuditEntries(projectId) {
|
|
28
|
+
return readJson(auditFile(projectId), []);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=audit-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../../src/engine/deleter/audit-logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,SAAS,SAAS,CAAC,SAAiB;IAClC,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,MAAoB,EACpB,QAAwB,EACxB,MAAc,EACd,OAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAe,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,KAAK,GAAe;QACxB,EAAE,EAAE,UAAU,EAAE;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM;QACN,QAAQ;QACR,MAAM;QACN,OAAO;KACR,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,EAAE,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB;IACrD,OAAO,QAAQ,CAAe,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DeleteResult } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Check if any specs reference the given specId as a dependency.
|
|
4
|
+
* Returns a list of dependent spec IDs for cascade awareness.
|
|
5
|
+
*/
|
|
6
|
+
export declare function checkSpecDependencies(projectId: string, specId: string): Promise<string[]>;
|
|
7
|
+
/**
|
|
8
|
+
* Preview what would be deleted for a spec.
|
|
9
|
+
*/
|
|
10
|
+
export declare function previewDeleteSpec(projectId: string, specIds: string[]): Promise<DeleteResult>;
|
|
11
|
+
/**
|
|
12
|
+
* Execute spec deletion (soft or hard).
|
|
13
|
+
*/
|
|
14
|
+
export declare function executeDeleteSpec(projectId: string, specIds: string[], force: boolean): Promise<DeleteResult>;
|
|
15
|
+
/**
|
|
16
|
+
* Preview what would be deleted for a project.
|
|
17
|
+
*/
|
|
18
|
+
export declare function previewDeleteProject(projectId: string): Promise<DeleteResult>;
|
|
19
|
+
/**
|
|
20
|
+
* Execute project deletion (soft or hard).
|
|
21
|
+
*/
|
|
22
|
+
export declare function executeDeleteProject(projectId: string, force: boolean): Promise<DeleteResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Execute pattern deletion (soft or hard).
|
|
25
|
+
*/
|
|
26
|
+
export declare function executeDeletePattern(projectId: string, patternIds: string[], force: boolean): Promise<DeleteResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Preview what would be deleted for patterns.
|
|
29
|
+
*/
|
|
30
|
+
export declare function previewDeletePattern(projectId: string, patternIds: string[]): Promise<DeleteResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Execute decision deletion.
|
|
33
|
+
*/
|
|
34
|
+
export declare function executeDeleteDecision(projectId: string, decisionIds: string[], force: boolean): Promise<DeleteResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Preview what would be deleted for decisions.
|
|
37
|
+
*/
|
|
38
|
+
export declare function previewDeleteDecision(projectId: string, decisionIds: string[]): Promise<DeleteResult>;
|
|
39
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/engine/deleter/core.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAUzD;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAahG;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,YAAY,CAAC,CAkBvB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,YAAY,CAAC,CAkDvB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBnF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,YAAY,CAAC,CAwCvB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,YAAY,CAAC,CAqCvB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,YAAY,CAAC,CA8CvB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,YAAY,CAAC,CAevB"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { writeJson, projectDataDir } from '../../storage/base-store.js';
|
|
2
|
+
import * as specStore from '../../storage/spec-store.js';
|
|
3
|
+
import * as patternStore from '../../storage/pattern-store.js';
|
|
4
|
+
import * as decisionStore from '../../storage/decision-store.js';
|
|
5
|
+
import { moveToTrash, moveDataToTrash, countFiles, pathExists } from '../../storage/trash-store.js';
|
|
6
|
+
import { appendAuditEntry } from './audit-logger.js';
|
|
7
|
+
import { rm, mkdir, cp } from 'node:fs/promises';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
/**
|
|
10
|
+
* Check if any specs reference the given specId as a dependency.
|
|
11
|
+
* Returns a list of dependent spec IDs for cascade awareness.
|
|
12
|
+
*/
|
|
13
|
+
export async function checkSpecDependencies(projectId, specId) {
|
|
14
|
+
const specs = await specStore.listSpecs(projectId);
|
|
15
|
+
const dependents = [];
|
|
16
|
+
for (const s of specs) {
|
|
17
|
+
if (s.id === specId) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const deps = s.dependencies;
|
|
21
|
+
if (Array.isArray(deps) && deps.includes(specId)) {
|
|
22
|
+
dependents.push(s.id);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return dependents;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Preview what would be deleted for a spec.
|
|
29
|
+
*/
|
|
30
|
+
export async function previewDeleteSpec(projectId, specIds) {
|
|
31
|
+
const warnings = [];
|
|
32
|
+
let itemsAffected = 0;
|
|
33
|
+
for (const specId of specIds) {
|
|
34
|
+
const spec = await specStore.getSpec(projectId, specId);
|
|
35
|
+
if (!spec) {
|
|
36
|
+
warnings.push(`Spec "${specId}" not found.`);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
itemsAffected += 1;
|
|
40
|
+
const deps = await checkSpecDependencies(projectId, specId);
|
|
41
|
+
if (deps.length > 0) {
|
|
42
|
+
warnings.push(`Spec "${specId}" is referenced by: ${deps.join(', ')}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return { success: true, action: 'preview', itemsAffected, warnings };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Execute spec deletion (soft or hard).
|
|
49
|
+
*/
|
|
50
|
+
export async function executeDeleteSpec(projectId, specIds, force) {
|
|
51
|
+
const warnings = [];
|
|
52
|
+
const action = force ? 'hard_delete' : 'soft_delete';
|
|
53
|
+
// Validate all specs exist first (atomic check)
|
|
54
|
+
for (const specId of specIds) {
|
|
55
|
+
const spec = await specStore.getSpec(projectId, specId);
|
|
56
|
+
if (!spec) {
|
|
57
|
+
return {
|
|
58
|
+
success: false,
|
|
59
|
+
action,
|
|
60
|
+
itemsAffected: 0,
|
|
61
|
+
warnings: [`Spec "${specId}" not found. No items were deleted (atomic rollback).`],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// Check dependencies for all
|
|
66
|
+
for (const specId of specIds) {
|
|
67
|
+
const deps = await checkSpecDependencies(projectId, specId);
|
|
68
|
+
if (deps.length > 0) {
|
|
69
|
+
warnings.push(`Spec "${specId}" is referenced by: ${deps.join(', ')}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
let lastAuditId;
|
|
73
|
+
// Execute deletion for each spec
|
|
74
|
+
for (const specId of specIds) {
|
|
75
|
+
const specDir = join(projectDataDir(projectId), 'specs', specId);
|
|
76
|
+
const dirExists = await pathExists(specDir);
|
|
77
|
+
if (!force && dirExists) {
|
|
78
|
+
await moveToTrash(projectId, 'spec', specId, specDir, { specId });
|
|
79
|
+
}
|
|
80
|
+
else if (dirExists) {
|
|
81
|
+
await rm(specDir, { recursive: true, force: true });
|
|
82
|
+
}
|
|
83
|
+
await specStore.deleteSpec(projectId, specId);
|
|
84
|
+
lastAuditId = await appendAuditEntry(projectId, action, 'spec', specId, { specIds });
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
success: true,
|
|
88
|
+
action,
|
|
89
|
+
itemsAffected: specIds.length,
|
|
90
|
+
warnings,
|
|
91
|
+
auditId: lastAuditId,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Preview what would be deleted for a project.
|
|
96
|
+
*/
|
|
97
|
+
export async function previewDeleteProject(projectId) {
|
|
98
|
+
const dataDir = projectDataDir(projectId);
|
|
99
|
+
const exists = await pathExists(dataDir);
|
|
100
|
+
if (!exists) {
|
|
101
|
+
return {
|
|
102
|
+
success: false,
|
|
103
|
+
action: 'preview',
|
|
104
|
+
itemsAffected: 0,
|
|
105
|
+
warnings: ['Project data directory not found.'],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const fileCount = await countFiles(dataDir);
|
|
109
|
+
return {
|
|
110
|
+
success: true,
|
|
111
|
+
action: 'preview',
|
|
112
|
+
itemsAffected: fileCount,
|
|
113
|
+
warnings: [`This will delete ${String(fileCount)} files in ${dataDir}.`],
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Execute project deletion (soft or hard).
|
|
118
|
+
*/
|
|
119
|
+
export async function executeDeleteProject(projectId, force) {
|
|
120
|
+
const dataDir = projectDataDir(projectId);
|
|
121
|
+
const exists = await pathExists(dataDir);
|
|
122
|
+
if (!exists) {
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
action: force ? 'hard_delete' : 'soft_delete',
|
|
126
|
+
itemsAffected: 0,
|
|
127
|
+
warnings: ['Project data directory not found.'],
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
const fileCount = await countFiles(dataDir);
|
|
131
|
+
const action = force ? 'hard_delete' : 'soft_delete';
|
|
132
|
+
if (!force) {
|
|
133
|
+
// For soft delete of a project, move the entire directory
|
|
134
|
+
// Use a global trash since project dir itself is being deleted
|
|
135
|
+
const globalTrashDir = 'data/projects/.trash';
|
|
136
|
+
const timestamp = Date.now();
|
|
137
|
+
const trashSubdir = `${String(timestamp)}-project-${projectId}`;
|
|
138
|
+
const destPath = join(globalTrashDir, trashSubdir);
|
|
139
|
+
await mkdir(destPath, { recursive: true });
|
|
140
|
+
await cp(dataDir, destPath, { recursive: true });
|
|
141
|
+
await rm(dataDir, { recursive: true, force: true });
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
await rm(dataDir, { recursive: true, force: true });
|
|
145
|
+
}
|
|
146
|
+
const auditId = force
|
|
147
|
+
? undefined
|
|
148
|
+
: await appendAuditEntry(projectId, action, 'project', projectId, { fileCount });
|
|
149
|
+
return {
|
|
150
|
+
success: true,
|
|
151
|
+
action,
|
|
152
|
+
itemsAffected: fileCount,
|
|
153
|
+
warnings: [],
|
|
154
|
+
auditId,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Execute pattern deletion (soft or hard).
|
|
159
|
+
*/
|
|
160
|
+
export async function executeDeletePattern(projectId, patternIds, force) {
|
|
161
|
+
const action = force ? 'hard_delete' : 'soft_delete';
|
|
162
|
+
// Validate all patterns exist first (atomic)
|
|
163
|
+
for (const patternId of patternIds) {
|
|
164
|
+
const pattern = await patternStore.getPattern(projectId, patternId);
|
|
165
|
+
if (!pattern) {
|
|
166
|
+
return {
|
|
167
|
+
success: false,
|
|
168
|
+
action,
|
|
169
|
+
itemsAffected: 0,
|
|
170
|
+
warnings: [`Pattern "${patternId}" not found. No items were deleted (atomic rollback).`],
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
let lastAuditId;
|
|
175
|
+
for (const patternId of patternIds) {
|
|
176
|
+
const pattern = await patternStore.getPattern(projectId, patternId);
|
|
177
|
+
if (!force && pattern) {
|
|
178
|
+
await moveDataToTrash(projectId, 'pattern', patternId, pattern, { patternId });
|
|
179
|
+
}
|
|
180
|
+
await patternStore.deletePattern(projectId, patternId);
|
|
181
|
+
lastAuditId = await appendAuditEntry(projectId, action, 'pattern', patternId, { patternIds });
|
|
182
|
+
}
|
|
183
|
+
return {
|
|
184
|
+
success: true,
|
|
185
|
+
action,
|
|
186
|
+
itemsAffected: patternIds.length,
|
|
187
|
+
warnings: [],
|
|
188
|
+
auditId: lastAuditId,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Preview what would be deleted for patterns.
|
|
193
|
+
*/
|
|
194
|
+
export async function previewDeletePattern(projectId, patternIds) {
|
|
195
|
+
const warnings = [];
|
|
196
|
+
let itemsAffected = 0;
|
|
197
|
+
for (const patternId of patternIds) {
|
|
198
|
+
const pattern = await patternStore.getPattern(projectId, patternId);
|
|
199
|
+
if (!pattern) {
|
|
200
|
+
warnings.push(`Pattern "${patternId}" not found.`);
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
itemsAffected += 1;
|
|
204
|
+
}
|
|
205
|
+
return { success: true, action: 'preview', itemsAffected, warnings };
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Execute decision deletion.
|
|
209
|
+
*/
|
|
210
|
+
export async function executeDeleteDecision(projectId, decisionIds, force) {
|
|
211
|
+
const action = force ? 'hard_delete' : 'soft_delete';
|
|
212
|
+
const decisions = await decisionStore.getDecisions(projectId);
|
|
213
|
+
// Validate all decisions exist first (atomic)
|
|
214
|
+
for (const decisionId of decisionIds) {
|
|
215
|
+
const decision = decisions.find((d) => d.id === decisionId);
|
|
216
|
+
if (!decision) {
|
|
217
|
+
return {
|
|
218
|
+
success: false,
|
|
219
|
+
action,
|
|
220
|
+
itemsAffected: 0,
|
|
221
|
+
warnings: [`Decision "${decisionId}" not found. No items were deleted (atomic rollback).`],
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
let lastAuditId;
|
|
226
|
+
for (const decisionId of decisionIds) {
|
|
227
|
+
const decision = decisions.find((d) => d.id === decisionId);
|
|
228
|
+
if (!force && decision) {
|
|
229
|
+
await moveDataToTrash(projectId, 'decision', decisionId, decision, { decisionId });
|
|
230
|
+
}
|
|
231
|
+
// Remove from decisions array and save
|
|
232
|
+
const allDecisions = await decisionStore.getDecisions(projectId);
|
|
233
|
+
const filtered = allDecisions.filter((d) => d.id !== decisionId);
|
|
234
|
+
await writeJson(`${projectDataDir(projectId)}/decisions.json`, {
|
|
235
|
+
decisions: filtered,
|
|
236
|
+
lastUpdated: new Date().toISOString(),
|
|
237
|
+
});
|
|
238
|
+
lastAuditId = await appendAuditEntry(projectId, action, 'decision', decisionId, {
|
|
239
|
+
decisionIds,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return {
|
|
243
|
+
success: true,
|
|
244
|
+
action,
|
|
245
|
+
itemsAffected: decisionIds.length,
|
|
246
|
+
warnings: [],
|
|
247
|
+
auditId: lastAuditId,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Preview what would be deleted for decisions.
|
|
252
|
+
*/
|
|
253
|
+
export async function previewDeleteDecision(projectId, decisionIds) {
|
|
254
|
+
const decisions = await decisionStore.getDecisions(projectId);
|
|
255
|
+
const warnings = [];
|
|
256
|
+
let itemsAffected = 0;
|
|
257
|
+
for (const decisionId of decisionIds) {
|
|
258
|
+
const decision = decisions.find((d) => d.id === decisionId);
|
|
259
|
+
if (!decision) {
|
|
260
|
+
warnings.push(`Decision "${decisionId}" not found.`);
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
itemsAffected += 1;
|
|
264
|
+
}
|
|
265
|
+
return { success: true, action: 'preview', itemsAffected, warnings };
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/engine/deleter/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TrashItem, DeleteResult, TrashAction } from '../../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* List all items in trash for a project.
|
|
4
|
+
*/
|
|
5
|
+
export declare function listTrash(projectId: string): Promise<TrashItem[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Restore a specific item from trash.
|
|
8
|
+
*/
|
|
9
|
+
export declare function restoreItem(projectId: string, itemId: string): Promise<DeleteResult>;
|
|
10
|
+
/**
|
|
11
|
+
* Purge items from trash (specific item or all).
|
|
12
|
+
*/
|
|
13
|
+
export declare function purgeTrash(projectId: string, itemId?: string): Promise<DeleteResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Execute a trash management action.
|
|
16
|
+
*/
|
|
17
|
+
export declare function executeTrashAction(projectId: string, action: TrashAction, itemId?: string): Promise<DeleteResult | TrashItem[]>;
|
|
18
|
+
//# sourceMappingURL=trash-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trash-manager.d.ts","sourceRoot":"","sources":["../../../src/engine/deleter/trash-manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASjF;;GAEG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAEvE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAsB1F;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA2C1F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,GAAG,SAAS,EAAE,CAAC,CAkBrC"}
|