0xray 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.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 +6 -6
- package/README.md +276 -76
- package/dist/AGENTS.md +6 -6
- 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/benchmark/performance-benchmark.js +3 -3
- 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/hermes-install.js +4 -4
- package/dist/cli/commands/mcp-install.d.ts +4 -0
- package/dist/cli/commands/mcp-install.js +1 -1
- package/dist/cli/commands/openclaw-install.d.ts +2 -0
- package/dist/cli/commands/openclaw-install.js +1 -1
- package/dist/cli/commands/opencode-install.d.ts +2 -0
- package/dist/cli/commands/plugin-commands.d.ts +19 -0
- package/dist/cli/commands/plugin-commands.js +2 -2
- package/dist/cli/commands/publish-agent.d.ts +15 -0
- package/dist/cli/commands/publish-agent.js +5 -5
- package/dist/cli/commands/security-audit.d.ts +23 -0
- package/dist/cli/commands/skill-install.d.ts +5 -0
- package/dist/cli/commands/skill-install.js +1 -1
- package/dist/cli/commands/status.d.ts +41 -0
- package/dist/cli/commands/status.js +3 -3
- package/dist/cli/commands/storyteller.d.ts +19 -0
- package/dist/cli/commands/storyteller.js +2 -2
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.js +8 -8
- package/dist/cli/server.d.ts +1 -0
- package/dist/cli/server.js +1 -1
- 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/agent-spawn-gate.js +1 -1
- package/dist/core/boot-orchestrator.d.ts +99 -0
- package/dist/core/boot-orchestrator.js +28 -28
- package/dist/core/bridge.mjs +22 -22
- package/dist/core/codex-formatter.d.ts +96 -0
- package/dist/core/codex-formatter.js +2 -2
- package/dist/core/codex-injector.d.ts +75 -0
- package/dist/core/codex-injector.js +11 -10
- package/dist/core/config-loader.d.ts +71 -0
- package/dist/core/config-loader.js +4 -2
- package/dist/core/config-paths.d.ts +62 -0
- package/dist/core/config-paths.js +24 -23
- package/dist/core/context-loader.d.ts +122 -0
- package/dist/core/context-loader.js +7 -5
- 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/index.js +1 -1
- 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 +72 -0
- package/dist/core/orchestrator.js +3 -2
- package/dist/core/system-prompt-generator.d.ts +35 -0
- package/dist/core/system-prompt-generator.js +2 -2
- package/dist/core/trace-context.d.ts +12 -0
- package/dist/core/xray-activation.d.ts +14 -0
- package/dist/core/xray-activation.js +29 -24
- package/dist/delegation/agent-delegator.d.ts +186 -0
- package/dist/delegation/agent-delegator.js +3 -3
- 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/enforcer-tools.js +2 -2
- 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/codex-loader.js +2 -2
- 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/index.js +6 -6
- package/dist/inference/deploy-verifier.d.ts +26 -0
- package/dist/inference/deploy-verifier.js +1 -1
- 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/inference-cycle.js +7 -7
- 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/README.md +2 -2
- 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/index.js +1 -1
- package/dist/integrations/governance/types.d.ts +239 -0
- package/dist/integrations/grok/grok-cli.d.ts +25 -0
- package/dist/integrations/grok/grok-cli.js +6 -6
- package/dist/integrations/grok/hooks/pre-tool-use.js +1 -1
- package/dist/integrations/grok/plugin/0xray/.mcp.json +3 -3
- package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/dist/integrations/hermes-agent/__init__.py +78 -72
- package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313-pytest-9.0.2.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/after-install.md +14 -14
- package/dist/integrations/hermes-agent/bridge.mjs +14 -14
- package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +1 -0
- package/dist/integrations/hermes-agent/plugin.yaml +5 -5
- package/dist/integrations/hermes-agent/schemas.py +12 -12
- package/dist/integrations/hermes-agent/test_plugin.py +128 -125
- package/dist/integrations/hermes-agent/tools.py +85 -23
- package/dist/integrations/openclaw/README.md +16 -16
- package/dist/integrations/openclaw/api-server.d.ts +87 -0
- package/dist/integrations/openclaw/api-server.js +9 -9
- package/dist/integrations/openclaw/client.d.ts +122 -0
- package/dist/integrations/openclaw/config.d.ts +96 -0
- package/dist/integrations/openclaw/config.js +1 -1
- package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +124 -0
- package/dist/integrations/openclaw/index.d.ts +101 -0
- package/dist/integrations/openclaw/index.js +4 -4
- 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/integrations/plugins/plugin-registry.js +2 -2
- 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 +4 -4
- package/dist/mcps/auto-format.server.d.ts +19 -0
- package/dist/mcps/auto-format.server.js +4 -4
- package/dist/mcps/boot-orchestrator.server.d.ts +49 -0
- package/dist/mcps/boot-orchestrator.server.js +4 -4
- 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/config/server-config-registry.js +7 -7
- 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/mcp-connection.js +1 -1
- 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 +4 -4
- 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 +4 -4
- package/dist/mcps/framework-help.server.d.ts +14 -0
- package/dist/mcps/framework-help.server.js +7 -7
- package/dist/mcps/governance.server.d.ts +33 -0
- package/dist/mcps/in-process-skill-registry.d.ts +20 -0
- package/dist/mcps/in-process-skill-registry.js +6 -6
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/api-design.server.js +4 -4
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +4 -4
- 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 +4 -4
- 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 +4 -4
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +43 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +4 -4
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.js +4 -4
- 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 +4 -4
- 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 +4 -4
- 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 +4 -4
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +48 -0
- package/dist/mcps/knowledge-skills/security-audit.server.js +4 -4
- 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 +5 -5
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +36 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +4 -4
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +4 -4
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +69 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +6 -6
- package/dist/mcps/lint.server.d.ts +17 -0
- package/dist/mcps/lint.server.js +6 -6
- package/dist/mcps/mcp-client.d.ts +157 -0
- package/dist/mcps/mcp-client.js +3 -3
- package/dist/mcps/model-health-check.server.d.ts +16 -0
- package/dist/mcps/model-health-check.server.js +4 -4
- 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/server.js +2 -2
- 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 +4 -4
- package/dist/mcps/processor-pipeline.server.d.ts +31 -0
- package/dist/mcps/processor-pipeline.server.js +4 -4
- 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 +5 -5
- package/dist/mcps/security-scan.server.d.ts +20 -0
- package/dist/mcps/security-scan.server.js +4 -4
- package/dist/mcps/simulation/index.d.ts +12 -0
- package/dist/mcps/simulation/server-simulations.d.ts +39 -0
- package/dist/mcps/simulation/server-simulations.js +3 -3
- 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/agent-metrics.js +1 -1
- 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/enhanced-multi-agent-orchestrator.js +2 -2
- package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
- package/dist/orchestrator/intelligent-commit-batcher.js +3 -3
- package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +127 -0
- package/dist/orchestrator/multi-agent-orchestration-coordinator.js +9 -9
- package/dist/orchestrator/orchestrator.d.ts +143 -0
- package/dist/orchestrator/orchestrator.js +8 -6
- 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 +15 -14
- package/dist/postprocessor/PostProcessor.d.ts +108 -0
- package/dist/postprocessor/PostProcessor.js +1 -1
- 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/services/RegressionAnalysisService.js +2 -2
- 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/GitHookTrigger.js +14 -14
- 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/agents-md-validation-processor.js +2 -2
- 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/inference-improvement-processor.js +2 -2
- package/dist/processors/implementations/log-protection-processor.d.ts +30 -0
- package/dist/processors/implementations/log-protection-processor.js +2 -2
- 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/publish-preflight-processor.js +3 -3
- 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/regression-testing-processor.js +2 -2
- 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/session-summary-processor.js +2 -2
- 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/storytelling-trigger-processor.js +2 -2
- 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/public/about.html +6 -6
- package/dist/public/enterprise.html +1 -1
- package/dist/public/features.html +2 -2
- package/dist/public/index.html +4 -4
- 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/report-formatter.js +1 -1
- package/dist/reporting/types.d.ts +102 -0
- package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
- package/dist/scripts/activate-kernel-pipeline.js +2 -2
- package/dist/scripts/integration.d.ts +37 -0
- package/dist/scripts/pre-command +1 -1
- 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/services/inference-tuner.js +2 -2
- 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/hermes-agent/SKILL.md +11 -11
- package/dist/skills/registry.json +1 -1
- package/dist/skills/storyteller/SKILL.md +1 -1
- package/dist/skills/xray-orchestrator/SKILL.md +141 -0
- package/dist/skills/xray-orchestrator/index.d.ts +13 -0
- package/dist/skills/xray-orchestrator/index.js +224 -0
- package/dist/state/context-providers.d.ts +4 -0
- package/dist/state/index.d.ts +5 -0
- package/dist/state/index.js +2 -1
- package/dist/state/state-manager.d.ts +42 -0
- package/dist/state/state-manager.js +5 -4
- 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/import-resolver.js +1 -1
- package/dist/utils/language-detector.d.ts +44 -0
- package/dist/utils/path-resolver.d.ts +48 -0
- package/dist/utils/path-resolver.js +2 -2
- 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/utils/token-manager.js +1 -1
- package/dist/validation/estimation-validator.d.ts +61 -0
- package/dist/validation/estimation-validator.js +1 -1
- package/dist/validation/report-content-validator.d.ts +42 -0
- package/package.json +4 -3
- package/scripts/hooks/pre-command +1 -1
- package/scripts/hooks/run-hook.js +2 -2
- package/scripts/node/auto-reflection-generator.mjs +2 -2
- package/scripts/node/postinstall.cjs +1 -1
- package/scripts/node/release.js +6 -6
- package/scripts/node/release.mjs +10 -10
- package/scripts/node/universal-version-manager.js +53 -54
- package/scripts/node/version-manager.mjs +1 -1
- package/src/integrations/grok/plugin/0xray/.mcp.json +3 -3
- package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/src/mcps/architect-tools.server.ts +4 -4
- package/src/mcps/auto-format.server.ts +4 -4
- package/src/mcps/boot-orchestrator.server.ts +4 -4
- package/src/mcps/config/server-config-registry.ts +7 -7
- package/src/mcps/connection/mcp-connection.ts +1 -1
- package/src/mcps/enforcer-tools.server.ts +4 -4
- package/src/mcps/estimation.server.ts +1 -1
- package/src/mcps/framework-compliance-audit.server.ts +4 -4
- package/src/mcps/framework-help.server.ts +7 -7
- package/src/mcps/in-process-skill-registry.ts +6 -6
- package/src/mcps/knowledge-skills/api-design.server.test.ts +8 -8
- package/src/mcps/knowledge-skills/api-design.server.ts +4 -4
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +4 -4
- 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 +4 -4
- package/src/mcps/knowledge-skills/content-creator.server.ts +1 -1
- package/src/mcps/knowledge-skills/database-design.server.ts +4 -4
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +4 -4
- package/src/mcps/knowledge-skills/git-workflow.server.ts +4 -4
- 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 +4 -4
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +3 -2
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +4 -4
- package/src/mcps/knowledge-skills/project-analysis.server.ts +1 -1
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +4 -4
- package/src/mcps/knowledge-skills/security-audit.server.test.ts +23 -23
- package/src/mcps/knowledge-skills/security-audit.server.ts +4 -4
- 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 +5 -5
- package/src/mcps/knowledge-skills/testing-best-practices.server.test.ts +28 -28
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +4 -4
- package/src/mcps/knowledge-skills/testing-strategy.server.test.ts +19 -19
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +4 -4
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +6 -6
- package/src/mcps/lint.server.ts +6 -6
- package/src/mcps/mcp-client.ts +3 -3
- package/src/mcps/model-health-check.server.ts +4 -4
- package/src/mcps/orchestrator/server.ts +2 -2
- package/src/mcps/performance-analysis.server.ts +4 -4
- package/src/mcps/processor-pipeline.server.ts +4 -4
- package/src/mcps/registry.json +1 -1
- package/src/mcps/researcher.server.ts +5 -5
- package/src/mcps/security-scan.server.ts +4 -4
- package/src/mcps/simulation/server-simulations.ts +3 -3
- 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/hermes-agent/SKILL.md +11 -11
- package/src/skills/registry.json +1 -1
- package/src/skills/storyteller/SKILL.md +1 -1
- package/src/skills/xray-orchestrator/SKILL.md +141 -0
- package/src/skills/xray-orchestrator/index.ts +268 -0
- 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
- package/scripts/validate-stringray-comprehensive.js +0 -636
- /package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -0
|
@@ -11,7 +11,7 @@ import fs from "fs";
|
|
|
11
11
|
import path from "path";
|
|
12
12
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
13
13
|
import { resolveLogDir, resolveStateDir } from "../core/config-paths.js";
|
|
14
|
-
class
|
|
14
|
+
class XrayBootOrchestratorServer {
|
|
15
15
|
server;
|
|
16
16
|
bootStatus;
|
|
17
17
|
// Boot sequence in dependency order
|
|
@@ -30,7 +30,7 @@ class StringRayBootOrchestratorServer {
|
|
|
30
30
|
];
|
|
31
31
|
constructor() {
|
|
32
32
|
this.server = new Server({
|
|
33
|
-
name: "boot-orchestrator", version: "
|
|
33
|
+
name: "boot-orchestrator", version: "2.0.0",
|
|
34
34
|
}, {
|
|
35
35
|
capabilities: {
|
|
36
36
|
tools: {},
|
|
@@ -847,7 +847,7 @@ ${results.warnings.length > 0 ? `**Warnings:**\n${results.warnings.map((w) => `
|
|
|
847
847
|
}
|
|
848
848
|
// Start the server if run directly
|
|
849
849
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
850
|
-
const server = new
|
|
850
|
+
const server = new XrayBootOrchestratorServer();
|
|
851
851
|
server.run().catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
|
|
852
852
|
}
|
|
853
|
-
export {
|
|
853
|
+
export { XrayBootOrchestratorServer };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads MCP server configurations from various sources including
|
|
5
|
+
* JSON configuration files.
|
|
6
|
+
*
|
|
7
|
+
* Extracted from mcp-client.ts as part of Phase 2 refactoring.
|
|
8
|
+
*/
|
|
9
|
+
import { IServerConfig } from '../types/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Result of a configuration load operation
|
|
12
|
+
*/
|
|
13
|
+
export interface ConfigLoadResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
configs?: IServerConfig[];
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Loads MCP server configurations from files
|
|
20
|
+
*/
|
|
21
|
+
export declare class ConfigLoader {
|
|
22
|
+
private configPaths;
|
|
23
|
+
/**
|
|
24
|
+
* Load configurations from available config files
|
|
25
|
+
* Returns empty array if no config file exists (this is valid)
|
|
26
|
+
*/
|
|
27
|
+
load(): Promise<ConfigLoadResult>;
|
|
28
|
+
/**
|
|
29
|
+
* Add a custom config path to search
|
|
30
|
+
*/
|
|
31
|
+
addConfigPath(configPath: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Get all configured config paths
|
|
34
|
+
*/
|
|
35
|
+
getConfigPaths(): string[];
|
|
36
|
+
/**
|
|
37
|
+
* Reset config paths to defaults
|
|
38
|
+
*/
|
|
39
|
+
resetConfigPaths(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Load configuration from a specific file path
|
|
42
|
+
*/
|
|
43
|
+
loadFromPath(filePath: string): Promise<ConfigLoadResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Check if any config file exists
|
|
46
|
+
*/
|
|
47
|
+
hasConfigFile(): boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Default singleton instance of the config loader
|
|
51
|
+
*/
|
|
52
|
+
export declare const defaultConfigLoader: ConfigLoader;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Validator
|
|
3
|
+
*
|
|
4
|
+
* Validates MCP server configurations for completeness and correctness.
|
|
5
|
+
*
|
|
6
|
+
* Extracted from mcp-client.ts as part of Phase 2 refactoring.
|
|
7
|
+
*/
|
|
8
|
+
import { IServerConfig } from '../types/index.js';
|
|
9
|
+
/**
|
|
10
|
+
* Result of a configuration validation
|
|
11
|
+
*/
|
|
12
|
+
export interface ValidationResult {
|
|
13
|
+
valid: boolean;
|
|
14
|
+
errors: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Validates MCP server configurations
|
|
18
|
+
*/
|
|
19
|
+
export declare class ConfigValidator {
|
|
20
|
+
/**
|
|
21
|
+
* Validate a single server configuration
|
|
22
|
+
*/
|
|
23
|
+
validate(config: IServerConfig): ValidationResult;
|
|
24
|
+
/**
|
|
25
|
+
* Validate multiple server configurations
|
|
26
|
+
*/
|
|
27
|
+
validateAll(configs: IServerConfig[]): ValidationResult;
|
|
28
|
+
/**
|
|
29
|
+
* Validate and filter - returns only valid configs
|
|
30
|
+
*/
|
|
31
|
+
filterValid(configs: IServerConfig[]): IServerConfig[];
|
|
32
|
+
/**
|
|
33
|
+
* Get validation errors for all invalid configs
|
|
34
|
+
*/
|
|
35
|
+
getValidationErrors(configs: IServerConfig[]): Record<string, string[]>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Default singleton instance of the config validator
|
|
39
|
+
*/
|
|
40
|
+
export declare const defaultConfigValidator: ConfigValidator;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Configuration Layer
|
|
3
|
+
*
|
|
4
|
+
* Centralized configuration management for MCP servers.
|
|
5
|
+
*
|
|
6
|
+
* This module provides:
|
|
7
|
+
* - ServerConfigRegistry: Manages server configurations
|
|
8
|
+
* - ConfigLoader: Loads configurations from files
|
|
9
|
+
* - ConfigValidator: Validates configuration correctness
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { defaultServerRegistry, ConfigLoader, ConfigValidator } from './config/index.js';
|
|
14
|
+
*
|
|
15
|
+
* // Get a server config
|
|
16
|
+
* const config = defaultServerRegistry.get('code-review');
|
|
17
|
+
*
|
|
18
|
+
* // Load from file
|
|
19
|
+
* const loader = new ConfigLoader();
|
|
20
|
+
* const result = await loader.load();
|
|
21
|
+
*
|
|
22
|
+
* // Validate
|
|
23
|
+
* const validator = new ConfigValidator();
|
|
24
|
+
* const validation = validator.validate(config);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export { ServerConfigRegistry, defaultServerRegistry } from './server-config-registry.js';
|
|
28
|
+
export { ConfigLoader, defaultConfigLoader } from './config-loader.js';
|
|
29
|
+
export { ConfigValidator, defaultConfigValidator } from './config-validator.js';
|
|
30
|
+
export { PluginServerConfigRegistry } from './plugin-server-registry.js';
|
|
31
|
+
export type { PluginServerConfig, PluginServerRegistrationOptions } from './plugin-server-registry.js';
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Configuration Registry - Plugin Extension
|
|
3
|
+
*
|
|
4
|
+
* Extends ServerConfigRegistry with plugin support for Phase 2.
|
|
5
|
+
* Enables automatic MCP server registration from plugins.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.2.0
|
|
8
|
+
*/
|
|
9
|
+
import { ServerConfigRegistry } from "./server-config-registry.js";
|
|
10
|
+
import { IServerConfig } from "../types/mcp.types.js";
|
|
11
|
+
import type { PluginIntegration } from "../../integrations/plugins/plugin-integration.js";
|
|
12
|
+
import type { PluginRegistry } from "../../integrations/plugins/plugin-registry.js";
|
|
13
|
+
/**
|
|
14
|
+
* Plugin server configuration
|
|
15
|
+
*/
|
|
16
|
+
export interface PluginServerConfig extends IServerConfig {
|
|
17
|
+
pluginName: string;
|
|
18
|
+
pluginVersion: string;
|
|
19
|
+
autoReload?: boolean;
|
|
20
|
+
capabilities?: string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Plugin server registration options
|
|
24
|
+
*/
|
|
25
|
+
export interface PluginServerRegistrationOptions {
|
|
26
|
+
registry?: ServerConfigRegistry;
|
|
27
|
+
autoRegister?: boolean;
|
|
28
|
+
overwrite?: boolean;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* ServerConfigRegistry with plugin support
|
|
32
|
+
*/
|
|
33
|
+
export declare class PluginServerConfigRegistry {
|
|
34
|
+
private registry;
|
|
35
|
+
private registeredPluginServers;
|
|
36
|
+
private pluginRegistryRef?;
|
|
37
|
+
constructor(registry?: ServerConfigRegistry);
|
|
38
|
+
/**
|
|
39
|
+
* Set the plugin registry reference for dynamic updates
|
|
40
|
+
*/
|
|
41
|
+
setPluginRegistry(registry: PluginRegistry): void;
|
|
42
|
+
/**
|
|
43
|
+
* Get the plugin registry reference
|
|
44
|
+
*/
|
|
45
|
+
getPluginRegistry(): PluginRegistry | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Register a plugin's MCP server configuration
|
|
48
|
+
*/
|
|
49
|
+
registerPluginServer(plugin: PluginIntegration, options?: PluginServerRegistrationOptions): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Register all MCP server plugins from a plugin registry
|
|
52
|
+
*/
|
|
53
|
+
registerAllPluginServers(pluginRegistry: PluginRegistry, options?: PluginServerRegistrationOptions): number;
|
|
54
|
+
/**
|
|
55
|
+
* Get a server configuration by name
|
|
56
|
+
*/
|
|
57
|
+
get(serverName: string): IServerConfig | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Check if a server configuration exists
|
|
60
|
+
*/
|
|
61
|
+
has(serverName: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Get all registered server configurations
|
|
64
|
+
*/
|
|
65
|
+
getAll(): IServerConfig[];
|
|
66
|
+
/**
|
|
67
|
+
* Get all registered server names
|
|
68
|
+
*/
|
|
69
|
+
getServerNames(): string[];
|
|
70
|
+
/**
|
|
71
|
+
* Get plugin server configuration by server name
|
|
72
|
+
*/
|
|
73
|
+
getPluginServer(serverName: string): PluginServerConfig | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Get all registered plugin servers
|
|
76
|
+
*/
|
|
77
|
+
getAllPluginServers(): PluginServerConfig[];
|
|
78
|
+
/**
|
|
79
|
+
* Check if a server is from a plugin
|
|
80
|
+
*/
|
|
81
|
+
isPluginServer(serverName: string): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Unregister a plugin server
|
|
84
|
+
*/
|
|
85
|
+
unregisterPluginServer(serverName: string): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Get servers by capability
|
|
88
|
+
*/
|
|
89
|
+
getServersByCapability(capability: string): PluginServerConfig[];
|
|
90
|
+
/**
|
|
91
|
+
* Get registry statistics
|
|
92
|
+
*/
|
|
93
|
+
getRegistryStats(): {
|
|
94
|
+
totalServers: number;
|
|
95
|
+
defaultServers: number;
|
|
96
|
+
pluginServers: number;
|
|
97
|
+
pluginServerDetails: Array<{
|
|
98
|
+
name: string;
|
|
99
|
+
plugin: string;
|
|
100
|
+
version: string;
|
|
101
|
+
}>;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Clear all plugin server registrations (keep default servers)
|
|
105
|
+
*/
|
|
106
|
+
clearPluginServers(): number;
|
|
107
|
+
/**
|
|
108
|
+
* Register a server configuration
|
|
109
|
+
*/
|
|
110
|
+
register(config: IServerConfig): void;
|
|
111
|
+
/**
|
|
112
|
+
* Clear all registrations
|
|
113
|
+
*/
|
|
114
|
+
clear(): void;
|
|
115
|
+
/**
|
|
116
|
+
* Create dynamic config for unknown server
|
|
117
|
+
*/
|
|
118
|
+
createDynamicConfig(serverName: string): IServerConfig;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Default singleton instance
|
|
122
|
+
*/
|
|
123
|
+
export declare const defaultPluginServerRegistry: PluginServerConfigRegistry;
|
|
124
|
+
/**
|
|
125
|
+
* Create a new PluginServerConfigRegistry
|
|
126
|
+
*/
|
|
127
|
+
export declare function createPluginServerRegistry(baseRegistry?: ServerConfigRegistry): PluginServerConfigRegistry;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server Configuration Registry
|
|
3
|
+
*
|
|
4
|
+
* Manages server configurations with support for default servers
|
|
5
|
+
* and runtime configuration registration.
|
|
6
|
+
*
|
|
7
|
+
* Extracted from mcp-client.ts as part of Phase 2 refactoring.
|
|
8
|
+
*/
|
|
9
|
+
import { IServerConfig } from '../types/index.js';
|
|
10
|
+
export declare class ServerConfigRegistry {
|
|
11
|
+
private configs;
|
|
12
|
+
constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Register all default server configurations
|
|
15
|
+
*/
|
|
16
|
+
private registerDefaultConfigs;
|
|
17
|
+
/**
|
|
18
|
+
* Register a new server configuration
|
|
19
|
+
*/
|
|
20
|
+
register(config: IServerConfig): void;
|
|
21
|
+
/**
|
|
22
|
+
* Get a server configuration by name
|
|
23
|
+
*/
|
|
24
|
+
get(serverName: string): IServerConfig | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Check if a server configuration exists
|
|
27
|
+
*/
|
|
28
|
+
has(serverName: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Get all registered server configurations
|
|
31
|
+
*/
|
|
32
|
+
getAll(): IServerConfig[];
|
|
33
|
+
/**
|
|
34
|
+
* Get all registered server names
|
|
35
|
+
*/
|
|
36
|
+
getServerNames(): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Clear all registered configurations
|
|
39
|
+
*/
|
|
40
|
+
clear(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Create a dynamic configuration for an unknown server
|
|
43
|
+
* Uses the knowledge-skills directory as default location.
|
|
44
|
+
* Now respects the "xray" field declared in package.json.
|
|
45
|
+
*/
|
|
46
|
+
createDynamicConfig(serverName: string): IServerConfig;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Default singleton instance of the server config registry
|
|
50
|
+
*/
|
|
51
|
+
export declare const defaultServerRegistry: ServerConfigRegistry;
|
|
@@ -17,7 +17,7 @@ import fs from 'fs';
|
|
|
17
17
|
* Resolve the correct framework root and MCP servers path.
|
|
18
18
|
* Priority:
|
|
19
19
|
* 1. STRRAY_DEV_PATH env var (explicit dev override)
|
|
20
|
-
* 2. The "
|
|
20
|
+
* 2. The "xray" field in the nearest package.json that declares it (works in both source tree and installed package)
|
|
21
21
|
* 3. Safe fallback to node_modules/0xray/dist
|
|
22
22
|
*/
|
|
23
23
|
function resolveFrameworkPaths() {
|
|
@@ -29,7 +29,7 @@ function resolveFrameworkPaths() {
|
|
|
29
29
|
mcpServersPath: join(devPath, 'mcps'),
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
// Walk upward from this module to find the package that owns the "
|
|
32
|
+
// Walk upward from this module to find the package that owns the "xray" config
|
|
33
33
|
let currentDir = dirname(fileURLToPath(import.meta.url));
|
|
34
34
|
// Safety limit to avoid walking the entire filesystem
|
|
35
35
|
const MAX_LEVELS = 12;
|
|
@@ -38,10 +38,10 @@ function resolveFrameworkPaths() {
|
|
|
38
38
|
if (fs.existsSync(pkgPath)) {
|
|
39
39
|
try {
|
|
40
40
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
41
|
-
if (pkg.name === '0xray' && pkg.
|
|
42
|
-
const
|
|
41
|
+
if (pkg.name === '0xray' && pkg.xray) {
|
|
42
|
+
const xrayCfg = pkg.xray;
|
|
43
43
|
const frameworkRoot = currentDir;
|
|
44
|
-
const declaredMcp =
|
|
44
|
+
const declaredMcp = xrayCfg.mcpServersPath || (xrayCfg.dist ? join(xrayCfg.dist, 'mcps') : 'dist/mcps');
|
|
45
45
|
return {
|
|
46
46
|
frameworkRoot,
|
|
47
47
|
mcpServersPath: join(frameworkRoot, declaredMcp),
|
|
@@ -60,7 +60,7 @@ function resolveFrameworkPaths() {
|
|
|
60
60
|
// Final fallback (should almost never be reached)
|
|
61
61
|
const fallback = 'node_modules/0xray/dist';
|
|
62
62
|
frameworkLogger.log('server-config-registry', 'using-fallback-path', 'warning', {
|
|
63
|
-
reason: 'Could not locate
|
|
63
|
+
reason: 'Could not locate xray package.json with "xray" field',
|
|
64
64
|
fallback,
|
|
65
65
|
});
|
|
66
66
|
return {
|
|
@@ -323,7 +323,7 @@ export class ServerConfigRegistry {
|
|
|
323
323
|
/**
|
|
324
324
|
* Create a dynamic configuration for an unknown server
|
|
325
325
|
* Uses the knowledge-skills directory as default location.
|
|
326
|
-
|
|
326
|
+
* Now respects the "xray" field declared in package.json.
|
|
327
327
|
*/
|
|
328
328
|
createDynamicConfig(serverName) {
|
|
329
329
|
// Validate serverName against path traversal attacks
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { IMcpConnection, IServerConfig } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Connection Manager
|
|
4
|
+
* Manages MCP connection lifecycle and provides centralized access to connections
|
|
5
|
+
*/
|
|
6
|
+
export declare class ConnectionManager {
|
|
7
|
+
private connections;
|
|
8
|
+
/**
|
|
9
|
+
* Get or create a connection for a server
|
|
10
|
+
* @param config - Server configuration
|
|
11
|
+
* @returns Promise resolving to an MCP connection
|
|
12
|
+
*/
|
|
13
|
+
getConnection(config: IServerConfig): Promise<IMcpConnection>;
|
|
14
|
+
/**
|
|
15
|
+
* Disconnect a specific server
|
|
16
|
+
* @param serverName - Name of the server to disconnect
|
|
17
|
+
*/
|
|
18
|
+
disconnect(serverName: string): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Disconnect all managed connections
|
|
21
|
+
*/
|
|
22
|
+
disconnectAll(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Check if a connection exists for a server
|
|
25
|
+
* @param serverName - Name of the server
|
|
26
|
+
* @returns True if connection exists and is connected
|
|
27
|
+
*/
|
|
28
|
+
hasConnection(serverName: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Get all connected server names
|
|
31
|
+
* @returns Array of server names
|
|
32
|
+
*/
|
|
33
|
+
getConnectedServers(): string[];
|
|
34
|
+
/**
|
|
35
|
+
* Get the number of active connections
|
|
36
|
+
* @returns Number of connections
|
|
37
|
+
*/
|
|
38
|
+
getConnectionCount(): number;
|
|
39
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { IMcpConnection, IServerConfig } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Connection Pool Interface
|
|
4
|
+
* Defines the contract for connection pool implementations
|
|
5
|
+
*/
|
|
6
|
+
export interface IConnectionPoolExtended {
|
|
7
|
+
acquire(serverName: string, config: IServerConfig): Promise<IMcpConnection>;
|
|
8
|
+
release(connection: IMcpConnection): void;
|
|
9
|
+
clear(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Connection Pool
|
|
13
|
+
* Manages a pool of reusable MCP connections per server
|
|
14
|
+
*/
|
|
15
|
+
export declare class ConnectionPool implements IConnectionPoolExtended {
|
|
16
|
+
private pools;
|
|
17
|
+
private maxPoolSize;
|
|
18
|
+
private maxIdleTimeMs;
|
|
19
|
+
constructor(options?: {
|
|
20
|
+
maxPoolSize?: number;
|
|
21
|
+
maxIdleTimeMs?: number;
|
|
22
|
+
});
|
|
23
|
+
/**
|
|
24
|
+
* Acquire a connection from the pool or create a new one
|
|
25
|
+
* @param serverName - Name of the server
|
|
26
|
+
* @param config - Server configuration (used when creating new connections)
|
|
27
|
+
* @returns Promise resolving to an MCP connection
|
|
28
|
+
*/
|
|
29
|
+
acquire(serverName: string, config: IServerConfig): Promise<IMcpConnection>;
|
|
30
|
+
/**
|
|
31
|
+
* Release a connection back to the pool
|
|
32
|
+
* @param connection - The connection to release
|
|
33
|
+
*/
|
|
34
|
+
release(connection: IMcpConnection): void;
|
|
35
|
+
/**
|
|
36
|
+
* Clear all connections in the pool
|
|
37
|
+
*/
|
|
38
|
+
clear(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Get pool statistics
|
|
41
|
+
* @returns Object with pool statistics
|
|
42
|
+
*/
|
|
43
|
+
getStats(): {
|
|
44
|
+
totalServers: number;
|
|
45
|
+
totalConnections: number;
|
|
46
|
+
activeConnections: number;
|
|
47
|
+
idleConnections: number;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Get pool statistics for a specific server
|
|
51
|
+
* @param serverName - Name of the server
|
|
52
|
+
* @returns Pool statistics or null if server not in pool
|
|
53
|
+
*/
|
|
54
|
+
getServerStats(serverName: string): {
|
|
55
|
+
total: number;
|
|
56
|
+
active: number;
|
|
57
|
+
idle: number;
|
|
58
|
+
} | null;
|
|
59
|
+
/**
|
|
60
|
+
* Clean up stale (idle for too long) connections from a pool
|
|
61
|
+
*/
|
|
62
|
+
private cleanupStaleConnections;
|
|
63
|
+
}
|
|
64
|
+
export declare function getConnectionPool(): ConnectionPool;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { IMcpConnection, JsonRpcRequest, JsonRpcResponse, IServerConfig } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* MCP Connection
|
|
5
|
+
* Manages a single connection to an MCP server via spawned process
|
|
6
|
+
*/
|
|
7
|
+
export declare class McpConnection extends EventEmitter implements IMcpConnection {
|
|
8
|
+
private config;
|
|
9
|
+
readonly serverName: string;
|
|
10
|
+
private processSpawner;
|
|
11
|
+
private process;
|
|
12
|
+
private _isConnected;
|
|
13
|
+
private requestId;
|
|
14
|
+
private pendingRequests;
|
|
15
|
+
private stdoutBuffer;
|
|
16
|
+
private readonly timeout;
|
|
17
|
+
constructor(config: IServerConfig);
|
|
18
|
+
/**
|
|
19
|
+
* Check if the connection is active
|
|
20
|
+
*/
|
|
21
|
+
get isConnected(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Connect to the MCP server
|
|
24
|
+
* Spawns the process and sets up event handlers
|
|
25
|
+
*/
|
|
26
|
+
connect(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Disconnect from the MCP server
|
|
29
|
+
* Kills the process and cleans up resources
|
|
30
|
+
*/
|
|
31
|
+
disconnect(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Send a JSON-RPC request to the MCP server
|
|
34
|
+
* @param request - The JSON-RPC request to send
|
|
35
|
+
* @returns Promise that resolves with the response
|
|
36
|
+
*/
|
|
37
|
+
sendRequest(request: JsonRpcRequest): Promise<JsonRpcResponse>;
|
|
38
|
+
/**
|
|
39
|
+
* Set up event handlers for the spawned process
|
|
40
|
+
*/
|
|
41
|
+
private setupEventHandlers;
|
|
42
|
+
/**
|
|
43
|
+
* Handle stdout data from the process
|
|
44
|
+
*/
|
|
45
|
+
private handleStdout;
|
|
46
|
+
/**
|
|
47
|
+
* Handle a JSON-RPC response
|
|
48
|
+
*/
|
|
49
|
+
private handleResponse;
|
|
50
|
+
/**
|
|
51
|
+
* Handle stderr data from the process
|
|
52
|
+
*/
|
|
53
|
+
private handleStderr;
|
|
54
|
+
/**
|
|
55
|
+
* Handle process errors
|
|
56
|
+
*/
|
|
57
|
+
private handleError;
|
|
58
|
+
/**
|
|
59
|
+
* Handle process close
|
|
60
|
+
*/
|
|
61
|
+
private handleClose;
|
|
62
|
+
/**
|
|
63
|
+
* Clean up resources
|
|
64
|
+
*/
|
|
65
|
+
private cleanup;
|
|
66
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChildProcess } from 'child_process';
|
|
2
|
+
import { IServerConfig } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Spawn Result
|
|
5
|
+
* Contains the spawned process and its stdio streams
|
|
6
|
+
*/
|
|
7
|
+
export interface SpawnResult {
|
|
8
|
+
process: ChildProcess;
|
|
9
|
+
stdout: NodeJS.ReadableStream;
|
|
10
|
+
stdin: NodeJS.WritableStream;
|
|
11
|
+
stderr: NodeJS.ReadableStream;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Process Spawner
|
|
15
|
+
* Handles spawning of MCP server processes
|
|
16
|
+
*/
|
|
17
|
+
export declare class ProcessSpawner {
|
|
18
|
+
/**
|
|
19
|
+
* Spawn a new process with the given configuration
|
|
20
|
+
* @param config - Server configuration containing command, args, env, and basePath
|
|
21
|
+
* @returns SpawnResult with process and stdio streams
|
|
22
|
+
*/
|
|
23
|
+
spawn(config: IServerConfig): SpawnResult;
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0xRay Enforcer Tools MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Converts enforcer-tools.ts functions into MCP server tools
|
|
5
|
+
* Provides rule enforcement and validation capabilities via MCP protocol
|
|
6
|
+
*/
|
|
7
|
+
declare class XrayEnforcerToolsServer {
|
|
8
|
+
private server;
|
|
9
|
+
constructor();
|
|
10
|
+
private setupToolHandlers;
|
|
11
|
+
private ruleValidation;
|
|
12
|
+
private codexEnforcement;
|
|
13
|
+
private contextAnalysisValidation;
|
|
14
|
+
private qualityGateCheck;
|
|
15
|
+
private getEnforcementStatus;
|
|
16
|
+
private runPreCommitValidation;
|
|
17
|
+
private getCodexTermCount;
|
|
18
|
+
private simulateRuleValidation;
|
|
19
|
+
private simulateCodexValidation;
|
|
20
|
+
private simulateContextValidation;
|
|
21
|
+
private performQualityGateCheck;
|
|
22
|
+
private simulateEnforcementStatus;
|
|
23
|
+
private performPreCommitValidation;
|
|
24
|
+
run(): Promise<void>;
|
|
25
|
+
private securityScan;
|
|
26
|
+
}
|
|
27
|
+
export default XrayEnforcerToolsServer;
|
|
@@ -12,11 +12,11 @@ import { frameworkLogger } from "../core/framework-logger.js";
|
|
|
12
12
|
import { getCodexPolicyService } from "../governance/codex-policy.service.js";
|
|
13
13
|
// Import actual enforcer-tools functions
|
|
14
14
|
import { ruleValidation as runRuleValidation } from "../enforcement/enforcer-tools.js";
|
|
15
|
-
class
|
|
15
|
+
class XrayEnforcerToolsServer {
|
|
16
16
|
server;
|
|
17
17
|
constructor() {
|
|
18
18
|
this.server = new Server({
|
|
19
|
-
name: "enforcer", version: "
|
|
19
|
+
name: "enforcer", version: "2.0.0",
|
|
20
20
|
}, {
|
|
21
21
|
capabilities: {
|
|
22
22
|
tools: {},
|
|
@@ -772,7 +772,7 @@ class StringRayEnforcerToolsServer {
|
|
|
772
772
|
}
|
|
773
773
|
}
|
|
774
774
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
775
|
-
const server = new
|
|
775
|
+
const server = new XrayEnforcerToolsServer();
|
|
776
776
|
server.run().catch((error) => frameworkLogger.log("mcps/enforcer", "run", "error", { error: String(error) }));
|
|
777
777
|
}
|
|
778
|
-
export default
|
|
778
|
+
export default XrayEnforcerToolsServer;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Estimation MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Provides tools for tracking and validating estimates
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Estimation MCP Server
|
|
8
|
+
* Tracks estimates vs actuals and provides calibrated predictions
|
|
9
|
+
*/
|
|
10
|
+
declare class EstimationServer {
|
|
11
|
+
private server;
|
|
12
|
+
private validator;
|
|
13
|
+
constructor();
|
|
14
|
+
private setupToolHandlers;
|
|
15
|
+
private handleValidateEstimate;
|
|
16
|
+
private handleStartTracking;
|
|
17
|
+
private handleCompleteTracking;
|
|
18
|
+
private handleGetReport;
|
|
19
|
+
start(): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
export { EstimationServer };
|
|
@@ -17,7 +17,7 @@ class EstimationServer {
|
|
|
17
17
|
validator = getEstimationValidator();
|
|
18
18
|
constructor() {
|
|
19
19
|
this.server = new Server({
|
|
20
|
-
name: "estimation-validator", version: "
|
|
20
|
+
name: "estimation-validator", version: "2.0.0",
|
|
21
21
|
}, {
|
|
22
22
|
capabilities: { tools: {} },
|
|
23
23
|
});
|