@planu/cli 0.30.1 → 0.31.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/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/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,94 @@
|
|
|
1
|
+
// tools/agent-swarm-status.ts — Handler for agent_swarm_status MCP tool (SPEC-079 AC-11)
|
|
2
|
+
import { getStatus, listSessions } from '../engine/orchestrator/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Handle the agent_swarm_status tool invocation.
|
|
5
|
+
* Returns status of orchestration sessions, optionally filtered.
|
|
6
|
+
*/
|
|
7
|
+
export function handleAgentSwarmStatus(input) {
|
|
8
|
+
// If sessionId is provided, return that specific session
|
|
9
|
+
if (input.sessionId) {
|
|
10
|
+
return getSessionStatus(input.sessionId, input.agentId);
|
|
11
|
+
}
|
|
12
|
+
// Otherwise, list all sessions with optional filter
|
|
13
|
+
return listSessionsStatus(input.status, input.agentId);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get status of a specific session.
|
|
17
|
+
*/
|
|
18
|
+
function getSessionStatus(sessionId, agentIdFilter) {
|
|
19
|
+
const session = getStatus(sessionId);
|
|
20
|
+
if (!session) {
|
|
21
|
+
return {
|
|
22
|
+
content: [{ type: 'text', text: `Error: Session '${sessionId}' not found.` }],
|
|
23
|
+
isError: true,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
const lines = [
|
|
27
|
+
'## Orchestration Session Status',
|
|
28
|
+
'',
|
|
29
|
+
`**Session**: ${session.id}`,
|
|
30
|
+
`**Topology**: ${session.topology}`,
|
|
31
|
+
`**Status**: ${session.status}`,
|
|
32
|
+
`**Started**: ${session.startedAt}`,
|
|
33
|
+
session.completedAt ? `**Completed**: ${session.completedAt}` : '',
|
|
34
|
+
'',
|
|
35
|
+
'### Agents',
|
|
36
|
+
];
|
|
37
|
+
const agents = agentIdFilter
|
|
38
|
+
? session.agents.filter((a) => a.agentId === agentIdFilter)
|
|
39
|
+
: session.agents;
|
|
40
|
+
for (const agent of agents) {
|
|
41
|
+
lines.push(`- **${agent.agentId}**: ${agent.status} (retries: ${String(agent.retryCount)})`);
|
|
42
|
+
if (agent.tokensUsed) {
|
|
43
|
+
lines.push(` - Tokens: ${String(agent.tokensUsed)}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
lines.push('', '### Tasks');
|
|
47
|
+
for (const task of session.tasks) {
|
|
48
|
+
if (agentIdFilter && task.agentId !== agentIdFilter) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
lines.push(`- **${task.taskId}** → ${task.agentId}: priority ${String(task.priority)}`);
|
|
52
|
+
}
|
|
53
|
+
// Metrics
|
|
54
|
+
const completed = session.agents.filter((a) => a.status === 'completed').length;
|
|
55
|
+
const failed = session.agents.filter((a) => a.status === 'failed').length;
|
|
56
|
+
const total = session.agents.length;
|
|
57
|
+
const successRate = total > 0 ? Math.round((completed / total) * 100) : 0;
|
|
58
|
+
lines.push('', '### Metrics');
|
|
59
|
+
lines.push(`- Success rate: ${String(successRate)}%`);
|
|
60
|
+
lines.push(`- Completed: ${String(completed)}/${String(total)}`);
|
|
61
|
+
lines.push(`- Failed: ${String(failed)}/${String(total)}`);
|
|
62
|
+
const totalTokens = session.agents.reduce((sum, a) => sum + (a.tokensUsed ?? 0), 0);
|
|
63
|
+
if (totalTokens > 0) {
|
|
64
|
+
lines.push(`- Total tokens: ${String(totalTokens)}`);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
content: [{ type: 'text', text: lines.filter(Boolean).join('\n') }],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* List all sessions with optional status filter.
|
|
72
|
+
*/
|
|
73
|
+
function listSessionsStatus(statusFilter, agentIdFilter) {
|
|
74
|
+
let allSessions = listSessions(statusFilter);
|
|
75
|
+
if (agentIdFilter) {
|
|
76
|
+
allSessions = allSessions.filter((s) => s.agents.some((a) => a.agentId === agentIdFilter));
|
|
77
|
+
}
|
|
78
|
+
if (allSessions.length === 0) {
|
|
79
|
+
const filterMsg = statusFilter ? ` with status '${statusFilter}'` : '';
|
|
80
|
+
return {
|
|
81
|
+
content: [{ type: 'text', text: `No orchestration sessions found${filterMsg}.` }],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const lines = [`## Orchestration Sessions (${String(allSessions.length)})`, ''];
|
|
85
|
+
for (const session of allSessions) {
|
|
86
|
+
const agentCount = session.agents.length;
|
|
87
|
+
const taskCount = session.tasks.length;
|
|
88
|
+
lines.push(`- **${session.id}**: ${session.topology} | ${session.status} | ${String(agentCount)} agents | ${String(taskCount)} tasks | ${session.startedAt}`);
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
content: [{ type: 'text', text: lines.join('\n') }],
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=agent-swarm-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-swarm-status.js","sourceRoot":"","sources":["../../src/tools/agent-swarm-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ConfigureLLMProvidersInput, ToolResult, LLMProviderConfig, LLMProviderDefinition } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Get the current LLM provider configuration.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getCurrentConfig(): LLMProviderConfig;
|
|
6
|
+
/**
|
|
7
|
+
* Get all provider definitions (built-in + custom).
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAllProviderDefinitions(): LLMProviderDefinition[];
|
|
10
|
+
/**
|
|
11
|
+
* Handle the configure_llm_providers tool call.
|
|
12
|
+
*/
|
|
13
|
+
export declare function handleConfigureLLMProviders(args: ConfigureLLMProvidersInput): ToolResult;
|
|
14
|
+
/**
|
|
15
|
+
* Reset config to defaults (for testing).
|
|
16
|
+
*/
|
|
17
|
+
export declare function resetConfig(): void;
|
|
18
|
+
//# sourceMappingURL=configure-llm-providers-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure-llm-providers-handler.d.ts","sourceRoot":"","sources":["../../src/tools/configure-llm-providers-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAW3B;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAEpD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,qBAAqB,EAAE,CAGnE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,0BAA0B,GAAG,UAAU,CAaxF;AAmGD;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAOlC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// tools/configure-llm-providers-handler.ts — Handler for configure_llm_providers tool.
|
|
2
|
+
// SPEC-083 AC-08
|
|
3
|
+
import providersData from '../config/llm-providers.json' with { type: 'json' };
|
|
4
|
+
/** In-memory config state. In production, persisted to data/global/llm-provider-config.json. */
|
|
5
|
+
let currentConfig = {
|
|
6
|
+
providers: providersData.providers.map((p) => p.id),
|
|
7
|
+
failoverOrder: providersData.providers.map((p) => p.id),
|
|
8
|
+
strategy: 'cost-based',
|
|
9
|
+
customProviders: [],
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Get the current LLM provider configuration.
|
|
13
|
+
*/
|
|
14
|
+
export function getCurrentConfig() {
|
|
15
|
+
return { ...currentConfig };
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get all provider definitions (built-in + custom).
|
|
19
|
+
*/
|
|
20
|
+
export function getAllProviderDefinitions() {
|
|
21
|
+
const builtIn = providersData.providers;
|
|
22
|
+
return [...builtIn, ...currentConfig.customProviders];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Handle the configure_llm_providers tool call.
|
|
26
|
+
*/
|
|
27
|
+
export function handleConfigureLLMProviders(args) {
|
|
28
|
+
switch (args.action) {
|
|
29
|
+
case 'add':
|
|
30
|
+
return handleAdd(args);
|
|
31
|
+
case 'remove':
|
|
32
|
+
return handleRemove(args);
|
|
33
|
+
case 'update':
|
|
34
|
+
return handleUpdate(args);
|
|
35
|
+
case 'set_priority':
|
|
36
|
+
return handleSetPriority(args);
|
|
37
|
+
case 'set_strategy':
|
|
38
|
+
return handleSetStrategy(args);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function handleAdd(args) {
|
|
42
|
+
if (!args.provider) {
|
|
43
|
+
return errorResult('Provider definition is required for "add" action.');
|
|
44
|
+
}
|
|
45
|
+
const existing = getAllProviderDefinitions().find((p) => p.id === args.provider?.id);
|
|
46
|
+
if (existing) {
|
|
47
|
+
return errorResult(`Provider "${String(args.provider.id)}" already exists.`);
|
|
48
|
+
}
|
|
49
|
+
currentConfig.customProviders.push(args.provider);
|
|
50
|
+
currentConfig.providers.push(args.provider.id);
|
|
51
|
+
currentConfig.failoverOrder.push(args.provider.id);
|
|
52
|
+
return successResult(`Provider "${args.provider.name}" added successfully.`);
|
|
53
|
+
}
|
|
54
|
+
function handleRemove(args) {
|
|
55
|
+
if (!args.providerId) {
|
|
56
|
+
return errorResult('providerId is required for "remove" action.');
|
|
57
|
+
}
|
|
58
|
+
const remaining = currentConfig.providers.filter((p) => p !== args.providerId);
|
|
59
|
+
if (remaining.length === 0) {
|
|
60
|
+
return errorResult('Cannot remove the last provider. At least 1 must remain configured.');
|
|
61
|
+
}
|
|
62
|
+
currentConfig.providers = remaining;
|
|
63
|
+
currentConfig.failoverOrder = currentConfig.failoverOrder.filter((p) => p !== args.providerId);
|
|
64
|
+
currentConfig.customProviders = currentConfig.customProviders.filter((p) => p.id !== args.providerId);
|
|
65
|
+
return successResult(`Provider "${args.providerId}" removed.`);
|
|
66
|
+
}
|
|
67
|
+
function handleUpdate(args) {
|
|
68
|
+
if (!args.provider) {
|
|
69
|
+
return errorResult('Provider definition is required for "update" action.');
|
|
70
|
+
}
|
|
71
|
+
const idx = currentConfig.customProviders.findIndex((p) => p.id === args.provider?.id);
|
|
72
|
+
if (idx >= 0) {
|
|
73
|
+
currentConfig.customProviders[idx] = args.provider;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// If updating a built-in, add as custom override
|
|
77
|
+
currentConfig.customProviders.push(args.provider);
|
|
78
|
+
}
|
|
79
|
+
return successResult(`Provider "${args.provider.name}" updated.`);
|
|
80
|
+
}
|
|
81
|
+
function handleSetPriority(args) {
|
|
82
|
+
if (!args.failoverOrder || args.failoverOrder.length === 0) {
|
|
83
|
+
return errorResult('failoverOrder is required for "set_priority" action.');
|
|
84
|
+
}
|
|
85
|
+
currentConfig.failoverOrder = args.failoverOrder;
|
|
86
|
+
return successResult(`Failover priority updated: ${args.failoverOrder.join(' > ')}`);
|
|
87
|
+
}
|
|
88
|
+
function handleSetStrategy(args) {
|
|
89
|
+
if (!args.strategy) {
|
|
90
|
+
return errorResult('strategy is required for "set_strategy" action.');
|
|
91
|
+
}
|
|
92
|
+
currentConfig.strategy = args.strategy;
|
|
93
|
+
return successResult(`Load balancing strategy set to "${args.strategy}".`);
|
|
94
|
+
}
|
|
95
|
+
function successResult(message) {
|
|
96
|
+
const lines = [
|
|
97
|
+
`## LLM Provider Configuration`,
|
|
98
|
+
'',
|
|
99
|
+
message,
|
|
100
|
+
'',
|
|
101
|
+
`**Active providers:** ${currentConfig.providers.join(', ')}`,
|
|
102
|
+
`**Failover order:** ${currentConfig.failoverOrder.join(' > ')}`,
|
|
103
|
+
`**Strategy:** ${currentConfig.strategy}`,
|
|
104
|
+
];
|
|
105
|
+
if (currentConfig.customProviders.length > 0) {
|
|
106
|
+
lines.push(`**Custom providers:** ${currentConfig.customProviders.map((p) => p.name).join(', ')}`);
|
|
107
|
+
}
|
|
108
|
+
return { content: [{ type: 'text', text: lines.join('\n') }] };
|
|
109
|
+
}
|
|
110
|
+
function errorResult(message) {
|
|
111
|
+
return {
|
|
112
|
+
content: [{ type: 'text', text: `Error: ${message}` }],
|
|
113
|
+
isError: true,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Reset config to defaults (for testing).
|
|
118
|
+
*/
|
|
119
|
+
export function resetConfig() {
|
|
120
|
+
currentConfig = {
|
|
121
|
+
providers: providersData.providers.map((p) => p.id),
|
|
122
|
+
failoverOrder: providersData.providers.map((p) => p.id),
|
|
123
|
+
strategy: 'cost-based',
|
|
124
|
+
customProviders: [],
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=configure-llm-providers-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure-llm-providers-handler.js","sourceRoot":"","sources":["../../src/tools/configure-llm-providers-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure-workers-handler.d.ts","sourceRoot":"","sources":["../../src/tools/configure-workers-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQjG,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuH7F"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
// tools/configure-workers-handler.ts — Handler for configure_workers tool (SPEC-078 AC-12)
|
|
2
|
+
import { getWorkerEngine } from '../engine/workers/index.js';
|
|
3
|
+
import { updateOverride } from '../storage/worker-store.js';
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Handler
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
export async function handleConfigureWorkers(args) {
|
|
8
|
+
const engine = getWorkerEngine();
|
|
9
|
+
const definitions = engine.getWorkerDefinitions();
|
|
10
|
+
const worker = definitions.find((w) => w.name === args.workerName);
|
|
11
|
+
if (!worker) {
|
|
12
|
+
const available = definitions.map((w) => w.name).join(', ');
|
|
13
|
+
return {
|
|
14
|
+
content: [
|
|
15
|
+
{
|
|
16
|
+
type: 'text',
|
|
17
|
+
text: `Worker "${args.workerName}" not found. Available: ${available}`,
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
isError: true,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const override = {};
|
|
24
|
+
let description = '';
|
|
25
|
+
switch (args.action) {
|
|
26
|
+
case 'enable':
|
|
27
|
+
override.enabled = true;
|
|
28
|
+
description = `Enabled worker "${args.workerName}"`;
|
|
29
|
+
break;
|
|
30
|
+
case 'disable':
|
|
31
|
+
override.enabled = false;
|
|
32
|
+
description = `Disabled worker "${args.workerName}"`;
|
|
33
|
+
break;
|
|
34
|
+
case 'set-cooldown': {
|
|
35
|
+
if (typeof args.value !== 'number' || args.value < 0) {
|
|
36
|
+
return {
|
|
37
|
+
content: [
|
|
38
|
+
{
|
|
39
|
+
type: 'text',
|
|
40
|
+
text: 'set-cooldown requires a non-negative number value (milliseconds).',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
isError: true,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
override.cooldownMs = args.value;
|
|
47
|
+
description = `Set cooldown for "${args.workerName}" to ${String(args.value)}ms`;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
case 'set-priority': {
|
|
51
|
+
if (typeof args.value !== 'number' || args.value < 1 || args.value > 10) {
|
|
52
|
+
return {
|
|
53
|
+
content: [{ type: 'text', text: 'set-priority requires a number between 1 and 10.' }],
|
|
54
|
+
isError: true,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
override.priority = args.value;
|
|
58
|
+
description = `Set priority for "${args.workerName}" to ${String(args.value)}`;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
case 'add-pattern': {
|
|
62
|
+
if (typeof args.value !== 'string' || args.value.length === 0) {
|
|
63
|
+
return {
|
|
64
|
+
content: [{ type: 'text', text: 'add-pattern requires a string value (glob pattern).' }],
|
|
65
|
+
isError: true,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const currentPatterns = worker.trigger.patterns ?? [];
|
|
69
|
+
if (currentPatterns.includes(args.value)) {
|
|
70
|
+
return {
|
|
71
|
+
content: [
|
|
72
|
+
{
|
|
73
|
+
type: 'text',
|
|
74
|
+
text: `Pattern "${args.value}" already exists for "${args.workerName}".`,
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
override.triggerPatterns = [...currentPatterns, args.value];
|
|
80
|
+
description = `Added pattern "${args.value}" to "${args.workerName}"`;
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case 'remove-pattern': {
|
|
84
|
+
if (typeof args.value !== 'string' || args.value.length === 0) {
|
|
85
|
+
return {
|
|
86
|
+
content: [
|
|
87
|
+
{ type: 'text', text: 'remove-pattern requires a string value (glob pattern).' },
|
|
88
|
+
],
|
|
89
|
+
isError: true,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const patterns = worker.trigger.patterns ?? [];
|
|
93
|
+
if (!patterns.includes(args.value)) {
|
|
94
|
+
return {
|
|
95
|
+
content: [
|
|
96
|
+
{ type: 'text', text: `Pattern "${args.value}" not found in "${args.workerName}".` },
|
|
97
|
+
],
|
|
98
|
+
isError: true,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
override.triggerPatterns = patterns.filter((p) => p !== args.value);
|
|
102
|
+
description = `Removed pattern "${args.value}" from "${args.workerName}"`;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Apply to engine
|
|
107
|
+
engine.applyOverride(args.workerName, override);
|
|
108
|
+
// Persist to storage
|
|
109
|
+
await updateOverride(args.projectId, args.workerName, override);
|
|
110
|
+
return {
|
|
111
|
+
content: [
|
|
112
|
+
{ type: 'text', text: `${description}.\nConfiguration saved for project ${args.projectId}.` },
|
|
113
|
+
],
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=configure-workers-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure-workers-handler.js","sourceRoot":"","sources":["../../src/tools/configure-workers-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DeleteDecisionInput, ToolResult } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handle delete_decision tool invocation.
|
|
4
|
+
* Supports single or bulk decision deletion.
|
|
5
|
+
*/
|
|
6
|
+
export declare function handleDeleteDecision(params: DeleteDecisionInput): Promise<ToolResult>;
|
|
7
|
+
//# sourceMappingURL=delete-decision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-decision.d.ts","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIzE;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwD3F"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { hashProjectPath } from '../storage/base-store.js';
|
|
2
|
+
import { previewDeleteDecision, executeDeleteDecision } from '../engine/deleter/core.js';
|
|
3
|
+
/**
|
|
4
|
+
* Handle delete_decision tool invocation.
|
|
5
|
+
* Supports single or bulk decision deletion.
|
|
6
|
+
*/
|
|
7
|
+
export async function handleDeleteDecision(params) {
|
|
8
|
+
try {
|
|
9
|
+
const projectId = hashProjectPath(params.projectRoot);
|
|
10
|
+
const decisionIds = Array.isArray(params.decisionId) ? params.decisionId : [params.decisionId];
|
|
11
|
+
const confirm = params.confirm ?? false;
|
|
12
|
+
const force = params.force ?? false;
|
|
13
|
+
if (!confirm) {
|
|
14
|
+
const preview = await previewDeleteDecision(projectId, decisionIds);
|
|
15
|
+
return {
|
|
16
|
+
content: [
|
|
17
|
+
{
|
|
18
|
+
type: 'text',
|
|
19
|
+
text: JSON.stringify({
|
|
20
|
+
...preview,
|
|
21
|
+
message: `Preview: ${String(preview.itemsAffected)} decision(s) would be deleted. Set confirm=true to proceed.`,
|
|
22
|
+
}, null, 2),
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const result = await executeDeleteDecision(projectId, decisionIds, force);
|
|
28
|
+
if (!result.success) {
|
|
29
|
+
return {
|
|
30
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
31
|
+
isError: true,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
content: [
|
|
36
|
+
{
|
|
37
|
+
type: 'text',
|
|
38
|
+
text: JSON.stringify({
|
|
39
|
+
...result,
|
|
40
|
+
message: `Successfully deleted ${String(result.itemsAffected)} decision(s).`,
|
|
41
|
+
}, null, 2),
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: 'text', text: `Delete decision failed: ${message}` }],
|
|
50
|
+
isError: true,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=delete-decision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-decision.js","sourceRoot":"","sources":["../../src/tools/delete-decision.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEzF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAA2B;IACpE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,6DAA6D;yBAChH,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe;qBAC7E,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,OAAO,EAAE,EAAE,CAAC;YACvE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DeletePatternInput, ToolResult } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handle delete_pattern tool invocation.
|
|
4
|
+
* Supports single or bulk pattern deletion.
|
|
5
|
+
*/
|
|
6
|
+
export declare function handleDeletePattern(params: DeletePatternInput): Promise<ToolResult>;
|
|
7
|
+
//# sourceMappingURL=delete-pattern.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-pattern.d.ts","sourceRoot":"","sources":["../../src/tools/delete-pattern.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIxE;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDzF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { hashProjectPath } from '../storage/base-store.js';
|
|
2
|
+
import { previewDeletePattern, executeDeletePattern } from '../engine/deleter/core.js';
|
|
3
|
+
/**
|
|
4
|
+
* Handle delete_pattern tool invocation.
|
|
5
|
+
* Supports single or bulk pattern deletion.
|
|
6
|
+
*/
|
|
7
|
+
export async function handleDeletePattern(params) {
|
|
8
|
+
try {
|
|
9
|
+
const projectId = hashProjectPath(params.projectRoot);
|
|
10
|
+
const patternIds = Array.isArray(params.patternId) ? params.patternId : [params.patternId];
|
|
11
|
+
const confirm = params.confirm ?? false;
|
|
12
|
+
const force = params.force ?? false;
|
|
13
|
+
if (!confirm) {
|
|
14
|
+
const preview = await previewDeletePattern(projectId, patternIds);
|
|
15
|
+
return {
|
|
16
|
+
content: [
|
|
17
|
+
{
|
|
18
|
+
type: 'text',
|
|
19
|
+
text: JSON.stringify({
|
|
20
|
+
...preview,
|
|
21
|
+
message: `Preview: ${String(preview.itemsAffected)} pattern(s) would be deleted. Set confirm=true to proceed.`,
|
|
22
|
+
}, null, 2),
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const result = await executeDeletePattern(projectId, patternIds, force);
|
|
28
|
+
if (!result.success) {
|
|
29
|
+
return {
|
|
30
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
31
|
+
isError: true,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
content: [
|
|
36
|
+
{
|
|
37
|
+
type: 'text',
|
|
38
|
+
text: JSON.stringify({
|
|
39
|
+
...result,
|
|
40
|
+
message: `Successfully deleted ${String(result.itemsAffected)} pattern(s).`,
|
|
41
|
+
}, null, 2),
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: 'text', text: `Delete pattern failed: ${message}` }],
|
|
50
|
+
isError: true,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=delete-pattern.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-pattern.js","sourceRoot":"","sources":["../../src/tools/delete-pattern.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,YAAY,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,4DAA4D;yBAC/G,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc;qBAC5E,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC;YACtE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DeleteProjectInput, ToolResult } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handle delete_project tool invocation.
|
|
4
|
+
* Requires confirm=true. Without it, shows preview only.
|
|
5
|
+
*/
|
|
6
|
+
export declare function handleDeleteProject(params: DeleteProjectInput): Promise<ToolResult>;
|
|
7
|
+
//# sourceMappingURL=delete-project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-project.d.ts","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIxE;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDzF"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { hashProjectPath } from '../storage/base-store.js';
|
|
2
|
+
import { previewDeleteProject, executeDeleteProject } from '../engine/deleter/core.js';
|
|
3
|
+
/**
|
|
4
|
+
* Handle delete_project tool invocation.
|
|
5
|
+
* Requires confirm=true. Without it, shows preview only.
|
|
6
|
+
*/
|
|
7
|
+
export async function handleDeleteProject(params) {
|
|
8
|
+
try {
|
|
9
|
+
const projectId = hashProjectPath(params.projectRoot);
|
|
10
|
+
const confirm = params.confirm ?? false;
|
|
11
|
+
const force = params.force ?? false;
|
|
12
|
+
if (!confirm) {
|
|
13
|
+
const preview = await previewDeleteProject(projectId);
|
|
14
|
+
return {
|
|
15
|
+
content: [
|
|
16
|
+
{
|
|
17
|
+
type: 'text',
|
|
18
|
+
text: JSON.stringify({
|
|
19
|
+
...preview,
|
|
20
|
+
message: 'Preview: Set confirm=true to proceed with deletion.',
|
|
21
|
+
}, null, 2),
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
const result = await executeDeleteProject(projectId, force);
|
|
27
|
+
if (!result.success) {
|
|
28
|
+
return {
|
|
29
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
30
|
+
isError: true,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
content: [
|
|
35
|
+
{
|
|
36
|
+
type: 'text',
|
|
37
|
+
text: JSON.stringify({
|
|
38
|
+
...result,
|
|
39
|
+
message: `Successfully deleted project data (${String(result.itemsAffected)} files).`,
|
|
40
|
+
}, null, 2),
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
47
|
+
return {
|
|
48
|
+
content: [{ type: 'text', text: `Delete project failed: ${message}` }],
|
|
49
|
+
isError: true,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=delete-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-project.js","sourceRoot":"","sources":["../../src/tools/delete-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAA0B;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAEpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,GAAG,OAAO;4BACV,OAAO,EAAE,qDAAqD;yBAC/D,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,GAAG,MAAM;wBACT,OAAO,EAAE,sCAAsC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU;qBACtF,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,OAAO,EAAE,EAAE,CAAC;YACtE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DeleteSpecInput, ToolResult } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Handle delete_spec tool invocation.
|
|
4
|
+
* Supports single or bulk spec deletion with soft/hard delete.
|
|
5
|
+
*/
|
|
6
|
+
export declare function handleDeleteSpec(params: DeleteSpecInput): Promise<ToolResult>;
|
|
7
|
+
//# sourceMappingURL=delete-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-spec.d.ts","sourceRoot":"","sources":["../../src/tools/delete-spec.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAIrE;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDnF"}
|