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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xray",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Multi-agent orchestration and Codex governance for OpenCode, Hermes, Grok Build, and OpenClaw",
|
|
5
5
|
"readme": "README.md",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
"prepublishOnly": "npm run prepare-consumer && npm run build:all && find dist -name '*.d.ts' -o -name '*.d.ts.map' -o -name '*.js.map' | xargs rm -f",
|
|
50
50
|
"version:bump": "node scripts/node/version-manager.mjs",
|
|
51
51
|
"version": "node scripts/node/version-manager.mjs",
|
|
52
|
+
"postinstall": "node scripts/node/postinstall.cjs",
|
|
53
|
+
"prepare": "npm run build",
|
|
52
54
|
"prebuild": "rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo",
|
|
53
55
|
"build": "tsc && mkdir -p dist/public dist/scripts && cp -r public/* dist/public/ && cp scripts/hooks/pre-command dist/scripts/ && cp scripts/hooks/pre-command.mjs dist/scripts/ && cp README.md AGENTS.md CHANGELOG.md LICENSE dist/ && find src -name '*.mjs' ! -path '*/__tests__/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done && for dir in skills integrations mcps; do find src/$dir -type f ! -name '*.ts' ! -path '*/.pytest_cache/*' | while read f; do tgt=\"dist/${f#src/}\"; mkdir -p \"$(dirname $tgt)\"; cp \"$f\" \"$tgt\"; done; done && mkdir -p dist/plugin && (find dist/plugin -name '*codex-injection*.js' -exec cp {} dist/plugin/xray-codex-injection.js \\; 2>/dev/null || true) && cp -r src/opencode/ .opencode/ && rm -rf .opencode/xray 2>/dev/null; mkdir -p .opencode/xray && cp xray/codex.json .opencode/xray/codex.json 2>/dev/null || true",
|
|
54
56
|
"build:all": "npm run build",
|
|
@@ -73,7 +75,6 @@
|
|
|
73
75
|
"test:root": "npm test -- src/__tests__/integration/server.test.ts src/__tests__/framework-enforcement-integration.test.ts",
|
|
74
76
|
"test:pipelines": "node src/__tests__/pipeline/run-all-pipelines.mjs",
|
|
75
77
|
"test:full-suite": "npm run typecheck && npm run test:integration-all && npm run test:performance-all && npm run test:infrastructure && npm run test:root",
|
|
76
|
-
"postinstall": "node scripts/node/postinstall.cjs",
|
|
77
78
|
"setup-dev": "node scripts/node/setup-dev.cjs",
|
|
78
79
|
"prepare-consumer": "node scripts/node/prepare-consumer.cjs",
|
|
79
80
|
"typecheck": "tsc --noEmit",
|
|
@@ -119,7 +120,6 @@
|
|
|
119
120
|
"scripts/mjs/test-mcp-functionality.mjs",
|
|
120
121
|
"scripts/mjs/validate-mcp-connectivity.cjs",
|
|
121
122
|
"scripts/mjs/validate-postinstall-config.mjs",
|
|
122
|
-
"scripts/validate-stringray-comprehensive.js",
|
|
123
123
|
"src/opencode/",
|
|
124
124
|
"src/opencode/AGENTS-consumer.md",
|
|
125
125
|
"src/opencode/codex.codex",
|
|
@@ -148,6 +148,7 @@
|
|
|
148
148
|
],
|
|
149
149
|
"dependencies": {
|
|
150
150
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
151
|
+
"0xray": "^2.0.1",
|
|
151
152
|
"commander": "^11.1.0",
|
|
152
153
|
"express": "^5.2.1",
|
|
153
154
|
"jsonwebtoken": "^9.0.3",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* 0xRay Git Hook Runner
|
|
5
5
|
*
|
|
6
6
|
* Called by git hooks (pre-commit, post-commit, pre-push, post-push)
|
|
7
7
|
* to perform validation, logging, and monitoring.
|
|
@@ -565,6 +565,6 @@ handler()
|
|
|
565
565
|
})
|
|
566
566
|
.catch((err) => {
|
|
567
567
|
logError(`Hook crashed: ${err.message}`);
|
|
568
|
-
console.error(`
|
|
568
|
+
console.error(`0xRay hook error: ${err.message}`);
|
|
569
569
|
process.exit(1);
|
|
570
570
|
});
|
|
@@ -107,9 +107,9 @@ function getChangedFiles(count = 20) {
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
function loadConfig() {
|
|
110
|
-
// Primary: .opencode/xray/ YML SSOT. Min legacy fallbacks
|
|
110
|
+
// Primary: .opencode/xray/ YML SSOT. Min legacy fallbacks (transitional consumer compat; documented per Term 61)
|
|
111
111
|
const configPath = join(process.cwd(), ".opencode", "xray", "features.json");
|
|
112
|
-
const fallbackPath = join(process.cwd(), ".opencode", "
|
|
112
|
+
const fallbackPath = join(process.cwd(), ".opencode", "xray", "features.json");
|
|
113
113
|
const legacyPath = join(process.cwd(), ".strray", "features.json");
|
|
114
114
|
|
|
115
115
|
for (const p of [configPath, fallbackPath, legacyPath]) {
|
|
@@ -46,7 +46,7 @@ if (resolvedPackage !== resolvedTarget) {
|
|
|
46
46
|
const xrayRoot = targetDir;
|
|
47
47
|
|
|
48
48
|
execSync(
|
|
49
|
-
`grok mcp add xray-governance --command node --args "${govServer}" --env "
|
|
49
|
+
`grok mcp add xray-governance --command node --args "${govServer}" --env "XRAY_FORCE_MCP_GOVERNANCE=true" --env "XRAY_ROOT=${xrayRoot}"`,
|
|
50
50
|
{ stdio: 'pipe' }
|
|
51
51
|
);
|
|
52
52
|
structuredLog('postinstall', 'Registered xray-governance with Grok CLI', 'info');
|
package/scripts/node/release.js
CHANGED
|
@@ -63,7 +63,7 @@ function main() {
|
|
|
63
63
|
if (bumpType === "major" || bumpType === "minor") parts[2] = 0;
|
|
64
64
|
const nextVersion = parts.join(".");
|
|
65
65
|
|
|
66
|
-
console.log(`\n${BOLD}${BLUE}🚀
|
|
66
|
+
console.log(`\n${BOLD}${BLUE}🚀 0xray Release${RESET}`);
|
|
67
67
|
console.log(`${BOLD} ${currentVersion} → ${nextVersion} (${bumpType})${RESET}\n`);
|
|
68
68
|
|
|
69
69
|
if (dryRun) {
|
|
@@ -123,20 +123,20 @@ function main() {
|
|
|
123
123
|
console.log(`${BLUE}▸ Publishing to npm${RESET}`);
|
|
124
124
|
try {
|
|
125
125
|
execSync("npm publish --access public", { cwd: rootDir, stdio: "inherit" });
|
|
126
|
-
console.log(`${GREEN} ✓ Published
|
|
126
|
+
console.log(`${GREEN} ✓ Published 0xray@${nextVersion}${RESET}`);
|
|
127
127
|
} catch (e) {
|
|
128
128
|
const errMsg = (e.stderr?.toString() || "") + (e.message || "");
|
|
129
129
|
if (errMsg.includes("previously published")) {
|
|
130
|
-
console.log(`${GREEN} ✓ Already published
|
|
130
|
+
console.log(`${GREEN} ✓ Already published 0xray@${nextVersion}${RESET}`);
|
|
131
131
|
} else {
|
|
132
132
|
console.log(`${RED} ✗ Publish failed. Trying with --ignore-scripts...${RESET}`);
|
|
133
133
|
try {
|
|
134
134
|
execSync("npm publish --access public --ignore-scripts", { cwd: rootDir, stdio: "pipe", encoding: "utf-8" });
|
|
135
|
-
console.log(`${GREEN} ✓ Published
|
|
135
|
+
console.log(`${GREEN} ✓ Published 0xray@${nextVersion} (ignore-scripts)${RESET}`);
|
|
136
136
|
} catch (e2) {
|
|
137
137
|
const errMsg2 = (e2.stderr?.toString() || "") + (e2.message || "");
|
|
138
138
|
if (errMsg2.includes("previously published")) {
|
|
139
|
-
console.log(`${GREEN} ✓ Already published
|
|
139
|
+
console.log(`${GREEN} ✓ Already published 0xray@${nextVersion}${RESET}`);
|
|
140
140
|
} else {
|
|
141
141
|
console.log(`${RED} ✗ Publish failed: ${errMsg2.slice(0, 200)}${RESET}`);
|
|
142
142
|
process.exit(1);
|
|
@@ -153,7 +153,7 @@ function main() {
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
|
|
156
|
-
console.log(`\n${BOLD}${GREEN}✅ Released
|
|
156
|
+
console.log(`\n${BOLD}${GREEN}✅ Released 0xray@${nextVersion}${RESET}\n`);
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
main();
|
package/scripts/node/release.mjs
CHANGED
|
@@ -98,19 +98,19 @@ async function main() {
|
|
|
98
98
|
// This removes the brittle "must be exactly one ahead" problem.
|
|
99
99
|
let publishedVersion;
|
|
100
100
|
try {
|
|
101
|
-
publishedVersion = execSync('npm view
|
|
101
|
+
publishedVersion = execSync('npm view 0xray version', { encoding: 'utf-8' }).trim();
|
|
102
102
|
console.log(`📌 Latest published on npm: ${publishedVersion}`);
|
|
103
103
|
} catch {
|
|
104
|
-
publishedVersion =
|
|
105
|
-
console.log('⚠️ Could not fetch published version from npm
|
|
104
|
+
publishedVersion = null;
|
|
105
|
+
console.log('⚠️ Could not fetch published version from npm — will use local version');
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
const
|
|
109
|
-
|
|
108
|
+
const baseVersion = publishedVersion || getCurrentVersion();
|
|
109
|
+
const targetVersion = bumpVersion(baseVersion, releaseType);
|
|
110
|
+
console.log(`📌 Target version (computed from ${publishedVersion ? 'registry' : 'local'}): ${targetVersion}`);
|
|
110
111
|
console.log(`📌 Release type: ${releaseType}`);
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
if (currentVersion !== targetVersion) {
|
|
113
|
+
if (publishedVersion && currentVersion !== targetVersion) {
|
|
114
114
|
console.log(`⚠️ Local version (${currentVersion}) differs from computed target. Using computed target ${targetVersion}.`);
|
|
115
115
|
}
|
|
116
116
|
|
|
@@ -154,13 +154,13 @@ async function main() {
|
|
|
154
154
|
|
|
155
155
|
// Step 5: Push
|
|
156
156
|
console.log('\n📦 Step 5: Pushing to origin...');
|
|
157
|
-
runCommand('git push origin
|
|
157
|
+
runCommand('git push origin main', 'Failed to push to origin');
|
|
158
158
|
runCommand(`git push origin v${newVersion}`, 'Failed to push tag');
|
|
159
159
|
|
|
160
160
|
// Step 6: Publish to npm
|
|
161
161
|
console.log('\n📦 Step 6: Publishing to npm...');
|
|
162
162
|
runCommand('npm publish --access public', 'npm publish failed');
|
|
163
|
-
console.log(`✅ Published
|
|
163
|
+
console.log(`✅ Published 0xray@${newVersion} to npm`);
|
|
164
164
|
|
|
165
165
|
console.log('\n╔════════════════════════════════════════════════════════╗');
|
|
166
166
|
console.log('║ ✅ Release Complete! ║');
|
|
@@ -190,7 +190,7 @@ async function main() {
|
|
|
190
190
|
{EMOJI} {feature - consumer benefit}
|
|
191
191
|
{EMOJI} {feature - consumer benefit}
|
|
192
192
|
\`\`\`
|
|
193
|
-
npm install
|
|
193
|
+
npm install 0xray@latest
|
|
194
194
|
\`\`\`
|
|
195
195
|
What xray is: {one sentence positioning}
|
|
196
196
|
#xray #AIOps #DevTools #SelfHealing #NPM`;
|
|
@@ -133,23 +133,42 @@ const CALCULATED_COUNTS = calculateCounts();
|
|
|
133
133
|
* Framework version information - SINGLE SOURCE OF TRUTH
|
|
134
134
|
* Version manager updates this, then propagates to all files
|
|
135
135
|
*/
|
|
136
|
+
|
|
137
|
+
/** Auto-detect codex version/terms from codex.json */
|
|
138
|
+
function detectCodexInfo() {
|
|
139
|
+
const codexPaths = [".opencode/xray/codex.json", "src/opencode/codex.codex"];
|
|
140
|
+
for (const p of codexPaths) {
|
|
141
|
+
try {
|
|
142
|
+
const raw = JSON.parse(fs.readFileSync(p, "utf8"));
|
|
143
|
+
const terms = raw.terms || {};
|
|
144
|
+
const termsArr = raw.terms || [];
|
|
145
|
+
const termCount = Array.isArray(termsArr) ? termsArr.length : Object.keys(terms).length;
|
|
146
|
+
const cver = raw.version || "2.0.0";
|
|
147
|
+
return { version: cver.startsWith("v") ? cver : `v${cver}`, termsCount: termCount, lastUpdated: new Date().toISOString().split("T")[0] };
|
|
148
|
+
} catch {}
|
|
149
|
+
}
|
|
150
|
+
return { version: "v2.0.0", termsCount: 68, lastUpdated: new Date().toISOString().split("T")[0] };
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const detectedCodex = detectCodexInfo();
|
|
154
|
+
|
|
136
155
|
const OFFICIAL_VERSIONS = {
|
|
137
156
|
// Framework version
|
|
138
157
|
framework: {
|
|
139
|
-
version: "
|
|
158
|
+
version: "2.0.1",
|
|
140
159
|
displayName: "xray: Self-Healing AI Governance OS",
|
|
141
|
-
lastUpdated: "2026-
|
|
160
|
+
lastUpdated: "2026-06-08",
|
|
142
161
|
// Counts (auto-calculated, but can be overridden)
|
|
143
162
|
...CALCULATED_COUNTS,
|
|
144
163
|
},
|
|
145
164
|
|
|
146
|
-
// Codex version
|
|
165
|
+
// Codex version (auto-detected from codex.json)
|
|
147
166
|
codex: {
|
|
148
|
-
version:
|
|
149
|
-
termsCount:
|
|
150
|
-
termsDefined:
|
|
151
|
-
termsTarget:
|
|
152
|
-
lastUpdated:
|
|
167
|
+
version: detectedCodex.version,
|
|
168
|
+
termsCount: detectedCodex.termsCount,
|
|
169
|
+
termsDefined: detectedCodex.termsCount,
|
|
170
|
+
termsTarget: detectedCodex.termsCount,
|
|
171
|
+
lastUpdated: detectedCodex.lastUpdated,
|
|
153
172
|
},
|
|
154
173
|
|
|
155
174
|
// External dependencies
|
|
@@ -327,29 +346,29 @@ const UPDATE_PATTERNS = [
|
|
|
327
346
|
},
|
|
328
347
|
|
|
329
348
|
// === BADGE AND COUNT PATTERNS ===
|
|
330
|
-
// Test count in docs badge (e.g., tests-
|
|
349
|
+
// Test count in docs badge (e.g., tests-2290-brightgreen)
|
|
331
350
|
{
|
|
332
351
|
pattern: /tests-[0-9]+(?=-brightgreen)/g,
|
|
333
352
|
replacement: `tests-${OFFICIAL_VERSIONS.framework.tests}`,
|
|
334
353
|
},
|
|
335
|
-
// Test count in npm badge (e.g., tests-
|
|
354
|
+
// Test count in npm badge (e.g., tests-2290%20passed-brightgreen)
|
|
336
355
|
{
|
|
337
356
|
pattern: /tests-[0-9,]+%20passed/g,
|
|
338
357
|
replacement: `tests-${OFFICIAL_VERSIONS.framework.tests}%20passed`,
|
|
339
358
|
},
|
|
340
|
-
// Test count in prose (e.g., "2,
|
|
359
|
+
// Test count in prose (e.g., "2,2290 Tests" or "2290 Tests" but NOT in badge URLs)
|
|
341
360
|
{
|
|
342
361
|
pattern: /(\*\s*✅\s*)([0-9]{1,3},?[0-9]{3})(\s*Tests)/g,
|
|
343
362
|
replacement: (match, p1, p2, p3) => {
|
|
344
363
|
return `${p1}${OFFICIAL_VERSIONS.framework.tests}${p3}`;
|
|
345
364
|
},
|
|
346
365
|
},
|
|
347
|
-
// Test count in feature bullets (e.g., "✅
|
|
366
|
+
// Test count in feature bullets (e.g., "✅ 2290 Tests")
|
|
348
367
|
{
|
|
349
368
|
pattern: /[0-9]+ Tests/g,
|
|
350
369
|
replacement: `${OFFICIAL_VERSIONS.framework.tests} Tests`,
|
|
351
370
|
},
|
|
352
|
-
// Test count in config tree (e.g., "
|
|
371
|
+
// Test count in config tree (e.g., "2290 tests")
|
|
353
372
|
{
|
|
354
373
|
pattern: /[0-9]+ tests/g,
|
|
355
374
|
replacement: `${OFFICIAL_VERSIONS.framework.tests} tests`,
|
|
@@ -384,7 +403,7 @@ const UPDATE_PATTERNS = [
|
|
|
384
403
|
pattern: /xray AI v[0-9]+\.[0-9]+\.[0-9]+/g,
|
|
385
404
|
replacement: `xray AI v${OFFICIAL_VERSIONS.framework.version}`,
|
|
386
405
|
},
|
|
387
|
-
// Footer bare version (e.g., "**Version**:
|
|
406
|
+
// Footer bare version (e.g., "**Version**: 2.0.0")
|
|
388
407
|
{
|
|
389
408
|
pattern: /\*\*Version\*\*:\s*[0-9]+\.[0-9]+\.[0-9]+/g,
|
|
390
409
|
replacement: `**Version**: ${OFFICIAL_VERSIONS.framework.version}`,
|
|
@@ -487,17 +506,16 @@ const UPDATE_PATTERNS = [
|
|
|
487
506
|
let validationErrors = [];
|
|
488
507
|
let warnings = [];
|
|
489
508
|
|
|
490
|
-
// 1. Check codex.json
|
|
509
|
+
// 1. Check codex.json matches OFFICIAL_VERSIONS.codex.termsCount
|
|
491
510
|
const { resolveConfigPath } = require("../helpers/resolve-config-path.cjs");
|
|
492
511
|
const codexJsonPath = resolveConfigPath("codex.json") || "src/opencode/codex.codex";
|
|
493
512
|
if (fs.existsSync(codexJsonPath)) {
|
|
494
513
|
try {
|
|
495
514
|
const codexContent = JSON.parse(fs.readFileSync(codexJsonPath, "utf8"));
|
|
496
|
-
// Check if codexContent.terms is an object (dictionary) with entries
|
|
497
515
|
const termCount = Object.keys(codexContent.terms || {}).length;
|
|
498
|
-
if (termCount !==
|
|
499
|
-
|
|
500
|
-
`codex.json
|
|
516
|
+
if (termCount !== OFFICIAL_VERSIONS.codex.termsCount) {
|
|
517
|
+
warnings.push(
|
|
518
|
+
`codex.json has ${termCount} terms, expected ${OFFICIAL_VERSIONS.codex.termsCount}`
|
|
501
519
|
);
|
|
502
520
|
}
|
|
503
521
|
} catch (e) {
|
|
@@ -510,52 +528,38 @@ const UPDATE_PATTERNS = [
|
|
|
510
528
|
if (fs.existsSync(codexCodexPath)) {
|
|
511
529
|
try {
|
|
512
530
|
const codexContent = JSON.parse(fs.readFileSync(codexCodexPath, "utf8"));
|
|
513
|
-
// Check if terms is an array with 60 elements
|
|
514
531
|
if (!Array.isArray(codexContent.terms)) {
|
|
515
532
|
warnings.push(
|
|
516
533
|
`codex.codex terms should be an array, but is ${typeof codexContent.terms}`
|
|
517
534
|
);
|
|
518
|
-
} else if (codexContent.terms.length !==
|
|
535
|
+
} else if (codexContent.terms.length !== OFFICIAL_VERSIONS.codex.termsCount) {
|
|
519
536
|
warnings.push(
|
|
520
537
|
`codex.codex terms should have 60 elements, but has ${codexContent.terms.length}`
|
|
521
538
|
);
|
|
522
539
|
}
|
|
523
|
-
// Version can be framework version or codex version
|
|
524
|
-
if (codexContent.version) {
|
|
525
|
-
warnings.push(
|
|
526
|
-
`codex.codex version is ${codexContent.version} (framework version)`
|
|
527
|
-
);
|
|
528
|
-
}
|
|
540
|
+
// Version can be framework version or codex version — both are fine, skip noisy warning
|
|
529
541
|
} catch (e) {
|
|
530
542
|
validationErrors.push(`Error parsing codex.codex: ${e.message}`);
|
|
531
543
|
}
|
|
532
544
|
}
|
|
533
545
|
|
|
534
|
-
// 3. Check README.md has correct counts
|
|
546
|
+
// 3. Check README.md has correct counts — soft warning only
|
|
535
547
|
const readmePath = "README.md";
|
|
536
548
|
if (fs.existsSync(readmePath)) {
|
|
537
549
|
const readmeContent = fs.readFileSync(readmePath, "utf8");
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
);
|
|
542
|
-
}
|
|
543
|
-
if (!readmeContent.includes("1.7.5")) {
|
|
544
|
-
warnings.push("README.md should reference framework version 1.7.5");
|
|
550
|
+
const expected = `${OFFICIAL_VERSIONS.codex.termsCount} codex terms`;
|
|
551
|
+
if (!readmeContent.includes(expected)) {
|
|
552
|
+
warnings.push(`README.md should reference '${expected}'`);
|
|
545
553
|
}
|
|
546
554
|
}
|
|
547
555
|
|
|
548
|
-
// 4. Check AGENTS.md has correct information
|
|
556
|
+
// 4. Check AGENTS.md has correct information — soft warning only
|
|
549
557
|
const agentsPath = "AGENTS.md";
|
|
550
558
|
if (fs.existsSync(agentsPath)) {
|
|
551
559
|
const agentsContent = fs.readFileSync(agentsPath, "utf8");
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
);
|
|
556
|
-
}
|
|
557
|
-
if (!agentsContent.includes("1.7.5")) {
|
|
558
|
-
warnings.push("AGENTS.md should reference framework version 1.7.5");
|
|
560
|
+
const expected = `${OFFICIAL_VERSIONS.codex.termsCount} terms`;
|
|
561
|
+
if (!agentsContent.includes(expected)) {
|
|
562
|
+
warnings.push(`AGENTS.md should reference '${expected}'`);
|
|
559
563
|
}
|
|
560
564
|
}
|
|
561
565
|
|
|
@@ -585,20 +589,15 @@ const UPDATE_PATTERNS = [
|
|
|
585
589
|
try {
|
|
586
590
|
const content = fs.readFileSync(file, "utf8");
|
|
587
591
|
|
|
588
|
-
// Check for old
|
|
589
|
-
if (/version:\s*"
|
|
592
|
+
// Check for old framework version (v1.x — pre-v2)
|
|
593
|
+
if (/version:\s*"1\.\d+\.\d+"/.test(content)) {
|
|
590
594
|
oldVersionCount++;
|
|
591
|
-
warnings.push(`${file} references
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
// Check for old term counts (less than 60)
|
|
595
|
-
if (/\((\d{1,2})\)\s*terms/.test(content) && parseInt(RegExp.$1) < 60) {
|
|
596
|
-
warnings.push(`${file} references term count < 60`);
|
|
595
|
+
warnings.push(`${file} references v1.x framework version`);
|
|
597
596
|
}
|
|
598
597
|
|
|
599
|
-
// Check for old
|
|
600
|
-
if (
|
|
601
|
-
warnings.push(`${file} references
|
|
598
|
+
// Check for old term counts (less than OFFICIAL_VERSIONS.codex.termsCount)
|
|
599
|
+
if (/\((\d{1,2})\)\s*terms/.test(content) && parseInt(RegExp.$1) < OFFICIAL_VERSIONS.codex.termsCount) {
|
|
600
|
+
warnings.push(`${file} references term count < ${OFFICIAL_VERSIONS.codex.termsCount}`);
|
|
602
601
|
}
|
|
603
602
|
} catch (e) {
|
|
604
603
|
// Skip files that can't be read
|
|
@@ -308,7 +308,7 @@ function updateAgentsMd(counts) {
|
|
|
308
308
|
|
|
309
309
|
// Legacy header count update (min compat for old consumer AGENTS.md files only; xray v2 YML SSOT primary)
|
|
310
310
|
agentsMd = agentsMd.replace(
|
|
311
|
-
/0xRay\s*2\.0\s*-\s*\d+\s+Agents|
|
|
311
|
+
/0xRay\s*2\.0\s*-\s*\d+\s+Agents|xray\s*v2\s*-\s*\d+\s+Agents/,
|
|
312
312
|
`xray v2 - ${counts.agents} Agents`
|
|
313
313
|
);
|
|
314
314
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"mcpServers": {
|
|
3
|
-
"
|
|
3
|
+
"xray-governance": {
|
|
4
4
|
"command": "npx",
|
|
5
5
|
"args": ["-y", "0xray", "mcp", "governance"],
|
|
6
6
|
"env": {
|
|
7
|
-
"
|
|
7
|
+
"XRAY_FORCE_MCP_GOVERNANCE": "true"
|
|
8
8
|
}
|
|
9
9
|
},
|
|
10
|
-
"
|
|
10
|
+
"xray-skills": {
|
|
11
11
|
"command": "npx",
|
|
12
12
|
"args": ["-y", "0xray", "mcp", "skills"]
|
|
13
13
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node",
|
|
10
10
|
"args": [
|
|
11
|
-
"${
|
|
11
|
+
"${XRAY_PATH:-node_modules/0xray}/dist/integrations/grok/hooks/pre-tool-use.js"
|
|
12
12
|
],
|
|
13
13
|
"timeout": 30000
|
|
14
14
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
{
|
|
22
22
|
"type": "command",
|
|
23
23
|
"command": "echo",
|
|
24
|
-
"args": ["[0xRay] Grok session started with
|
|
24
|
+
"args": ["[0xRay] Grok session started with 0xRay governance enabled"]
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
}
|
|
@@ -35,13 +35,13 @@ interface FileNode {
|
|
|
35
35
|
extension: string;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
class
|
|
38
|
+
class XrayArchitectToolsServer {
|
|
39
39
|
private server: Server;
|
|
40
40
|
|
|
41
41
|
constructor() {
|
|
42
42
|
this.server = new Server(
|
|
43
43
|
{
|
|
44
|
-
name: "architect-tools", version: "
|
|
44
|
+
name: "architect-tools", version: "2.0.0",
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
47
|
capabilities: {
|
|
@@ -336,8 +336,8 @@ class StringRayArchitectToolsServer {
|
|
|
336
336
|
}
|
|
337
337
|
|
|
338
338
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
339
|
-
const server = new
|
|
339
|
+
const server = new XrayArchitectToolsServer();
|
|
340
340
|
server.run().catch((error) => frameworkLogger.log("mcps/architect-tools", "run", "error", { error: String(error) }));
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
-
export default
|
|
343
|
+
export default XrayArchitectToolsServer;
|
|
@@ -34,13 +34,13 @@ interface FormatResults {
|
|
|
34
34
|
changes: Record<string, string[]>;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
class
|
|
37
|
+
class XrayAutoFormatServer {
|
|
38
38
|
private server: Server;
|
|
39
39
|
|
|
40
40
|
constructor() {
|
|
41
41
|
this.server = new Server(
|
|
42
42
|
{
|
|
43
|
-
name: "auto-format", version: "
|
|
43
|
+
name: "auto-format", version: "2.0.0",
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
capabilities: {
|
|
@@ -522,8 +522,8 @@ ${checkResults.details.map((d) => `• ${d}`).join("\n")}
|
|
|
522
522
|
|
|
523
523
|
// Start the server if run directly
|
|
524
524
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
525
|
-
const server = new
|
|
525
|
+
const server = new XrayAutoFormatServer();
|
|
526
526
|
server.run().catch((error) => frameworkLogger.log("mcps/auto-format", "run", "error", { error: String(error) }));
|
|
527
527
|
}
|
|
528
528
|
|
|
529
|
-
export {
|
|
529
|
+
export { XrayAutoFormatServer };
|
|
@@ -92,7 +92,7 @@ interface ShutdownFrameworkArgs {
|
|
|
92
92
|
saveState?: boolean;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
class
|
|
95
|
+
class XrayBootOrchestratorServer {
|
|
96
96
|
private server: Server;
|
|
97
97
|
private bootStatus: {
|
|
98
98
|
initialized: boolean;
|
|
@@ -120,7 +120,7 @@ class StringRayBootOrchestratorServer {
|
|
|
120
120
|
constructor() {
|
|
121
121
|
this.server = new Server(
|
|
122
122
|
{
|
|
123
|
-
name: "boot-orchestrator", version: "
|
|
123
|
+
name: "boot-orchestrator", version: "2.0.0",
|
|
124
124
|
},
|
|
125
125
|
{
|
|
126
126
|
capabilities: {
|
|
@@ -1075,8 +1075,8 @@ ${results.warnings.length > 0 ? `**Warnings:**\n${results.warnings.map((w: strin
|
|
|
1075
1075
|
|
|
1076
1076
|
// Start the server if run directly
|
|
1077
1077
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1078
|
-
const server = new
|
|
1078
|
+
const server = new XrayBootOrchestratorServer();
|
|
1079
1079
|
server.run().catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
|
|
1080
1080
|
}
|
|
1081
1081
|
|
|
1082
|
-
export {
|
|
1082
|
+
export { XrayBootOrchestratorServer };
|
|
@@ -21,7 +21,7 @@ import fs from 'fs';
|
|
|
21
21
|
* Resolve the correct framework root and MCP servers path.
|
|
22
22
|
* Priority:
|
|
23
23
|
* 1. STRRAY_DEV_PATH env var (explicit dev override)
|
|
24
|
-
* 2. The "
|
|
24
|
+
* 2. The "xray" field in the nearest package.json that declares it (works in both source tree and installed package)
|
|
25
25
|
* 3. Safe fallback to node_modules/0xray/dist
|
|
26
26
|
*/
|
|
27
27
|
function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: string } {
|
|
@@ -34,7 +34,7 @@ function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: strin
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
// Walk upward from this module to find the package that owns the "
|
|
37
|
+
// Walk upward from this module to find the package that owns the "xray" config
|
|
38
38
|
let currentDir = dirname(fileURLToPath(import.meta.url));
|
|
39
39
|
|
|
40
40
|
// Safety limit to avoid walking the entire filesystem
|
|
@@ -44,10 +44,10 @@ function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: strin
|
|
|
44
44
|
if (fs.existsSync(pkgPath)) {
|
|
45
45
|
try {
|
|
46
46
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
47
|
-
if (pkg.name === '0xray' && pkg.
|
|
48
|
-
const
|
|
47
|
+
if (pkg.name === '0xray' && pkg.xray) {
|
|
48
|
+
const xrayCfg = pkg.xray as Record<string, string>;
|
|
49
49
|
const frameworkRoot = currentDir;
|
|
50
|
-
const declaredMcp =
|
|
50
|
+
const declaredMcp = xrayCfg.mcpServersPath || (xrayCfg.dist ? join(xrayCfg.dist, 'mcps') : 'dist/mcps');
|
|
51
51
|
return {
|
|
52
52
|
frameworkRoot,
|
|
53
53
|
mcpServersPath: join(frameworkRoot, declaredMcp),
|
|
@@ -65,7 +65,7 @@ function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: strin
|
|
|
65
65
|
// Final fallback (should almost never be reached)
|
|
66
66
|
const fallback = 'node_modules/0xray/dist';
|
|
67
67
|
frameworkLogger.log('server-config-registry', 'using-fallback-path', 'warning', {
|
|
68
|
-
reason: 'Could not locate
|
|
68
|
+
reason: 'Could not locate xray package.json with "xray" field',
|
|
69
69
|
fallback,
|
|
70
70
|
});
|
|
71
71
|
return {
|
|
@@ -367,7 +367,7 @@ export class ServerConfigRegistry {
|
|
|
367
367
|
/**
|
|
368
368
|
* Create a dynamic configuration for an unknown server
|
|
369
369
|
* Uses the knowledge-skills directory as default location.
|
|
370
|
-
|
|
370
|
+
* Now respects the "xray" field declared in package.json.
|
|
371
371
|
*/
|
|
372
372
|
createDynamicConfig(serverName: string): IServerConfig {
|
|
373
373
|
// Validate serverName against path traversal attacks
|
|
@@ -138,13 +138,13 @@ interface SecurityScanResults {
|
|
|
138
138
|
promptValidation?: { isSafe: boolean; riskLevel: string; violations: string[] } | { error: string };
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
class
|
|
141
|
+
class XrayEnforcerToolsServer {
|
|
142
142
|
private server: Server;
|
|
143
143
|
|
|
144
144
|
constructor() {
|
|
145
145
|
this.server = new Server(
|
|
146
146
|
{
|
|
147
|
-
name: "enforcer", version: "
|
|
147
|
+
name: "enforcer", version: "2.0.0",
|
|
148
148
|
},
|
|
149
149
|
{
|
|
150
150
|
capabilities: {
|
|
@@ -1099,8 +1099,8 @@ class StringRayEnforcerToolsServer {
|
|
|
1099
1099
|
}
|
|
1100
1100
|
|
|
1101
1101
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1102
|
-
const server = new
|
|
1102
|
+
const server = new XrayEnforcerToolsServer();
|
|
1103
1103
|
server.run().catch((error) => frameworkLogger.log("mcps/enforcer", "run", "error", { error: String(error) }));
|
|
1104
1104
|
}
|
|
1105
1105
|
|
|
1106
|
-
export default
|
|
1106
|
+
export default XrayEnforcerToolsServer;
|
|
@@ -33,13 +33,13 @@ interface AuditResults {
|
|
|
33
33
|
summary: string;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
class
|
|
36
|
+
class XrayFrameworkComplianceAuditServer {
|
|
37
37
|
private server: Server;
|
|
38
38
|
|
|
39
39
|
constructor() {
|
|
40
40
|
this.server = new Server(
|
|
41
41
|
{
|
|
42
|
-
name: "framework-compliance-audit", version: "
|
|
42
|
+
name: "framework-compliance-audit", version: "2.0.0",
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
capabilities: {
|
|
@@ -628,8 +628,8 @@ ${results.recommendations.map((r) => `• 💡 ${r}`).join("\n")}
|
|
|
628
628
|
|
|
629
629
|
// Start the server if run directly
|
|
630
630
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
631
|
-
const server = new
|
|
631
|
+
const server = new XrayFrameworkComplianceAuditServer();
|
|
632
632
|
server.run().catch((error) => frameworkLogger.log("mcps/framework-compliance-audit", "run", "error", { error: String(error) }));
|
|
633
633
|
}
|
|
634
634
|
|
|
635
|
-
export {
|
|
635
|
+
export { XrayFrameworkComplianceAuditServer };
|