0xray 2.0.0 → 2.0.1
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/.opencode/codex.codex +2 -2
- package/.opencode/commands/dependency-audit.md +3 -3
- package/.opencode/enforcer-config.json +2 -2
- package/.opencode/init.sh +22 -19
- package/AGENTS.md +5 -5
- package/README.md +276 -76
- package/dist/AGENTS.md +5 -5
- package/dist/CHANGELOG.md +91 -10
- package/dist/README.md +276 -76
- package/dist/agents/architect.d.ts +2 -0
- package/dist/agents/backend-engineer.d.ts +8 -0
- package/dist/agents/bug-triage-specialist.d.ts +2 -0
- package/dist/agents/code-analyzer.d.ts +7 -0
- package/dist/agents/code-reviewer.d.ts +2 -0
- package/dist/agents/code-reviewer.js +1 -1
- package/dist/agents/content-creator.d.ts +9 -0
- package/dist/agents/database-engineer.d.ts +8 -0
- package/dist/agents/devops-engineer.d.ts +8 -0
- package/dist/agents/frontend-engineer.d.ts +8 -0
- package/dist/agents/frontend-ui-ux-engineer.d.ts +8 -0
- package/dist/agents/growth-strategist.d.ts +8 -0
- package/dist/agents/index.d.ts +24 -0
- package/dist/agents/librarian-agents-updater.d.ts +30 -0
- package/dist/agents/log-monitor.d.ts +2 -0
- package/dist/agents/mobile-developer.d.ts +9 -0
- package/dist/agents/multimodal-looker.d.ts +9 -0
- package/dist/agents/performance-engineer.d.ts +8 -0
- package/dist/agents/refactorer.d.ts +2 -0
- package/dist/agents/registry.d.ts +35 -0
- package/dist/agents/researcher.d.ts +2 -0
- package/dist/agents/security-auditor.d.ts +2 -0
- package/dist/agents/seo-consultant.d.ts +8 -0
- package/dist/agents/strategist.d.ts +7 -0
- package/dist/agents/tech-writer.d.ts +8 -0
- package/dist/agents/testing-lead.d.ts +2 -0
- package/dist/agents/types.d.ts +45 -0
- package/dist/analytics/consent-manager.d.ts +93 -0
- package/dist/analytics/emerging-pattern-detector.d.ts +67 -0
- package/dist/analytics/pattern-learning-engine.d.ts +80 -0
- package/dist/analytics/pattern-performance-tracker.d.ts +97 -0
- package/dist/analytics/predictive-analytics.d.ts +41 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts +99 -0
- package/dist/analytics/routing-performance-analyzer.d.ts +101 -0
- package/dist/analytics/routing-refiner.d.ts +104 -0
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/analytics/simple-pattern-analyzer.d.ts +80 -0
- package/dist/architect/architect-tools.d.ts +70 -0
- package/dist/architect/architectural-integrity.d.ts +20 -0
- package/dist/benchmark/performance-benchmark.d.ts +103 -0
- package/dist/cli/commands/analytics-disable.d.ts +9 -0
- package/dist/cli/commands/analytics-enable-action.d.ts +8 -0
- package/dist/cli/commands/analytics-preview.d.ts +9 -0
- package/dist/cli/commands/analytics-status.d.ts +9 -0
- package/dist/cli/commands/antigravity-status.d.ts +9 -0
- package/dist/cli/commands/archive-logs.d.ts +24 -0
- package/dist/cli/commands/credible-init.d.ts +11 -0
- package/dist/cli/commands/grok-install.d.ts +7 -0
- package/dist/cli/commands/hermes-install.d.ts +2 -0
- package/dist/cli/commands/mcp-install.d.ts +4 -0
- package/dist/cli/commands/openclaw-install.d.ts +2 -0
- package/dist/cli/commands/opencode-install.d.ts +2 -0
- package/dist/cli/commands/plugin-commands.d.ts +19 -0
- package/dist/cli/commands/publish-agent.d.ts +15 -0
- package/dist/cli/commands/security-audit.d.ts +23 -0
- package/dist/cli/commands/skill-install.d.ts +5 -0
- package/dist/cli/commands/status.d.ts +41 -0
- package/dist/cli/commands/storyteller.d.ts +19 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/server.d.ts +1 -0
- package/dist/config/default-agents.d.ts +12 -0
- package/dist/core/activity-logger.d.ts +72 -0
- package/dist/core/adaptive-kernel.d.ts +109 -0
- package/dist/core/agent-spawn-gate.d.ts +56 -0
- package/dist/core/boot-orchestrator.d.ts +99 -0
- package/dist/core/boot-orchestrator.js +2 -2
- package/dist/core/codex-formatter.d.ts +96 -0
- package/dist/core/codex-injector.d.ts +74 -0
- package/dist/core/config-loader.d.ts +70 -0
- package/dist/core/config-paths.d.ts +61 -0
- package/dist/core/context-loader.d.ts +121 -0
- package/dist/core/context-validator.d.ts +53 -0
- package/dist/core/features-config.d.ts +462 -0
- package/dist/core/features-config.js +1 -1
- package/dist/core/framework-logger.d.ts +76 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/kernel-patterns.d.ts +130 -0
- package/dist/core/logging-config.d.ts +10 -0
- package/dist/core/model-router.d.ts +61 -0
- package/dist/core/orchestrator.d.ts +71 -0
- package/dist/core/system-prompt-generator.d.ts +35 -0
- package/dist/core/trace-context.d.ts +12 -0
- package/dist/core/xray-activation.d.ts +14 -0
- package/dist/delegation/agent-delegator.d.ts +186 -0
- package/dist/delegation/agent-expertise.d.ts +16 -0
- package/dist/delegation/analytics/index.d.ts +12 -0
- package/dist/delegation/analytics/learning-engine.d.ts +85 -0
- package/dist/delegation/analytics/outcome-tracker.d.ts +118 -0
- package/dist/delegation/analytics/routing-analytics.d.ts +61 -0
- package/dist/delegation/ast-code-parser.d.ts +174 -0
- package/dist/delegation/codebase-context-analyzer.d.ts +164 -0
- package/dist/delegation/complexity-analyzer.d.ts +111 -0
- package/dist/delegation/complexity-core.d.ts +119 -0
- package/dist/delegation/config/types.d.ts +247 -0
- package/dist/delegation/dependency-graph-builder.d.ts +95 -0
- package/dist/delegation/index.d.ts +25 -0
- package/dist/delegation/metrics-aggregator.d.ts +92 -0
- package/dist/delegation/session-coordinator.d.ts +133 -0
- package/dist/delegation/strategy-selector.d.ts +28 -0
- package/dist/delegation/voting-coordinator.d.ts +49 -0
- package/dist/delegation/voting-types.d.ts +155 -0
- package/dist/delegation/weighted-voting-aggregator.d.ts +37 -0
- package/dist/enforcement/core/index.d.ts +15 -0
- package/dist/enforcement/core/rule-executor.d.ts +158 -0
- package/dist/enforcement/core/rule-hierarchy.d.ts +146 -0
- package/dist/enforcement/core/rule-registry.d.ts +197 -0
- package/dist/enforcement/core/violation-fixer.d.ts +106 -0
- package/dist/enforcement/enforcer-tools.d.ts +78 -0
- package/dist/enforcement/index.d.ts +23 -0
- package/dist/enforcement/loaders/agent-triage-loader.d.ts +99 -0
- package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +76 -0
- package/dist/enforcement/loaders/base-loader.d.ts +83 -0
- package/dist/enforcement/loaders/codex-loader.d.ts +77 -0
- package/dist/enforcement/loaders/index.d.ts +37 -0
- package/dist/enforcement/loaders/loader-orchestrator.d.ts +97 -0
- package/dist/enforcement/loaders/processor-loader.d.ts +60 -0
- package/dist/enforcement/rule-enforcer.d.ts +142 -0
- package/dist/enforcement/test-auto-healing.d.ts +83 -0
- package/dist/enforcement/types.d.ts +501 -0
- package/dist/enforcement/validators/architecture-validators.d.ts +155 -0
- package/dist/enforcement/validators/base-validator.d.ts +88 -0
- package/dist/enforcement/validators/code-quality-validators.d.ts +89 -0
- package/dist/enforcement/validators/index.d.ts +15 -0
- package/dist/enforcement/validators/security-validators.d.ts +53 -0
- package/dist/enforcement/validators/testing-validators.d.ts +81 -0
- package/dist/enforcement/validators/validator-registry.d.ts +92 -0
- package/dist/execution/opencode-cli-invoker.d.ts +8 -0
- package/dist/execution/proposal-applier.d.ts +24 -0
- package/dist/governance/codex-policy.service.d.ts +57 -0
- package/dist/governance/governance-core.d.ts +46 -0
- package/dist/governance/governance-service.d.ts +38 -0
- package/dist/governance/governance-types.d.ts +83 -0
- package/dist/index.d.ts +28 -0
- package/dist/inference/deploy-verifier.d.ts +26 -0
- package/dist/inference/index.d.ts +10 -0
- package/dist/inference/inference-accumulator.d.ts +29 -0
- package/dist/inference/inference-cycle.d.ts +110 -0
- package/dist/inference/semantic-patterns.d.ts +7 -0
- package/dist/inference/session-capture.d.ts +32 -0
- package/dist/integrations/base/ExampleIntegration.d.ts +47 -0
- package/dist/integrations/base/Integration.d.ts +267 -0
- package/dist/integrations/base/index.d.ts +12 -0
- package/dist/integrations/base/registry.d.ts +273 -0
- package/dist/integrations/base/types.d.ts +168 -0
- package/dist/integrations/governance/governance-client.d.ts +76 -0
- package/dist/integrations/governance/index.d.ts +99 -0
- package/dist/integrations/governance/types.d.ts +239 -0
- package/dist/integrations/grok/grok-cli.d.ts +25 -0
- package/dist/integrations/hermes-agent/__init__.py +1 -1
- package/dist/integrations/openclaw/api-server.d.ts +87 -0
- package/dist/integrations/openclaw/client.d.ts +122 -0
- package/dist/integrations/openclaw/config.d.ts +96 -0
- package/dist/integrations/openclaw/hooks/strray-hooks.d.ts +124 -0
- package/dist/integrations/openclaw/index.d.ts +101 -0
- package/dist/integrations/openclaw/types.d.ts +426 -0
- package/dist/integrations/plugins/index.d.ts +10 -0
- package/dist/integrations/plugins/plugin-integration.d.ts +289 -0
- package/dist/integrations/plugins/plugin-registry.d.ts +224 -0
- package/dist/mcps/agent-resolver.d.ts +46 -0
- package/dist/mcps/architect-tools.server.d.ts +17 -0
- package/dist/mcps/architect-tools.server.js +1 -1
- package/dist/mcps/auto-format.server.d.ts +19 -0
- package/dist/mcps/auto-format.server.js +1 -1
- package/dist/mcps/boot-orchestrator.server.d.ts +49 -0
- package/dist/mcps/boot-orchestrator.server.js +1 -1
- package/dist/mcps/config/config-loader.d.ts +52 -0
- package/dist/mcps/config/config-validator.d.ts +40 -0
- package/dist/mcps/config/index.d.ts +31 -0
- package/dist/mcps/config/plugin-server-registry.d.ts +127 -0
- package/dist/mcps/config/server-config-registry.d.ts +51 -0
- package/dist/mcps/connection/connection-manager.d.ts +39 -0
- package/dist/mcps/connection/connection-pool.d.ts +64 -0
- package/dist/mcps/connection/mcp-connection.d.ts +66 -0
- package/dist/mcps/connection/process-spawner.d.ts +24 -0
- package/dist/mcps/enforcer-tools.server.d.ts +27 -0
- package/dist/mcps/enforcer-tools.server.js +1 -1
- package/dist/mcps/estimation.server.d.ts +21 -0
- package/dist/mcps/estimation.server.js +1 -1
- package/dist/mcps/framework-compliance-audit.server.d.ts +22 -0
- package/dist/mcps/framework-compliance-audit.server.js +1 -1
- package/dist/mcps/framework-help.server.d.ts +14 -0
- package/dist/mcps/framework-help.server.js +1 -1
- package/dist/mcps/governance.server.d.ts +33 -0
- package/dist/mcps/in-process-skill-registry.d.ts +20 -0
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/api-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +1 -1
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +33 -0
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +31 -0
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-review.server.d.ts +46 -0
- package/dist/mcps/knowledge-skills/code-review.server.js +1 -1
- package/dist/mcps/knowledge-skills/content-creator.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
- package/dist/mcps/knowledge-skills/database-design.server.d.ts +43 -0
- package/dist/mcps/knowledge-skills/database-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +43 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +1 -1
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.js +1 -1
- package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +24 -0
- package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
- package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +19 -0
- package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
- package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +55 -0
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +3 -2
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +72 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +1 -1
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +37 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.js +1 -1
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +33 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +1 -1
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +48 -0
- package/dist/mcps/knowledge-skills/security-audit.server.js +1 -1
- package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +26 -0
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
- package/dist/mcps/knowledge-skills/session-management.server.d.ts +23 -0
- package/dist/mcps/knowledge-skills/session-management.server.js +1 -1
- package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +29 -0
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
- package/dist/mcps/knowledge-skills/strategist.server.d.ts +17 -0
- package/dist/mcps/knowledge-skills/strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +47 -0
- package/dist/mcps/knowledge-skills/tech-writer.server.js +2 -2
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +36 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +1 -1
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +1 -1
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +69 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1 -1
- package/dist/mcps/lint.server.d.ts +17 -0
- package/dist/mcps/lint.server.js +1 -1
- package/dist/mcps/mcp-client.d.ts +157 -0
- package/dist/mcps/model-health-check.server.d.ts +16 -0
- package/dist/mcps/model-health-check.server.js +1 -1
- package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +35 -0
- package/dist/mcps/orchestrator/execution/execution-planner.d.ts +62 -0
- package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +32 -0
- package/dist/mcps/orchestrator/handlers/status-handler.d.ts +69 -0
- package/dist/mcps/orchestrator/handlers/task-handler.d.ts +52 -0
- package/dist/mcps/orchestrator/server.d.ts +38 -0
- package/dist/mcps/orchestrator/types.d.ts +79 -0
- package/dist/mcps/orchestrator.server.d.ts +10 -0
- package/dist/mcps/performance-analysis.server.d.ts +27 -0
- package/dist/mcps/performance-analysis.server.js +1 -1
- package/dist/mcps/processor-pipeline.server.d.ts +31 -0
- package/dist/mcps/processor-pipeline.server.js +1 -1
- package/dist/mcps/protocol/protocol-constants.d.ts +46 -0
- package/dist/mcps/registry.json +1 -1
- package/dist/mcps/researcher.server.d.ts +31 -0
- package/dist/mcps/researcher.server.js +1 -1
- package/dist/mcps/security-scan.server.d.ts +20 -0
- package/dist/mcps/security-scan.server.js +1 -1
- package/dist/mcps/simulation/index.d.ts +12 -0
- package/dist/mcps/simulation/server-simulations.d.ts +39 -0
- package/dist/mcps/simulation/simulation-engine.d.ts +51 -0
- package/dist/mcps/state-manager.server.d.ts +28 -0
- package/dist/mcps/state-manager.server.js +1 -1
- package/dist/mcps/tools/index.d.ts +14 -0
- package/dist/mcps/tools/tool-cache.d.ts +53 -0
- package/dist/mcps/tools/tool-discovery.d.ts +27 -0
- package/dist/mcps/tools/tool-executor.d.ts +41 -0
- package/dist/mcps/tools/tool-registry.d.ts +42 -0
- package/dist/mcps/types/index.d.ts +13 -0
- package/dist/mcps/types/json-rpc.types.d.ts +35 -0
- package/dist/mcps/types/mcp.types.d.ts +105 -0
- package/dist/metrics/agent-metrics.d.ts +169 -0
- package/dist/metrics/index.d.ts +6 -0
- package/dist/monitoring/advanced-profiler.d.ts +51 -0
- package/dist/monitoring/memory-monitor.d.ts +113 -0
- package/dist/monitoring/nudge-watchdog.d.ts +88 -0
- package/dist/monitoring/test-auto-generation-monitor.d.ts +64 -0
- package/dist/orchestrator/agent-spawn-governor.d.ts +127 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +156 -0
- package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
- package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +127 -0
- package/dist/orchestrator/orchestrator.d.ts +142 -0
- package/dist/orchestrator/self-direction-activation.d.ts +109 -0
- package/dist/orchestrator/universal-librarian-consultation.d.ts +98 -0
- package/dist/orchestrator/universal-registry-bridge.d.ts +85 -0
- package/dist/orchestrator/universal-registry-bridge.js +1 -1
- package/dist/performance/performance-budget-enforcer.d.ts +158 -0
- package/dist/performance/performance-regression-tester.d.ts +108 -0
- package/dist/plugin/xray-codex-injection.d.ts +55 -0
- package/dist/plugin/xray-codex-injection.js +7 -7
- package/dist/postprocessor/PostProcessor.d.ts +108 -0
- package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +39 -0
- package/dist/postprocessor/autofix/AutoFixEngine.d.ts +48 -0
- package/dist/postprocessor/autofix/FixValidator.d.ts +23 -0
- package/dist/postprocessor/config.d.ts +6 -0
- package/dist/postprocessor/escalation/EscalationEngine.d.ts +154 -0
- package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +40 -0
- package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +91 -0
- package/dist/postprocessor/services/RegressionAnalysisService.d.ts +40 -0
- package/dist/postprocessor/success/SuccessHandler.d.ts +57 -0
- package/dist/postprocessor/triggers/APITrigger.d.ts +35 -0
- package/dist/postprocessor/triggers/GitHookTrigger.d.ts +38 -0
- package/dist/postprocessor/triggers/WebhookTrigger.d.ts +47 -0
- package/dist/postprocessor/types.d.ts +227 -0
- package/dist/processors/doc-write-guard.d.ts +6 -0
- package/dist/processors/implementations/agents-md-validation-processor.d.ts +63 -0
- package/dist/processors/implementations/async-pattern-processor.d.ts +48 -0
- package/dist/processors/implementations/codex-compliance-processor.d.ts +7 -0
- package/dist/processors/implementations/commit-batcher-processor.d.ts +13 -0
- package/dist/processors/implementations/console-log-guard-processor.d.ts +33 -0
- package/dist/processors/implementations/coverage-analysis-processor.d.ts +20 -0
- package/dist/processors/implementations/error-boundary-processor.d.ts +7 -0
- package/dist/processors/implementations/inference-improvement-processor.d.ts +36 -0
- package/dist/processors/implementations/log-protection-processor.d.ts +30 -0
- package/dist/processors/implementations/nudge-processor.d.ts +22 -0
- package/dist/processors/implementations/performance-budget-processor.d.ts +50 -0
- package/dist/processors/implementations/postprocessor-chain-validator.d.ts +46 -0
- package/dist/processors/implementations/pre-validate-processor.d.ts +7 -0
- package/dist/processors/implementations/publish-preflight-processor.d.ts +38 -0
- package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +7 -0
- package/dist/processors/implementations/refactoring-logging-processor.d.ts +31 -0
- package/dist/processors/implementations/regression-testing-processor.d.ts +20 -0
- package/dist/processors/implementations/session-capture-processor.d.ts +14 -0
- package/dist/processors/implementations/session-summary-processor.d.ts +27 -0
- package/dist/processors/implementations/spawn-governance-processor.d.ts +58 -0
- package/dist/processors/implementations/state-validation-processor.d.ts +11 -0
- package/dist/processors/implementations/storytelling-trigger-processor.d.ts +42 -0
- package/dist/processors/implementations/test-auto-creation-processor.d.ts +17 -0
- package/dist/processors/implementations/test-execution-processor.d.ts +11 -0
- package/dist/processors/implementations/typescript-compilation-processor.d.ts +38 -0
- package/dist/processors/implementations/version-compliance-processor.d.ts +112 -0
- package/dist/processors/processor-interfaces.d.ts +127 -0
- package/dist/processors/processor-manager.d.ts +80 -0
- package/dist/processors/processor-types.d.ts +190 -0
- package/dist/reporting/framework-reporting-system.d.ts +19 -0
- package/dist/reporting/log-parser.d.ts +10 -0
- package/dist/reporting/metrics.d.ts +15 -0
- package/dist/reporting/report-formatter.d.ts +5 -0
- package/dist/reporting/types.d.ts +102 -0
- package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
- package/dist/scripts/integration.d.ts +37 -0
- package/dist/security/comprehensive-security-audit.d.ts +158 -0
- package/dist/security/index.d.ts +13 -0
- package/dist/security/prompt-security-validator.d.ts +44 -0
- package/dist/security/security-agent-coordinator.d.ts +72 -0
- package/dist/security/security-auditor.d.ts +56 -0
- package/dist/security/security-hardener.d.ts +62 -0
- package/dist/security/security-hardening-system.d.ts +239 -0
- package/dist/security/security-headers.d.ts +64 -0
- package/dist/security/security-orchestration-layer.d.ts +119 -0
- package/dist/security/security-scanner.d.ts +119 -0
- package/dist/services/inference-tuner.d.ts +77 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/session-cleanup-manager.d.ts +118 -0
- package/dist/session/session-monitor.d.ts +133 -0
- package/dist/session/session-state-manager.d.ts +145 -0
- package/dist/skills/registry.json +1 -1
- package/dist/state/context-providers.d.ts +4 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/state-manager.d.ts +42 -0
- package/dist/state/state-types.d.ts +5 -0
- package/dist/testing/memory-regression-suite.d.ts +105 -0
- package/dist/utils/batch-operations.d.ts +25 -0
- package/dist/utils/codex-parser.d.ts +61 -0
- package/dist/utils/command-runner.d.ts +32 -0
- package/dist/utils/import-resolver.d.ts +54 -0
- package/dist/utils/language-detector.d.ts +44 -0
- package/dist/utils/path-resolver.d.ts +48 -0
- package/dist/utils/shutdown-handler.d.ts +27 -0
- package/dist/utils/test-template-generator.d.ts +25 -0
- package/dist/utils/token-manager.d.ts +48 -0
- package/dist/validation/estimation-validator.d.ts +61 -0
- package/dist/validation/report-content-validator.d.ts +42 -0
- package/package.json +3 -2
- package/scripts/node/universal-version-manager.js +53 -54
- package/src/mcps/architect-tools.server.ts +1 -1
- package/src/mcps/auto-format.server.ts +1 -1
- package/src/mcps/boot-orchestrator.server.ts +1 -1
- package/src/mcps/enforcer-tools.server.ts +1 -1
- package/src/mcps/estimation.server.ts +1 -1
- package/src/mcps/framework-compliance-audit.server.ts +1 -1
- package/src/mcps/framework-help.server.ts +1 -1
- package/src/mcps/knowledge-skills/api-design.server.ts +1 -1
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +1 -1
- package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +1 -1
- package/src/mcps/knowledge-skills/code-analyzer.server.ts +1 -1
- package/src/mcps/knowledge-skills/code-review.server.ts +1 -1
- package/src/mcps/knowledge-skills/content-creator.server.ts +1 -1
- package/src/mcps/knowledge-skills/database-design.server.ts +1 -1
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +1 -1
- package/src/mcps/knowledge-skills/git-workflow.server.ts +1 -1
- package/src/mcps/knowledge-skills/growth-strategist.server.ts +1 -1
- package/src/mcps/knowledge-skills/log-monitor.server.ts +1 -1
- package/src/mcps/knowledge-skills/mobile-development.server.ts +1 -1
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +3 -2
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +1 -1
- package/src/mcps/knowledge-skills/project-analysis.server.ts +1 -1
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +1 -1
- package/src/mcps/knowledge-skills/security-audit.server.ts +1 -1
- package/src/mcps/knowledge-skills/seo-consultant.server.ts +1 -1
- package/src/mcps/knowledge-skills/session-management.server.ts +1 -1
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +1 -1
- package/src/mcps/knowledge-skills/strategist.server.ts +1 -1
- package/src/mcps/knowledge-skills/tech-writer.server.ts +2 -2
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +1 -1
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +1 -1
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +1 -1
- package/src/mcps/lint.server.ts +1 -1
- package/src/mcps/model-health-check.server.ts +1 -1
- package/src/mcps/performance-analysis.server.ts +1 -1
- package/src/mcps/processor-pipeline.server.ts +1 -1
- package/src/mcps/registry.json +1 -1
- package/src/mcps/researcher.server.ts +1 -1
- package/src/mcps/security-scan.server.ts +1 -1
- package/src/mcps/state-manager.server.ts +1 -1
- package/src/opencode/codex.codex +2 -2
- package/src/opencode/commands/dependency-audit.md +3 -3
- package/src/opencode/enforcer-config.json +2 -2
- package/src/skills/registry.json +1 -1
- package/.opencode/hooks/hook-metrics.json +0 -380
- package/.opencode/skills/api-design/SKILL.md +0 -37
- package/.opencode/skills/architect-tools/SKILL.md +0 -37
- package/.opencode/skills/architecture-patterns/SKILL.md +0 -37
- package/.opencode/skills/auto-format/SKILL.md +0 -37
- package/.opencode/skills/backend-engineer/SKILL.md +0 -49
- package/.opencode/skills/boot-orchestrator/SKILL.md +0 -37
- package/.opencode/skills/bug-triage/SKILL.md +0 -43
- package/.opencode/skills/code-analyzer/SKILL.md +0 -45
- package/.opencode/skills/code-review/SKILL.md +0 -52
- package/.opencode/skills/content-creator/SKILL.md +0 -38
- package/.opencode/skills/database-engineer/SKILL.md +0 -46
- package/.opencode/skills/devops-engineer/SKILL.md +0 -49
- package/.opencode/skills/enforcer/SKILL.md +0 -37
- package/.opencode/skills/framework-compliance-audit/SKILL.md +0 -37
- package/.opencode/skills/frontend-engineer/SKILL.md +0 -49
- package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +0 -41
- package/.opencode/skills/git-workflow/SKILL.md +0 -37
- package/.opencode/skills/growth-strategist/SKILL.md +0 -48
- package/.opencode/skills/hermes-agent/SKILL.md +0 -212
- package/.opencode/skills/inference-improve/SKILL.md +0 -97
- package/.opencode/skills/lint/SKILL.md +0 -37
- package/.opencode/skills/log-monitor/SKILL.md +0 -44
- package/.opencode/skills/mobile-developer/SKILL.md +0 -42
- package/.opencode/skills/model-health-check/SKILL.md +0 -37
- package/.opencode/skills/multimodal-looker/SKILL.md +0 -45
- package/.opencode/skills/orchestrator/SKILL.md +0 -37
- package/.opencode/skills/performance-analysis/SKILL.md +0 -37
- package/.opencode/skills/performance-engineer/SKILL.md +0 -41
- package/.opencode/skills/performance-optimization/SKILL.md +0 -37
- package/.opencode/skills/processor-pipeline/SKILL.md +0 -37
- package/.opencode/skills/project-analysis/SKILL.md +0 -42
- package/.opencode/skills/refactoring-strategies/SKILL.md +0 -37
- package/.opencode/skills/registry.json +0 -66
- package/.opencode/skills/researcher/SKILL.md +0 -37
- package/.opencode/skills/security-audit/SKILL.md +0 -47
- package/.opencode/skills/security-scan/SKILL.md +0 -37
- package/.opencode/skills/seo-consultant/SKILL.md +0 -43
- package/.opencode/skills/session-management/SKILL.md +0 -36
- package/.opencode/skills/state-manager/SKILL.md +0 -37
- package/.opencode/skills/storyteller/SKILL.md +0 -130
- package/.opencode/skills/strategist/SKILL.md +0 -32
- package/.opencode/skills/tech-writer/SKILL.md +0 -37
- package/.opencode/skills/testing-best-practices/SKILL.md +0 -37
- package/.opencode/skills/testing-strategy/SKILL.md +0 -43
- package/.opencode/skills/ui-ux-design/SKILL.md +0 -603
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Voting System Types
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive type definitions for the multi-agent voting system
|
|
5
|
+
* with weighted confidence scoring and adaptive conflict resolution.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-04-16
|
|
9
|
+
*/
|
|
10
|
+
export type VotingStrategy = "majority_vote" | "consensus" | "expert_priority";
|
|
11
|
+
export type VoteChoice = {
|
|
12
|
+
agentName: string;
|
|
13
|
+
vote: string;
|
|
14
|
+
confidence: number;
|
|
15
|
+
reasoning: string | undefined;
|
|
16
|
+
timestamp: number;
|
|
17
|
+
};
|
|
18
|
+
export type VotingResult = {
|
|
19
|
+
decision: string;
|
|
20
|
+
confidence: number;
|
|
21
|
+
strategy: VotingStrategy;
|
|
22
|
+
voteCount: number;
|
|
23
|
+
winningVotes: number;
|
|
24
|
+
totalVoters: number;
|
|
25
|
+
tied: boolean;
|
|
26
|
+
details: VotingResultDetail[];
|
|
27
|
+
};
|
|
28
|
+
export type VotingResultDetail = {
|
|
29
|
+
agentName: string;
|
|
30
|
+
expertiseLevel: number;
|
|
31
|
+
vote: string;
|
|
32
|
+
weight: number;
|
|
33
|
+
contributed: boolean;
|
|
34
|
+
};
|
|
35
|
+
export type AgentExpertise = {
|
|
36
|
+
name: string;
|
|
37
|
+
expertiseLevel: number;
|
|
38
|
+
domain: string;
|
|
39
|
+
specialties: string[];
|
|
40
|
+
};
|
|
41
|
+
export type VotingSession = {
|
|
42
|
+
id: string;
|
|
43
|
+
sessionId: string;
|
|
44
|
+
topic: string;
|
|
45
|
+
description: string;
|
|
46
|
+
strategy: VotingStrategy;
|
|
47
|
+
complexity: number;
|
|
48
|
+
riskLevel: string;
|
|
49
|
+
participants: string[];
|
|
50
|
+
votes: VoteChoice[];
|
|
51
|
+
result?: VotingResult;
|
|
52
|
+
createdAt: number;
|
|
53
|
+
resolvedAt?: number;
|
|
54
|
+
};
|
|
55
|
+
export type StrategySelectionContext = {
|
|
56
|
+
complexity: number;
|
|
57
|
+
riskLevel: string;
|
|
58
|
+
participantCount: number;
|
|
59
|
+
hasSecurityConcerns: boolean | undefined;
|
|
60
|
+
hasArchitecturalImpact: boolean | undefined;
|
|
61
|
+
timeConstraint?: number;
|
|
62
|
+
};
|
|
63
|
+
export type VotingHistoryEntry = {
|
|
64
|
+
id: string;
|
|
65
|
+
sessionId: string;
|
|
66
|
+
topic: string;
|
|
67
|
+
voteCount: number;
|
|
68
|
+
strategy: VotingStrategy;
|
|
69
|
+
decision: string;
|
|
70
|
+
confidence: number;
|
|
71
|
+
participantCount: number;
|
|
72
|
+
successRating?: number;
|
|
73
|
+
timestamp: number;
|
|
74
|
+
resolvedAt: number;
|
|
75
|
+
agentPerformance?: Record<string, AgentPerformanceEntry>;
|
|
76
|
+
};
|
|
77
|
+
export type AgentPerformanceEntry = {
|
|
78
|
+
agentName: string;
|
|
79
|
+
correctVotes: number;
|
|
80
|
+
totalVotes: number;
|
|
81
|
+
averageConfidence: number;
|
|
82
|
+
lastVotedAt: number;
|
|
83
|
+
successRate: number;
|
|
84
|
+
};
|
|
85
|
+
export type AdaptiveStrategyConfig = {
|
|
86
|
+
simple: VotingStrategy;
|
|
87
|
+
moderate: VotingStrategy;
|
|
88
|
+
complex: VotingStrategy;
|
|
89
|
+
enterprise: VotingStrategy;
|
|
90
|
+
securityDominant: VotingStrategy;
|
|
91
|
+
architecturalDominant: VotingStrategy;
|
|
92
|
+
};
|
|
93
|
+
export type VotingMetrics = {
|
|
94
|
+
totalVotes: number;
|
|
95
|
+
successfulVotes: number;
|
|
96
|
+
failedVotes: number;
|
|
97
|
+
averageConfidence: number;
|
|
98
|
+
strategyUsage: Record<VotingStrategy, number>;
|
|
99
|
+
agentParticipation: Record<string, number>;
|
|
100
|
+
averageVoterTurnout: number;
|
|
101
|
+
};
|
|
102
|
+
export interface ConflictResolutionRequest {
|
|
103
|
+
sessionId: string;
|
|
104
|
+
topic: string;
|
|
105
|
+
description: string;
|
|
106
|
+
agents: string[];
|
|
107
|
+
requiresSecurityVote: boolean;
|
|
108
|
+
requiresArchitectureVote: boolean;
|
|
109
|
+
complexity: number;
|
|
110
|
+
riskLevel: string;
|
|
111
|
+
context?: Record<string, unknown>;
|
|
112
|
+
}
|
|
113
|
+
export interface ConflictResolutionResponse {
|
|
114
|
+
resolved: boolean;
|
|
115
|
+
decision?: string;
|
|
116
|
+
strategy: VotingStrategy;
|
|
117
|
+
confidence: number;
|
|
118
|
+
details: string;
|
|
119
|
+
participatingAgents: string[];
|
|
120
|
+
}
|
|
121
|
+
export interface HistoricalWeightConfig {
|
|
122
|
+
decayFactor: number;
|
|
123
|
+
minWeight: number;
|
|
124
|
+
maxWeight: number;
|
|
125
|
+
lookbackPeriod: number;
|
|
126
|
+
successThreshold: number;
|
|
127
|
+
}
|
|
128
|
+
export interface AgentHistoricalPerformance {
|
|
129
|
+
agentName: string;
|
|
130
|
+
totalVotes: number;
|
|
131
|
+
correctVotes: number;
|
|
132
|
+
averageConfidence: number;
|
|
133
|
+
weightedScore: number;
|
|
134
|
+
lastActivity: number;
|
|
135
|
+
streakCount: number;
|
|
136
|
+
domainPerformance: Record<string, {
|
|
137
|
+
correct: number;
|
|
138
|
+
total: number;
|
|
139
|
+
}>;
|
|
140
|
+
}
|
|
141
|
+
export interface ConfidenceWeightConfig {
|
|
142
|
+
expertiseMultiplier: number;
|
|
143
|
+
confidenceMultiplier: number;
|
|
144
|
+
minConfidenceThreshold: number;
|
|
145
|
+
normalizeScores: boolean;
|
|
146
|
+
}
|
|
147
|
+
export interface WeightedVoteAggregation {
|
|
148
|
+
option: string;
|
|
149
|
+
baseWeight: number;
|
|
150
|
+
expertiseWeight: number;
|
|
151
|
+
confidenceWeight: number;
|
|
152
|
+
historicalWeight: number;
|
|
153
|
+
totalWeight: number;
|
|
154
|
+
contributingAgents: string[];
|
|
155
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Weighted Voting Aggregator
|
|
3
|
+
*
|
|
4
|
+
* Advanced voting system with:
|
|
5
|
+
* - Confidence-weighted voting where agent confidence affects their vote weight
|
|
6
|
+
* - History-weighted voting that considers past successful votes
|
|
7
|
+
* - Multiple aggregation strategies for different decision scenarios
|
|
8
|
+
*
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
* @since 2026-04-17
|
|
11
|
+
*/
|
|
12
|
+
import type { VoteChoice, VotingResultDetail, HistoricalWeightConfig, AgentHistoricalPerformance, ConfidenceWeightConfig, WeightedVoteAggregation } from "./voting-types.js";
|
|
13
|
+
export declare const DEFAULT_HISTORICAL_CONFIG: HistoricalWeightConfig;
|
|
14
|
+
export declare const DEFAULT_CONFIDENCE_CONFIG: ConfidenceWeightConfig;
|
|
15
|
+
export declare class WeightedVotingAggregator {
|
|
16
|
+
private historicalConfig;
|
|
17
|
+
private confidenceConfig;
|
|
18
|
+
private agentPerformance;
|
|
19
|
+
constructor(historicalConfig?: Partial<HistoricalWeightConfig>, confidenceConfig?: Partial<ConfidenceWeightConfig>);
|
|
20
|
+
calculateExpertiseWeight(agentName: string): number;
|
|
21
|
+
calculateConfidenceWeight(agentName: string, voteConfidence: number): number;
|
|
22
|
+
calculateHistoricalWeight(agentName: string): number;
|
|
23
|
+
calculateTotalVoteWeight(agentName: string, voteConfidence: number): number;
|
|
24
|
+
aggregateVotes(votes: VoteChoice[]): WeightedVoteAggregation[];
|
|
25
|
+
updateAgentPerformance(agentName: string, decision: string, votedFor: string, wasCorrect: boolean, confidence: number): void;
|
|
26
|
+
getAgentPerformance(agentName: string): AgentHistoricalPerformance | undefined;
|
|
27
|
+
getAllPerformance(): AgentHistoricalPerformance[];
|
|
28
|
+
loadPerformance(performance: Map<string, AgentHistoricalPerformance>): void;
|
|
29
|
+
reset(): void;
|
|
30
|
+
}
|
|
31
|
+
export declare const createWeightedVotingAggregator: (historicalConfig?: Partial<HistoricalWeightConfig>, confidenceConfig?: Partial<ConfidenceWeightConfig>) => WeightedVotingAggregator;
|
|
32
|
+
export declare function createDetailedVotingResult(votes: VoteChoice[], aggregator: WeightedVotingAggregator): {
|
|
33
|
+
aggregated: WeightedVoteAggregation[];
|
|
34
|
+
winner: WeightedVoteAggregation | null;
|
|
35
|
+
confidence: number;
|
|
36
|
+
details: VotingResultDetail[];
|
|
37
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule Enforcement Core Components
|
|
3
|
+
*
|
|
4
|
+
* This module exports the core components of the rule enforcement system.
|
|
5
|
+
* These components handle rule storage, hierarchy, execution, and fixing.
|
|
6
|
+
*
|
|
7
|
+
* Phase 5 refactoring: Extracted from RuleEnforcer.
|
|
8
|
+
*
|
|
9
|
+
* @module enforcement/core
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
export { RuleRegistry } from './rule-registry.js';
|
|
13
|
+
export { RuleHierarchy } from './rule-hierarchy.js';
|
|
14
|
+
export { RuleExecutor } from './rule-executor.js';
|
|
15
|
+
export { ViolationFixer } from './violation-fixer.js';
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule Executor - Orchestrate validation execution
|
|
3
|
+
*
|
|
4
|
+
* This class orchestrates the execution of validation rules, handling
|
|
5
|
+
* single rule execution, batch execution, parallel vs serial execution,
|
|
6
|
+
* dependency ordering, timeouts, and error handling.
|
|
7
|
+
*
|
|
8
|
+
* Phase 5 refactoring: Extracted from RuleEnforcer.
|
|
9
|
+
*
|
|
10
|
+
* @module enforcement/core
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const executor = new RuleExecutor(registry, hierarchy, validatorRegistry);
|
|
16
|
+
*
|
|
17
|
+
* // Execute all applicable rules for an operation
|
|
18
|
+
* const report = await executor.execute('write', context);
|
|
19
|
+
*
|
|
20
|
+
* // Execute a specific rule
|
|
21
|
+
* const result = await executor.executeSingle('no-duplicate-code', context);
|
|
22
|
+
*
|
|
23
|
+
* // Execute multiple rules in batch
|
|
24
|
+
* const results = await executor.executeBatch(['rule1', 'rule2'], context);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
import { IRuleExecutor, IRuleRegistry, IRuleHierarchy, IValidatorRegistry, RuleValidationContext, RuleValidationResult, ValidationReport, ExecutionOptions, BatchExecutionOptions } from '../types.js';
|
|
28
|
+
/**
|
|
29
|
+
* RuleExecutor orchestrates the execution of validation rules.
|
|
30
|
+
*
|
|
31
|
+
* Key responsibilities:
|
|
32
|
+
* - Execute single rules
|
|
33
|
+
* - Execute rules in batch (parallel or serial)
|
|
34
|
+
* - Sort rules by dependency order
|
|
35
|
+
* - Handle timeouts and errors
|
|
36
|
+
* - Generate validation reports
|
|
37
|
+
*/
|
|
38
|
+
export declare class RuleExecutor implements IRuleExecutor {
|
|
39
|
+
private registry;
|
|
40
|
+
private hierarchy;
|
|
41
|
+
private validatorRegistry;
|
|
42
|
+
/** Default timeout for rule validation in milliseconds */
|
|
43
|
+
private readonly DEFAULT_TIMEOUT_MS;
|
|
44
|
+
constructor(registry: IRuleRegistry, hierarchy: IRuleHierarchy, validatorRegistry: IValidatorRegistry);
|
|
45
|
+
/**
|
|
46
|
+
* Execute validation for an operation against all applicable rules.
|
|
47
|
+
*
|
|
48
|
+
* This method:
|
|
49
|
+
* 1. Gets all applicable rules for the operation
|
|
50
|
+
* 2. Sorts them by dependency order
|
|
51
|
+
* 3. Executes each rule
|
|
52
|
+
* 4. Collects results and generates a validation report
|
|
53
|
+
*
|
|
54
|
+
* @param operation - The operation being performed (e.g., 'write', 'create')
|
|
55
|
+
* @param context - Validation context with code and operation info
|
|
56
|
+
* @param options - Optional execution options
|
|
57
|
+
* @returns Promise resolving to validation report
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const report = await executor.execute('write', {
|
|
62
|
+
* operation: 'write',
|
|
63
|
+
* files: ['src/index.ts'],
|
|
64
|
+
* newCode: 'console.log("hello");'
|
|
65
|
+
* });
|
|
66
|
+
*
|
|
67
|
+
* console.log(report.passed); // false if any rule failed
|
|
68
|
+
* console.log(report.errors); // Array of error messages
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
execute(operation: string, context: RuleValidationContext, options?: ExecutionOptions): Promise<ValidationReport>;
|
|
72
|
+
/**
|
|
73
|
+
* Execute a single rule by ID.
|
|
74
|
+
*
|
|
75
|
+
* @param ruleId - The ID of the rule to execute
|
|
76
|
+
* @param context - Validation context
|
|
77
|
+
* @returns Promise resolving to validation result
|
|
78
|
+
* @throws Error if rule not found or not enabled
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const result = await executor.executeSingle('no-duplicate-code', context);
|
|
83
|
+
* console.log(result.passed); // true or false
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
executeSingle(ruleId: string, context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
87
|
+
/**
|
|
88
|
+
* Execute multiple rules in batch.
|
|
89
|
+
*
|
|
90
|
+
* Supports parallel or serial execution based on options.
|
|
91
|
+
* Optionally sorts rules by dependency order before execution.
|
|
92
|
+
*
|
|
93
|
+
* @param ruleIds - Array of rule IDs to execute
|
|
94
|
+
* @param context - Validation context
|
|
95
|
+
* @param options - Optional batch execution options
|
|
96
|
+
* @returns Promise resolving to array of validation results
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const results = await executor.executeBatch(
|
|
101
|
+
* ['no-duplicate-code', 'tests-required'],
|
|
102
|
+
* context,
|
|
103
|
+
* { parallel: true, sortByDependencies: true }
|
|
104
|
+
* );
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
executeBatch(ruleIds: string[], context: RuleValidationContext, options?: BatchExecutionOptions): Promise<RuleValidationResult[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Execute a rule with timeout protection.
|
|
110
|
+
*
|
|
111
|
+
* @param rule - The rule definition to execute
|
|
112
|
+
* @param context - Validation context
|
|
113
|
+
* @param timeoutMs - Timeout in milliseconds
|
|
114
|
+
* @returns Promise resolving to validation result
|
|
115
|
+
*/
|
|
116
|
+
private executeRuleWithTimeout;
|
|
117
|
+
/**
|
|
118
|
+
* Execute rules in parallel.
|
|
119
|
+
*
|
|
120
|
+
* @param rules - Array of rules to execute
|
|
121
|
+
* @param context - Validation context
|
|
122
|
+
* @param options - Execution options
|
|
123
|
+
* @returns Promise resolving to array of results
|
|
124
|
+
*/
|
|
125
|
+
private executeParallel;
|
|
126
|
+
/**
|
|
127
|
+
* Sort rules by dependency order using the hierarchy.
|
|
128
|
+
*
|
|
129
|
+
* @param rules - Array of rules to sort
|
|
130
|
+
* @returns Sorted array of rules
|
|
131
|
+
*/
|
|
132
|
+
private sortByDependencyOrder;
|
|
133
|
+
/**
|
|
134
|
+
* Process a single result and categorize errors/warnings.
|
|
135
|
+
*/
|
|
136
|
+
private processResult;
|
|
137
|
+
/**
|
|
138
|
+
* Process multiple results and categorize errors/warnings.
|
|
139
|
+
*/
|
|
140
|
+
private processResults;
|
|
141
|
+
/**
|
|
142
|
+
* Get applicable rules for an operation and context.
|
|
143
|
+
*
|
|
144
|
+
* @param operation - The operation being performed
|
|
145
|
+
* @param context - Validation context
|
|
146
|
+
* @returns Array of applicable rule definitions
|
|
147
|
+
*/
|
|
148
|
+
private getApplicableRules;
|
|
149
|
+
/**
|
|
150
|
+
* Check if a rule is applicable to the current operation.
|
|
151
|
+
*
|
|
152
|
+
* @param rule - The rule definition
|
|
153
|
+
* @param operation - The operation being performed
|
|
154
|
+
* @param context - Validation context
|
|
155
|
+
* @returns true if the rule is applicable
|
|
156
|
+
*/
|
|
157
|
+
private isRuleApplicable;
|
|
158
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule Hierarchy - Manage rule dependencies and execution order
|
|
3
|
+
*
|
|
4
|
+
* This class manages rule dependencies and calculates execution order.
|
|
5
|
+
* It uses topological sorting to ensure dependencies are validated before dependents.
|
|
6
|
+
*
|
|
7
|
+
* Phase 5 refactoring: Extracted from RuleEnforcer.
|
|
8
|
+
*
|
|
9
|
+
* @module enforcement/core
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* const hierarchy = new RuleHierarchy();
|
|
15
|
+
* hierarchy.addDependency('tests-required', ['no-duplicate-code']);
|
|
16
|
+
* hierarchy.addDependency('memory-optimization', ['context-analysis-integration']);
|
|
17
|
+
*
|
|
18
|
+
* const order = hierarchy.getExecutionOrder(['tests-required', 'memory-optimization']);
|
|
19
|
+
* // Result: ['no-duplicate-code', 'tests-required', 'context-analysis-integration', 'memory-optimization']
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
import { IRuleHierarchy } from '../types.js';
|
|
23
|
+
/**
|
|
24
|
+
* RuleHierarchy manages rule dependency relationships and execution ordering.
|
|
25
|
+
*
|
|
26
|
+
* Key responsibilities:
|
|
27
|
+
* - Track rule dependencies (A depends on B)
|
|
28
|
+
* - Calculate execution order via topological sort
|
|
29
|
+
* - Detect circular dependencies
|
|
30
|
+
* - Check dependency satisfaction
|
|
31
|
+
*/
|
|
32
|
+
export declare class RuleHierarchy implements IRuleHierarchy {
|
|
33
|
+
/** Map of rule IDs to their dependencies */
|
|
34
|
+
private dependencies;
|
|
35
|
+
/** Map of rule IDs to rules that depend on them */
|
|
36
|
+
private dependents;
|
|
37
|
+
/**
|
|
38
|
+
* Add a dependency relationship.
|
|
39
|
+
* The rule will be executed after all its dependencies.
|
|
40
|
+
*
|
|
41
|
+
* @param ruleId - The rule that depends on others
|
|
42
|
+
* @param dependsOn - Array of rule IDs that must be executed first
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* hierarchy.addDependency('tests-required', ['no-duplicate-code']);
|
|
47
|
+
* // tests-required will be validated after no-duplicate-code
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
addDependency(ruleId: string, dependsOn: string[]): void;
|
|
51
|
+
/**
|
|
52
|
+
* Get all dependencies for a rule.
|
|
53
|
+
*
|
|
54
|
+
* @param ruleId - The rule to get dependencies for
|
|
55
|
+
* @returns Array of rule IDs that the rule depends on
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const deps = hierarchy.getDependencies('tests-required');
|
|
60
|
+
* console.log(deps); // ['no-duplicate-code']
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
getDependencies(ruleId: string): string[];
|
|
64
|
+
/**
|
|
65
|
+
* Get all rules that depend on the given rule.
|
|
66
|
+
*
|
|
67
|
+
* @param ruleId - The rule to get dependents for
|
|
68
|
+
* @returns Array of rule IDs that depend on this rule
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* const dependents = hierarchy.getDependents('no-duplicate-code');
|
|
73
|
+
* console.log(dependents); // ['tests-required']
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
getDependents(ruleId: string): string[];
|
|
77
|
+
/**
|
|
78
|
+
* Get the execution order for a set of rules using topological sort.
|
|
79
|
+
* Rules are returned in order such that dependencies come before dependents.
|
|
80
|
+
*
|
|
81
|
+
* Uses Kahn's algorithm for topological sorting.
|
|
82
|
+
*
|
|
83
|
+
* @param ruleIds - Array of rule IDs to order
|
|
84
|
+
* @returns Sorted array of rule IDs in dependency order
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const order = hierarchy.getExecutionOrder(['tests-required', 'no-duplicate-code']);
|
|
89
|
+
* // Result: ['no-duplicate-code', 'tests-required']
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
getExecutionOrder(ruleIds: string[]): string[];
|
|
93
|
+
/**
|
|
94
|
+
* Check if any circular dependencies exist in the hierarchy.
|
|
95
|
+
*
|
|
96
|
+
* @returns true if circular dependencies exist, false otherwise
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* if (hierarchy.hasCircularDependencies()) {
|
|
101
|
+
* console.error('Circular dependencies detected!');
|
|
102
|
+
* }
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
hasCircularDependencies(): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Find all circular dependency cycles.
|
|
108
|
+
* Uses DFS to detect cycles in the dependency graph.
|
|
109
|
+
*
|
|
110
|
+
* @returns Array of cycles, where each cycle is an array of rule IDs
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const cycles = hierarchy.findCircularDependencies();
|
|
115
|
+
* // cycles might be [['rule-a', 'rule-b', 'rule-c']]
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
findCircularDependencies(): string[][];
|
|
119
|
+
/**
|
|
120
|
+
* Check if all dependencies for a rule have been executed.
|
|
121
|
+
*
|
|
122
|
+
* @param ruleId - The rule to check
|
|
123
|
+
* @param executedRules - Set of rule IDs that have already been executed
|
|
124
|
+
* @returns true if all dependencies are satisfied, false otherwise
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const executed = new Set(['no-duplicate-code']);
|
|
129
|
+
* if (hierarchy.isDependencySatisfied('tests-required', executed)) {
|
|
130
|
+
* // Safe to execute tests-required
|
|
131
|
+
* }
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
isDependencySatisfied(ruleId: string, executedRules: Set<string>): boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Clear all dependency relationships.
|
|
137
|
+
* Useful for testing or reinitializing.
|
|
138
|
+
*/
|
|
139
|
+
clear(): void;
|
|
140
|
+
/**
|
|
141
|
+
* Get all rules that have dependencies registered.
|
|
142
|
+
*
|
|
143
|
+
* @returns Array of rule IDs with dependencies
|
|
144
|
+
*/
|
|
145
|
+
getAllRules(): string[];
|
|
146
|
+
}
|