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,501 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rule Enforcement System Types
|
|
3
|
+
*
|
|
4
|
+
* This module contains all TypeScript type definitions for the rule enforcement system.
|
|
5
|
+
* Extracted from rule-enforcer.ts as part of Phase 1 refactoring.
|
|
6
|
+
*
|
|
7
|
+
* @module types
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Rule severity levels
|
|
12
|
+
*/
|
|
13
|
+
export type RuleSeverity = "error" | "warning" | "info" | "blocking" | "high";
|
|
14
|
+
/**
|
|
15
|
+
* Rule categories for organizing and filtering rules
|
|
16
|
+
*/
|
|
17
|
+
export type RuleCategory = "code-quality" | "architecture" | "performance" | "security" | "testing" | "reporting" | "codex";
|
|
18
|
+
/**
|
|
19
|
+
* Rule fix action types
|
|
20
|
+
*/
|
|
21
|
+
export type RuleFixType = "create-file" | "modify-file" | "add-dependency" | "run-command";
|
|
22
|
+
/**
|
|
23
|
+
* Defines a validation rule with its metadata and validator function.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const rule: RuleDefinition = {
|
|
28
|
+
* id: "no-console",
|
|
29
|
+
* name: "No Console Logs",
|
|
30
|
+
* description: "Prevents console.log usage in production code",
|
|
31
|
+
* category: "code-quality",
|
|
32
|
+
* severity: "warning",
|
|
33
|
+
* validator: async (context) => ({ passed: true, message: "OK" }),
|
|
34
|
+
* enabled: true
|
|
35
|
+
* };
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export interface RuleDefinition {
|
|
39
|
+
/** Unique identifier for the rule */
|
|
40
|
+
id: string;
|
|
41
|
+
/** Human-readable name of the rule */
|
|
42
|
+
name: string;
|
|
43
|
+
/** Detailed description of what the rule validates */
|
|
44
|
+
description: string;
|
|
45
|
+
/** Category for organizing rules */
|
|
46
|
+
category: RuleCategory;
|
|
47
|
+
/** Severity level of violations */
|
|
48
|
+
severity: RuleSeverity;
|
|
49
|
+
/** Async validator function that performs the validation */
|
|
50
|
+
validator: (context: RuleValidationContext) => Promise<RuleValidationResult>;
|
|
51
|
+
/** Whether the rule is currently active */
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Context object passed to rule validators containing operation details.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const context: RuleValidationContext = {
|
|
60
|
+
* operation: "write",
|
|
61
|
+
* files: ["src/index.ts"],
|
|
62
|
+
* newCode: "console.log('hello');"
|
|
63
|
+
* };
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export interface RuleValidationContext {
|
|
67
|
+
/** The operation being performed (write, create, modify, etc.) */
|
|
68
|
+
operation: string;
|
|
69
|
+
/** List of files involved in the operation */
|
|
70
|
+
files?: string[];
|
|
71
|
+
/** Name of the component being created/modified */
|
|
72
|
+
component?: string;
|
|
73
|
+
/** Map of existing file paths to their content */
|
|
74
|
+
existingCode?: Map<string, string>;
|
|
75
|
+
/** New code being written */
|
|
76
|
+
newCode?: string;
|
|
77
|
+
/** List of declared dependencies */
|
|
78
|
+
dependencies?: string[];
|
|
79
|
+
/** List of test files */
|
|
80
|
+
tests?: string[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Result of a rule validation operation.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const result: RuleValidationResult = {
|
|
88
|
+
* passed: false,
|
|
89
|
+
* message: "Console.log detected",
|
|
90
|
+
* suggestions: ["Use frameworkLogger instead"],
|
|
91
|
+
* fixes: [{ type: "modify-file", description: "Replace console.log" }]
|
|
92
|
+
* };
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export interface RuleValidationResult {
|
|
96
|
+
/** Whether validation passed */
|
|
97
|
+
passed: boolean;
|
|
98
|
+
/** Human-readable message describing the result */
|
|
99
|
+
message: string;
|
|
100
|
+
/** Optional list of improvement suggestions */
|
|
101
|
+
suggestions?: string[];
|
|
102
|
+
/** Optional list of automated fixes that can be applied */
|
|
103
|
+
fixes?: RuleFix[];
|
|
104
|
+
/** Severity level for this result */
|
|
105
|
+
severity?: RuleSeverity;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Complete validation report for an operation.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const report: ValidationReport = {
|
|
113
|
+
* operation: "write",
|
|
114
|
+
* passed: false,
|
|
115
|
+
* errors: ["Rule 1 failed"],
|
|
116
|
+
* warnings: ["Rule 2 warning"],
|
|
117
|
+
* results: [...],
|
|
118
|
+
* timestamp: new Date()
|
|
119
|
+
* };
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export interface ValidationReport {
|
|
123
|
+
/** The operation that was validated */
|
|
124
|
+
operation: string;
|
|
125
|
+
/** Whether all rules passed */
|
|
126
|
+
passed: boolean;
|
|
127
|
+
/** List of error messages */
|
|
128
|
+
errors: string[];
|
|
129
|
+
/** List of warning messages */
|
|
130
|
+
warnings: string[];
|
|
131
|
+
/** Detailed results from each rule */
|
|
132
|
+
results: RuleValidationResult[];
|
|
133
|
+
/** When the validation was performed */
|
|
134
|
+
timestamp: Date;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Represents a detected rule violation.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const violation: Violation = {
|
|
142
|
+
* rule: "no-console",
|
|
143
|
+
* message: "Console.log detected",
|
|
144
|
+
* severity: "error"
|
|
145
|
+
* };
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
export interface Violation {
|
|
149
|
+
/** ID of the violated rule */
|
|
150
|
+
rule: string;
|
|
151
|
+
/** Human-readable message describing the violation */
|
|
152
|
+
message: string;
|
|
153
|
+
/** Severity of the violation */
|
|
154
|
+
severity?: RuleSeverity;
|
|
155
|
+
/** Optional suggestions for fixing */
|
|
156
|
+
suggestions?: string[];
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Tracks an attempt to fix a rule violation.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* const fix: ViolationFix = {
|
|
164
|
+
* ruleId: "no-console",
|
|
165
|
+
* agent: "refactorer",
|
|
166
|
+
* skill: "code-review",
|
|
167
|
+
* context: {...},
|
|
168
|
+
* attempted: true,
|
|
169
|
+
* success: true
|
|
170
|
+
* };
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export interface ViolationFix {
|
|
174
|
+
/** ID of the rule that was violated */
|
|
175
|
+
ruleId: string;
|
|
176
|
+
/** Agent that attempted the fix */
|
|
177
|
+
agent: string;
|
|
178
|
+
/** Skill that was invoked */
|
|
179
|
+
skill: string;
|
|
180
|
+
/** Context at the time of the fix attempt */
|
|
181
|
+
context: unknown;
|
|
182
|
+
/** Whether a fix was attempted */
|
|
183
|
+
attempted: boolean;
|
|
184
|
+
/** Whether the fix succeeded (if attempted) */
|
|
185
|
+
success?: boolean;
|
|
186
|
+
/** Error message if fix failed */
|
|
187
|
+
error?: string;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Describes an automated fix that can be applied to resolve a violation.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* const fix: RuleFix = {
|
|
195
|
+
* type: "modify-file",
|
|
196
|
+
* description: "Remove console.log statements",
|
|
197
|
+
* filePath: "src/index.ts",
|
|
198
|
+
* content: "// cleaned code"
|
|
199
|
+
* };
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
export interface RuleFix {
|
|
203
|
+
/** Type of fix to apply */
|
|
204
|
+
type: RuleFixType;
|
|
205
|
+
/** Human-readable description of the fix */
|
|
206
|
+
description: string;
|
|
207
|
+
/** Target file path (for file operations) */
|
|
208
|
+
filePath?: string;
|
|
209
|
+
/** Content to write (for file operations) */
|
|
210
|
+
content?: string;
|
|
211
|
+
/** Command to execute (for command operations) */
|
|
212
|
+
command?: string;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Type guard to check if an object is a valid RuleValidationResult.
|
|
216
|
+
*
|
|
217
|
+
* @param obj - The object to check
|
|
218
|
+
* @returns True if the object is a valid RuleValidationResult
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* if (isRuleValidationResult(value)) {
|
|
223
|
+
* console.log(value.passed);
|
|
224
|
+
* }
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
export declare function isRuleValidationResult(obj: unknown): obj is RuleValidationResult;
|
|
228
|
+
/**
|
|
229
|
+
* Interface for individual validators extracted from RuleEnforcer.
|
|
230
|
+
* Validators encapsulate specific validation logic and can be tested independently.
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ```typescript
|
|
234
|
+
* class MyValidator implements IValidator {
|
|
235
|
+
* readonly id = 'my-validator';
|
|
236
|
+
* readonly ruleId = 'my-rule';
|
|
237
|
+
* readonly category = 'code-quality';
|
|
238
|
+
* readonly severity = 'error';
|
|
239
|
+
*
|
|
240
|
+
* async validate(context: RuleValidationContext): Promise<RuleValidationResult> {
|
|
241
|
+
* // validation logic
|
|
242
|
+
* }
|
|
243
|
+
* }
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
export interface IValidator {
|
|
247
|
+
/** Unique identifier for this validator instance */
|
|
248
|
+
readonly id: string;
|
|
249
|
+
/** The rule ID this validator validates */
|
|
250
|
+
readonly ruleId: string;
|
|
251
|
+
/** Category for organizing validators */
|
|
252
|
+
readonly category: RuleCategory;
|
|
253
|
+
/** Severity level of violations */
|
|
254
|
+
readonly severity: RuleSeverity;
|
|
255
|
+
/**
|
|
256
|
+
* Perform validation on the given context.
|
|
257
|
+
* @param context - The validation context containing code and operation info
|
|
258
|
+
* @returns Promise resolving to validation result
|
|
259
|
+
*/
|
|
260
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Interface for validator registry implementations.
|
|
264
|
+
* Manages validator instances and provides lookup capabilities.
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* const registry = new ValidatorRegistry();
|
|
269
|
+
* registry.register(new NoDuplicateCodeValidator());
|
|
270
|
+
* const validator = registry.getValidator('no-duplicate-code');
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
export interface IValidatorRegistry {
|
|
274
|
+
/** Register a validator instance */
|
|
275
|
+
register(validator: IValidator): void;
|
|
276
|
+
/** Get a validator by rule ID */
|
|
277
|
+
getValidator(ruleId: string): IValidator | undefined;
|
|
278
|
+
/** Get all validators for a specific category */
|
|
279
|
+
getValidatorsByCategory(category: RuleCategory): IValidator[];
|
|
280
|
+
/** Get all registered validators */
|
|
281
|
+
getAllValidators(): IValidator[];
|
|
282
|
+
/** Check if a validator exists for a rule ID */
|
|
283
|
+
hasValidator(ruleId: string): boolean;
|
|
284
|
+
/** Remove a validator from the registry */
|
|
285
|
+
unregister(ruleId: string): boolean;
|
|
286
|
+
/** Clear all validators from the registry */
|
|
287
|
+
clear(): void;
|
|
288
|
+
/** Get count of registered validators */
|
|
289
|
+
getCount(): number;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Interface for rule registry implementations.
|
|
293
|
+
* Provides storage and management of validation rules separate from execution.
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* ```typescript
|
|
297
|
+
* const registry: IRuleRegistry = new RuleRegistry();
|
|
298
|
+
* registry.addRule({ id: "no-console", name: "No Console", ... });
|
|
299
|
+
* const rules = registry.getRules();
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
export interface IRuleRegistry {
|
|
303
|
+
/** Add a rule to the registry */
|
|
304
|
+
addRule(rule: RuleDefinition): void;
|
|
305
|
+
/** Get all loaded rules */
|
|
306
|
+
getRules(): RuleDefinition[];
|
|
307
|
+
/** Get a specific rule by ID */
|
|
308
|
+
getRule(ruleId: string): RuleDefinition | undefined;
|
|
309
|
+
/** Enable a rule by ID */
|
|
310
|
+
enableRule(ruleId: string): boolean;
|
|
311
|
+
/** Disable a rule by ID */
|
|
312
|
+
disableRule(ruleId: string): boolean;
|
|
313
|
+
/** Check if a rule is enabled */
|
|
314
|
+
isRuleEnabled(ruleId: string): boolean;
|
|
315
|
+
/** Get total rule count */
|
|
316
|
+
getRuleCount(): number;
|
|
317
|
+
/** Get rule statistics by category and status */
|
|
318
|
+
getRuleStats(): {
|
|
319
|
+
totalRules: number;
|
|
320
|
+
enabledRules: number;
|
|
321
|
+
disabledRules: number;
|
|
322
|
+
ruleCategories: Record<string, number>;
|
|
323
|
+
};
|
|
324
|
+
/** Check if a rule exists in the registry */
|
|
325
|
+
hasRule(ruleId: string): boolean;
|
|
326
|
+
/** Remove a rule from the registry */
|
|
327
|
+
removeRule(ruleId: string): boolean;
|
|
328
|
+
/** Clear all rules from the registry */
|
|
329
|
+
clearRules(): void;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Interface for rule loader implementations.
|
|
333
|
+
* Loaders encapsulate the logic for loading rules from various sources
|
|
334
|
+
* such as files, APIs, or databases.
|
|
335
|
+
*
|
|
336
|
+
* Phase 4 refactoring: Extracted async rule loading logic from RuleEnforcer
|
|
337
|
+
* into separate loader classes for better separation of concerns.
|
|
338
|
+
*
|
|
339
|
+
* @example
|
|
340
|
+
* ```typescript
|
|
341
|
+
* class MyLoader extends BaseLoader {
|
|
342
|
+
* readonly name = 'my-loader';
|
|
343
|
+
*
|
|
344
|
+
* async load(): Promise<RuleDefinition[]> {
|
|
345
|
+
* // Load rules from custom source
|
|
346
|
+
* return [...];
|
|
347
|
+
* }
|
|
348
|
+
*
|
|
349
|
+
* async isAvailable(): Promise<boolean> {
|
|
350
|
+
* return fs.existsSync('my-rules.json');
|
|
351
|
+
* }
|
|
352
|
+
* }
|
|
353
|
+
* ```
|
|
354
|
+
*/
|
|
355
|
+
export interface IRuleLoader {
|
|
356
|
+
/** Unique name identifier for this loader */
|
|
357
|
+
readonly name: string;
|
|
358
|
+
/**
|
|
359
|
+
* Load rules from the source.
|
|
360
|
+
* @returns Promise resolving to array of rule definitions
|
|
361
|
+
*/
|
|
362
|
+
load(): Promise<RuleDefinition[]>;
|
|
363
|
+
/**
|
|
364
|
+
* Check if this loader's source is available.
|
|
365
|
+
* @returns Promise resolving to true if source exists and is accessible
|
|
366
|
+
*/
|
|
367
|
+
isAvailable(): Promise<boolean>;
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Options for rule execution.
|
|
371
|
+
*/
|
|
372
|
+
export interface ExecutionOptions {
|
|
373
|
+
/** Whether to execute rules in parallel (default: false for predictable ordering) */
|
|
374
|
+
parallel?: boolean;
|
|
375
|
+
/** Maximum number of parallel executions if parallel is true */
|
|
376
|
+
concurrency?: number;
|
|
377
|
+
/** Timeout in milliseconds for each rule validation (default: 30000) */
|
|
378
|
+
timeoutMs?: number;
|
|
379
|
+
/** Whether to stop execution on first error (default: false) */
|
|
380
|
+
stopOnError?: boolean;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Options for batch rule execution.
|
|
384
|
+
*/
|
|
385
|
+
export interface BatchExecutionOptions extends ExecutionOptions {
|
|
386
|
+
/** Whether to sort by dependency order before execution (default: true) */
|
|
387
|
+
sortByDependencies?: boolean;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Strategy for fixing a specific rule violation.
|
|
391
|
+
*/
|
|
392
|
+
export interface FixStrategy {
|
|
393
|
+
/** Agent name to delegate the fix to */
|
|
394
|
+
agent: string;
|
|
395
|
+
/** Skill to invoke on the agent */
|
|
396
|
+
skill: string;
|
|
397
|
+
/** Tool to use for the skill */
|
|
398
|
+
tool: string;
|
|
399
|
+
/** Priority for fix execution (higher = earlier) */
|
|
400
|
+
priority: number;
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Interface for rule hierarchy management.
|
|
404
|
+
* Manages rule dependencies and execution ordering.
|
|
405
|
+
*
|
|
406
|
+
* Phase 5 refactoring: Extracted dependency management from RuleEnforcer.
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* ```typescript
|
|
410
|
+
* const hierarchy = new RuleHierarchy();
|
|
411
|
+
* hierarchy.addDependency('tests-required', ['no-duplicate-code']);
|
|
412
|
+
* const order = hierarchy.getExecutionOrder(['tests-required', 'no-duplicate-code']);
|
|
413
|
+
* ```
|
|
414
|
+
*/
|
|
415
|
+
export interface IRuleHierarchy {
|
|
416
|
+
/** Add a dependency relationship */
|
|
417
|
+
addDependency(ruleId: string, dependsOn: string[]): void;
|
|
418
|
+
/** Get dependencies for a rule */
|
|
419
|
+
getDependencies(ruleId: string): string[];
|
|
420
|
+
/** Get rules that depend on this rule */
|
|
421
|
+
getDependents(ruleId: string): string[];
|
|
422
|
+
/** Get execution order for rules based on dependencies */
|
|
423
|
+
getExecutionOrder(ruleIds: string[]): string[];
|
|
424
|
+
/** Check if circular dependencies exist */
|
|
425
|
+
hasCircularDependencies(): boolean;
|
|
426
|
+
/** Find all circular dependency cycles */
|
|
427
|
+
findCircularDependencies(): string[][];
|
|
428
|
+
/** Check if a rule's dependencies are satisfied */
|
|
429
|
+
isDependencySatisfied(ruleId: string, executedRules: Set<string>): boolean;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Interface for rule execution orchestration.
|
|
433
|
+
* Manages the execution of validation rules.
|
|
434
|
+
*
|
|
435
|
+
* Phase 5 refactoring: Extracted validation execution from RuleEnforcer.
|
|
436
|
+
*
|
|
437
|
+
* @example
|
|
438
|
+
* ```typescript
|
|
439
|
+
* const executor = new RuleExecutor(registry, hierarchy, validatorRegistry);
|
|
440
|
+
* const report = await executor.execute('write', context);
|
|
441
|
+
* ```
|
|
442
|
+
*/
|
|
443
|
+
export interface IRuleExecutor {
|
|
444
|
+
/** Execute validation for an operation */
|
|
445
|
+
execute(operation: string, context: RuleValidationContext, options?: ExecutionOptions): Promise<ValidationReport>;
|
|
446
|
+
/** Execute a single rule by ID */
|
|
447
|
+
executeSingle(ruleId: string, context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
448
|
+
/** Execute multiple rules in batch */
|
|
449
|
+
executeBatch(ruleIds: string[], context: RuleValidationContext, options?: BatchExecutionOptions): Promise<RuleValidationResult[]>;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Interface for violation fix delegation.
|
|
453
|
+
* Maps violations to appropriate agents/skills and attempts fixes.
|
|
454
|
+
*
|
|
455
|
+
* Phase 5 refactoring: Extracted fix delegation from RuleEnforcer.
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* ```typescript
|
|
459
|
+
* const fixer = new ViolationFixer();
|
|
460
|
+
* const fixes = await fixer.fixViolations(violations, context);
|
|
461
|
+
* ```
|
|
462
|
+
*/
|
|
463
|
+
export interface IViolationFixer {
|
|
464
|
+
/** Attempt to fix violations by delegating to agents/skills */
|
|
465
|
+
fixViolations(violations: Violation[], context: RuleValidationContext): Promise<ViolationFix[]>;
|
|
466
|
+
/** Register a custom fix strategy for a rule */
|
|
467
|
+
registerFixStrategy(ruleId: string, strategy: FixStrategy): void;
|
|
468
|
+
/** Get fix strategy for a rule */
|
|
469
|
+
getFixStrategy(ruleId: string): FixStrategy | undefined;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Codex term structure from codex.json
|
|
473
|
+
* Used by CodexLoader to convert terms to rules.
|
|
474
|
+
*/
|
|
475
|
+
export interface CodexTerm {
|
|
476
|
+
/** Term number */
|
|
477
|
+
number: number;
|
|
478
|
+
/** Term title */
|
|
479
|
+
title: string;
|
|
480
|
+
/** Term description */
|
|
481
|
+
description: string;
|
|
482
|
+
/** Term category */
|
|
483
|
+
category: string;
|
|
484
|
+
/** Whether this is a zero-tolerance term */
|
|
485
|
+
zeroTolerance: boolean;
|
|
486
|
+
/** Enforcement level (blocking, high, medium, low) */
|
|
487
|
+
enforcementLevel: string;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Codex data structure from codex.json
|
|
491
|
+
*/
|
|
492
|
+
export interface CodexData {
|
|
493
|
+
/** Version of the codex */
|
|
494
|
+
version: string;
|
|
495
|
+
/** Last updated date */
|
|
496
|
+
lastUpdated: string;
|
|
497
|
+
/** Error prevention target percentage */
|
|
498
|
+
errorPreventionTarget: number;
|
|
499
|
+
/** Map of term numbers to term definitions */
|
|
500
|
+
terms: Record<string, CodexTerm>;
|
|
501
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Architecture Validators
|
|
3
|
+
*
|
|
4
|
+
* Validators for architecture category rules extracted from rule-enforcer.ts.
|
|
5
|
+
* Each validator encapsulates the validation logic for a specific architectural rule.
|
|
6
|
+
*
|
|
7
|
+
* @module validators/architecture-validators
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
import { RuleValidationContext, RuleValidationResult } from "../types.js";
|
|
11
|
+
import { BaseValidator } from "./base-validator.js";
|
|
12
|
+
/**
|
|
13
|
+
* Validates dependency management (Codex Term #46).
|
|
14
|
+
* Ensures dependencies are properly declared and used.
|
|
15
|
+
*/
|
|
16
|
+
export declare class DependencyManagementValidator extends BaseValidator {
|
|
17
|
+
readonly id = "dependency-management-validator";
|
|
18
|
+
readonly ruleId = "dependency-management";
|
|
19
|
+
readonly category: "architecture";
|
|
20
|
+
readonly severity: "error";
|
|
21
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Validates src-dist integrity.
|
|
25
|
+
* Prevents direct file copying between src/ and dist/.
|
|
26
|
+
* All changes must be made in src/ and compiled via npm run build.
|
|
27
|
+
*/
|
|
28
|
+
export declare class SrcDistIntegrityValidator extends BaseValidator {
|
|
29
|
+
readonly id = "src-dist-integrity-validator";
|
|
30
|
+
readonly ruleId = "src-dist-integrity";
|
|
31
|
+
readonly category: "architecture";
|
|
32
|
+
readonly severity: "error";
|
|
33
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Validates import consistency (Codex Term #46).
|
|
37
|
+
* Ensures consistent import patterns throughout the codebase.
|
|
38
|
+
*/
|
|
39
|
+
export declare class ImportConsistencyValidator extends BaseValidator {
|
|
40
|
+
readonly id = "import-consistency-validator";
|
|
41
|
+
readonly ruleId = "import-consistency";
|
|
42
|
+
readonly category: "architecture";
|
|
43
|
+
readonly severity: "error";
|
|
44
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Validates module system consistency (Codex Term #47).
|
|
48
|
+
* Enforces ES module consistency and prevents CommonJS/ES module mixing.
|
|
49
|
+
*/
|
|
50
|
+
export declare class ModuleSystemConsistencyValidator extends BaseValidator {
|
|
51
|
+
readonly id = "module-system-consistency-validator";
|
|
52
|
+
readonly ruleId = "module-system-consistency";
|
|
53
|
+
readonly category: "architecture";
|
|
54
|
+
readonly severity: "error";
|
|
55
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Validates error resolution (Codex Term #7).
|
|
59
|
+
* Ensures proper error handling and prevents console.log debugging.
|
|
60
|
+
*/
|
|
61
|
+
export declare class ErrorResolutionValidator extends BaseValidator {
|
|
62
|
+
readonly id = "error-resolution-validator";
|
|
63
|
+
readonly ruleId = "error-resolution";
|
|
64
|
+
readonly category: "architecture";
|
|
65
|
+
readonly severity: "error";
|
|
66
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Validates loop safety (Codex Term #8).
|
|
70
|
+
* Prevents infinite loops by checking for proper termination conditions.
|
|
71
|
+
*/
|
|
72
|
+
export declare class LoopSafetyValidator extends BaseValidator {
|
|
73
|
+
readonly id = "loop-safety-validator";
|
|
74
|
+
readonly ruleId = "loop-safety";
|
|
75
|
+
readonly category: "architecture";
|
|
76
|
+
readonly severity: "error";
|
|
77
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Validates state management patterns (Codex Term #41).
|
|
81
|
+
* Ensures proper state management throughout the application.
|
|
82
|
+
*/
|
|
83
|
+
export declare class StateManagementPatternsValidator extends BaseValidator {
|
|
84
|
+
readonly id = "state-management-patterns-validator";
|
|
85
|
+
readonly ruleId = "state-management-patterns";
|
|
86
|
+
readonly category: "architecture";
|
|
87
|
+
readonly severity: "error";
|
|
88
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Validates single responsibility principle (Codex Term #24).
|
|
92
|
+
* Ensures classes and functions don't do too many things.
|
|
93
|
+
*/
|
|
94
|
+
export declare class SingleResponsibilityValidator extends BaseValidator {
|
|
95
|
+
readonly id = "single-responsibility-validator";
|
|
96
|
+
readonly ruleId = "single-responsibility";
|
|
97
|
+
readonly category: "architecture";
|
|
98
|
+
readonly severity: "warning";
|
|
99
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Validates deployment safety (Codex Term #43).
|
|
103
|
+
* Ensures deployments have proper safety checks.
|
|
104
|
+
*/
|
|
105
|
+
export declare class DeploymentSafetyValidator extends BaseValidator {
|
|
106
|
+
readonly id = "deployment-safety-validator";
|
|
107
|
+
readonly ruleId = "deployment-safety";
|
|
108
|
+
readonly category: "architecture";
|
|
109
|
+
readonly severity: "blocking";
|
|
110
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Validates multi-agent ensemble patterns.
|
|
114
|
+
* Ensures multi-agent configurations follow best practices.
|
|
115
|
+
*/
|
|
116
|
+
export declare class MultiAgentEnsembleValidator extends BaseValidator {
|
|
117
|
+
readonly id = "multi-agent-ensemble-validator";
|
|
118
|
+
readonly ruleId = "multi-agent-ensemble";
|
|
119
|
+
readonly category: "architecture";
|
|
120
|
+
readonly severity: "warning";
|
|
121
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Validates substrate externalization patterns.
|
|
125
|
+
* Ensures proper abstraction boundaries.
|
|
126
|
+
*/
|
|
127
|
+
export declare class SubstrateExternalizationValidator extends BaseValidator {
|
|
128
|
+
readonly id = "substrate-externalization-validator";
|
|
129
|
+
readonly ruleId = "substrate-externalization";
|
|
130
|
+
readonly category: "architecture";
|
|
131
|
+
readonly severity: "info";
|
|
132
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Validates framework self-validation capability.
|
|
136
|
+
* Ensures framework can validate itself.
|
|
137
|
+
*/
|
|
138
|
+
export declare class FrameworkSelfValidationValidator extends BaseValidator {
|
|
139
|
+
readonly id = "framework-self-validation-validator";
|
|
140
|
+
readonly ruleId = "framework-self-validation";
|
|
141
|
+
readonly category: "architecture";
|
|
142
|
+
readonly severity: "info";
|
|
143
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Validates emergent improvement patterns.
|
|
147
|
+
* Ensures continuous improvement mechanisms exist.
|
|
148
|
+
*/
|
|
149
|
+
export declare class EmergentImprovementValidator extends BaseValidator {
|
|
150
|
+
readonly id = "emergent-improvement-validator";
|
|
151
|
+
readonly ruleId = "emergent-improvement";
|
|
152
|
+
readonly category: "architecture";
|
|
153
|
+
readonly severity: "info";
|
|
154
|
+
validate(context: RuleValidationContext): Promise<RuleValidationResult>;
|
|
155
|
+
}
|