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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads and validates 0xRay-specific configuration from opencode.json
|
|
5
|
+
*
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
* @since 2026-01-09
|
|
8
|
+
*/
|
|
9
|
+
export interface MultiAgentOrchestrationConfig {
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
coordination_model: "async-multi-agent" | "sync-multi-agent";
|
|
12
|
+
max_concurrent_agents: number;
|
|
13
|
+
task_distribution_strategy: "capability-based" | "load-balanced" | "round-robin";
|
|
14
|
+
conflict_resolution: "expert-priority" | "majority-vote" | "consensus";
|
|
15
|
+
progress_tracking: boolean;
|
|
16
|
+
session_persistence: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface AutonomousReportingConfig {
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
interval_minutes: number;
|
|
21
|
+
auto_schedule: boolean;
|
|
22
|
+
include_health_assessment: boolean;
|
|
23
|
+
include_agent_activities: boolean;
|
|
24
|
+
include_pipeline_operations: boolean;
|
|
25
|
+
include_critical_issues: boolean;
|
|
26
|
+
include_recommendations: boolean;
|
|
27
|
+
report_retention_days: number;
|
|
28
|
+
notification_channels: string[];
|
|
29
|
+
}
|
|
30
|
+
export interface XrayConfig {
|
|
31
|
+
multi_agent_orchestration: MultiAgentOrchestrationConfig;
|
|
32
|
+
autonomous_reporting: AutonomousReportingConfig;
|
|
33
|
+
disabled_agents: string[];
|
|
34
|
+
}
|
|
35
|
+
export declare class XrayConfigLoader {
|
|
36
|
+
private configPath;
|
|
37
|
+
private cachedConfig;
|
|
38
|
+
private cacheExpiry;
|
|
39
|
+
private lastLoadTime;
|
|
40
|
+
constructor(configPath?: string);
|
|
41
|
+
/**
|
|
42
|
+
* Load 0xRay configuration from the resolved config directory
|
|
43
|
+
*/
|
|
44
|
+
loadConfig(): XrayConfig;
|
|
45
|
+
/**
|
|
46
|
+
* Parse configuration data with validation
|
|
47
|
+
*/
|
|
48
|
+
private parseConfig;
|
|
49
|
+
/**
|
|
50
|
+
* Parse multi-agent orchestration configuration
|
|
51
|
+
*/
|
|
52
|
+
private parseMultiAgentConfig;
|
|
53
|
+
/**
|
|
54
|
+
* Parse autonomous reporting configuration
|
|
55
|
+
*/
|
|
56
|
+
private parseAutonomousReportingConfig;
|
|
57
|
+
/**
|
|
58
|
+
* Get default configuration
|
|
59
|
+
*/
|
|
60
|
+
private getDefaultConfig;
|
|
61
|
+
/**
|
|
62
|
+
* Validate enum values
|
|
63
|
+
*/
|
|
64
|
+
private validateEnum;
|
|
65
|
+
/**
|
|
66
|
+
* Clear configuration cache
|
|
67
|
+
*/
|
|
68
|
+
clearCache(): void;
|
|
69
|
+
}
|
|
70
|
+
export declare const xrayConfigLoader: XrayConfigLoader;
|
|
71
|
+
export { xrayConfigLoader as strRayConfigLoader, XrayConfigLoader as StringRayConfigLoader };
|
|
@@ -10,7 +10,7 @@ import * as fs from "fs";
|
|
|
10
10
|
import * as path from "path";
|
|
11
11
|
import { frameworkLogger } from "./framework-logger.js";
|
|
12
12
|
import { getConfigDir, resolveConfigPath } from "./config-paths.js";
|
|
13
|
-
export class
|
|
13
|
+
export class XrayConfigLoader {
|
|
14
14
|
configPath;
|
|
15
15
|
cachedConfig = null;
|
|
16
16
|
cacheExpiry = 30000; // 30 seconds
|
|
@@ -145,4 +145,6 @@ export class StringRayConfigLoader {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
// Export singleton instance
|
|
148
|
-
export const
|
|
148
|
+
export const xrayConfigLoader = new XrayConfigLoader();
|
|
149
|
+
// Backward compat alias
|
|
150
|
+
export { xrayConfigLoader as strRayConfigLoader, XrayConfigLoader as StringRayConfigLoader };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config Path Resolver
|
|
3
|
+
*
|
|
4
|
+
* Centralizes all 0xRay config file path resolution.
|
|
5
|
+
* Supports XRAY_CONFIG_DIR env var for custom config roots.
|
|
6
|
+
*
|
|
7
|
+
* Resolution order (per file type):
|
|
8
|
+
* 1. XRAY_CONFIG_DIR/<relative_path> (if env var set)
|
|
9
|
+
* 2. .xray/<relative_path> (preferred lightweight root)
|
|
10
|
+
* 3. .opencode/xray/<relative_path> (OpenCode root)
|
|
11
|
+
* 4. null (callers fall back to built-in defaults)
|
|
12
|
+
*
|
|
13
|
+
* For state/data directories, uses:
|
|
14
|
+
* 1. XRAY_CONFIG_DIR/state (if env var set)
|
|
15
|
+
* 2. .xray/state
|
|
16
|
+
* 3. .opencode/state (legacy)
|
|
17
|
+
* 4. .xray/state (default — always writable)
|
|
18
|
+
*/
|
|
19
|
+
/** Environment variable name for custom config root */
|
|
20
|
+
export declare const XRAY_CONFIG_DIR_ENV = "XRAY_CONFIG_DIR";
|
|
21
|
+
/** Legacy env var name (backward compat) */
|
|
22
|
+
export declare const STRRAY_CONFIG_DIR_ENV = "STRRAY_CONFIG_DIR";
|
|
23
|
+
/**
|
|
24
|
+
* Detect the best available config directory.
|
|
25
|
+
* Scans in priority order and caches the first one that exists (or the first default).
|
|
26
|
+
*/
|
|
27
|
+
export declare function getConfigDir(projectRoot?: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve a specific config file path using the standard priority chain.
|
|
30
|
+
* Returns null if no suitable path is found (caller should use defaults).
|
|
31
|
+
*
|
|
32
|
+
* @param relativePath - Path relative to config dir (e.g., "features.json")
|
|
33
|
+
* @param projectRoot - Optional project root override
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveConfigPath(relativePath: string, projectRoot?: string): string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Get the state persistence directory (the parent directory for state.json).
|
|
38
|
+
* Similar logic to resolveConfigPath but for the state/ subdirectory.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveStateDir(projectRoot?: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* Get the state persistence FILE path (e.g. .opencode/state/state.json).
|
|
43
|
+
* Prefer this over resolveStateDir when you need a file path for fs.writeFileSync.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveStateFilePath(projectRoot?: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Get the profiles storage directory.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveProfilesDir(projectRoot?: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Resolve codex.json path.
|
|
52
|
+
* Has additional fallback locations beyond the standard config dir.
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveCodexPath(projectRoot?: string): string[];
|
|
55
|
+
/**
|
|
56
|
+
* Get the logs directory for framework logging.
|
|
57
|
+
*/
|
|
58
|
+
export declare function resolveLogDir(projectRoot?: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Reset the cached config dir (useful for testing).
|
|
61
|
+
*/
|
|
62
|
+
export declare function resetConfigDirCache(): void;
|
|
@@ -2,24 +2,25 @@
|
|
|
2
2
|
* Config Path Resolver
|
|
3
3
|
*
|
|
4
4
|
* Centralizes all 0xRay config file path resolution.
|
|
5
|
-
* Supports
|
|
6
|
-
* making .opencode/ completely optional for environments like Hermes Agent.
|
|
5
|
+
* Supports XRAY_CONFIG_DIR env var for custom config roots.
|
|
7
6
|
*
|
|
8
7
|
* Resolution order (per file type):
|
|
9
|
-
* 1.
|
|
10
|
-
* 2. .
|
|
11
|
-
* 3. .opencode/
|
|
8
|
+
* 1. XRAY_CONFIG_DIR/<relative_path> (if env var set)
|
|
9
|
+
* 2. .xray/<relative_path> (preferred lightweight root)
|
|
10
|
+
* 3. .opencode/xray/<relative_path> (OpenCode root)
|
|
12
11
|
* 4. null (callers fall back to built-in defaults)
|
|
13
12
|
*
|
|
14
13
|
* For state/data directories, uses:
|
|
15
|
-
* 1.
|
|
16
|
-
* 2. .
|
|
14
|
+
* 1. XRAY_CONFIG_DIR/state (if env var set)
|
|
15
|
+
* 2. .xray/state
|
|
17
16
|
* 3. .opencode/state (legacy)
|
|
18
|
-
* 4. .
|
|
17
|
+
* 4. .xray/state (default — always writable)
|
|
19
18
|
*/
|
|
20
19
|
import { existsSync } from "fs";
|
|
21
20
|
import { join, resolve } from "path";
|
|
22
21
|
/** Environment variable name for custom config root */
|
|
22
|
+
export const XRAY_CONFIG_DIR_ENV = "XRAY_CONFIG_DIR";
|
|
23
|
+
/** Legacy env var name (backward compat) */
|
|
23
24
|
export const STRRAY_CONFIG_DIR_ENV = "STRRAY_CONFIG_DIR";
|
|
24
25
|
/** Resolved config directories, cached per projectRoot */
|
|
25
26
|
const _resolvedConfigDirs = new Map();
|
|
@@ -32,7 +33,7 @@ export function getConfigDir(projectRoot) {
|
|
|
32
33
|
const cached = _resolvedConfigDirs.get(root);
|
|
33
34
|
if (cached)
|
|
34
35
|
return cached;
|
|
35
|
-
const envDir = process.env[STRRAY_CONFIG_DIR_ENV];
|
|
36
|
+
const envDir = process.env[XRAY_CONFIG_DIR_ENV] || process.env[STRRAY_CONFIG_DIR_ENV];
|
|
36
37
|
// Priority candidates
|
|
37
38
|
const candidates = [];
|
|
38
39
|
if (envDir) {
|
|
@@ -40,8 +41,8 @@ export function getConfigDir(projectRoot) {
|
|
|
40
41
|
const resolved = resolve(root, envDir);
|
|
41
42
|
candidates.push({ dir: resolved, source: "env" });
|
|
42
43
|
}
|
|
43
|
-
candidates.push({ dir: join(root, ".
|
|
44
|
-
candidates.push({ dir: join(root, ".opencode", "
|
|
44
|
+
candidates.push({ dir: join(root, ".xray"), source: "dot-xray" });
|
|
45
|
+
candidates.push({ dir: join(root, ".opencode", "xray"), source: "dot-opencode" });
|
|
45
46
|
// Return the first that exists, or the highest-priority default
|
|
46
47
|
for (const c of candidates) {
|
|
47
48
|
if (existsSync(c.dir)) {
|
|
@@ -49,7 +50,7 @@ export function getConfigDir(projectRoot) {
|
|
|
49
50
|
return c.dir;
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
|
-
// Nothing exists — use highest priority default (env > .
|
|
53
|
+
// Nothing exists — use highest priority default (env > .xray > .opencode)
|
|
53
54
|
const defaultDir = candidates[0];
|
|
54
55
|
_resolvedConfigDirs.set(root, defaultDir.dir);
|
|
55
56
|
return defaultDir.dir;
|
|
@@ -63,13 +64,13 @@ export function getConfigDir(projectRoot) {
|
|
|
63
64
|
*/
|
|
64
65
|
export function resolveConfigPath(relativePath, projectRoot) {
|
|
65
66
|
const root = projectRoot || process.cwd();
|
|
66
|
-
const envDir = process.env[STRRAY_CONFIG_DIR_ENV];
|
|
67
|
+
const envDir = process.env[XRAY_CONFIG_DIR_ENV] || process.env[STRRAY_CONFIG_DIR_ENV];
|
|
67
68
|
const candidates = [];
|
|
68
69
|
if (envDir) {
|
|
69
70
|
candidates.push(resolve(root, envDir, relativePath));
|
|
70
71
|
}
|
|
71
|
-
candidates.push(join(root, ".
|
|
72
|
-
candidates.push(join(root, ".opencode", "
|
|
72
|
+
candidates.push(join(root, ".xray", relativePath));
|
|
73
|
+
candidates.push(join(root, ".opencode", "xray", relativePath));
|
|
73
74
|
for (const candidate of candidates) {
|
|
74
75
|
if (existsSync(candidate)) {
|
|
75
76
|
return candidate;
|
|
@@ -85,12 +86,12 @@ export function resolveConfigPath(relativePath, projectRoot) {
|
|
|
85
86
|
*/
|
|
86
87
|
export function resolveStateDir(projectRoot) {
|
|
87
88
|
const root = projectRoot || process.cwd();
|
|
88
|
-
const envDir = process.env[STRRAY_CONFIG_DIR_ENV];
|
|
89
|
+
const envDir = process.env[XRAY_CONFIG_DIR_ENV] || process.env[STRRAY_CONFIG_DIR_ENV];
|
|
89
90
|
const candidates = [];
|
|
90
91
|
if (envDir) {
|
|
91
92
|
candidates.push(join(root, envDir, "state"));
|
|
92
93
|
}
|
|
93
|
-
candidates.push(join(root, ".
|
|
94
|
+
candidates.push(join(root, ".xray", "state"));
|
|
94
95
|
candidates.push(join(root, ".opencode", "state"));
|
|
95
96
|
for (const candidate of candidates) {
|
|
96
97
|
if (existsSync(candidate)) {
|
|
@@ -112,13 +113,13 @@ export function resolveStateFilePath(projectRoot) {
|
|
|
112
113
|
*/
|
|
113
114
|
export function resolveProfilesDir(projectRoot) {
|
|
114
115
|
const root = projectRoot || process.cwd();
|
|
115
|
-
const envDir = process.env[STRRAY_CONFIG_DIR_ENV];
|
|
116
|
+
const envDir = process.env[XRAY_CONFIG_DIR_ENV] || process.env[STRRAY_CONFIG_DIR_ENV];
|
|
116
117
|
const candidates = [];
|
|
117
118
|
if (envDir) {
|
|
118
119
|
candidates.push(join(root, envDir, "profiles"));
|
|
119
120
|
}
|
|
120
|
-
candidates.push(join(root, ".
|
|
121
|
-
candidates.push(join(root, ".opencode", "
|
|
121
|
+
candidates.push(join(root, ".xray", "profiles"));
|
|
122
|
+
candidates.push(join(root, ".opencode", "xray", "profiles"));
|
|
122
123
|
for (const candidate of candidates) {
|
|
123
124
|
if (existsSync(candidate)) {
|
|
124
125
|
return candidate;
|
|
@@ -132,14 +133,14 @@ export function resolveProfilesDir(projectRoot) {
|
|
|
132
133
|
*/
|
|
133
134
|
export function resolveCodexPath(projectRoot) {
|
|
134
135
|
const root = projectRoot || process.cwd();
|
|
135
|
-
const envDir = process.env[STRRAY_CONFIG_DIR_ENV];
|
|
136
|
+
const envDir = process.env[XRAY_CONFIG_DIR_ENV] || process.env[STRRAY_CONFIG_DIR_ENV];
|
|
136
137
|
const candidates = [];
|
|
137
138
|
if (envDir) {
|
|
138
139
|
candidates.push(join(root, envDir, "codex.json"));
|
|
139
140
|
}
|
|
140
|
-
candidates.push(join(root, ".
|
|
141
|
+
candidates.push(join(root, ".xray", "codex.json"));
|
|
141
142
|
candidates.push(join(root, "xray", "codex.json"));
|
|
142
|
-
candidates.push(join(root, ".opencode", "
|
|
143
|
+
candidates.push(join(root, ".opencode", "xray", "codex.json"));
|
|
143
144
|
// Additional fallback locations (for standalone usage)
|
|
144
145
|
candidates.push(join(root, "codex.json"));
|
|
145
146
|
candidates.push(join(root, "src", "codex.json"));
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0xRay Context Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads Universal Development Codex v1.2.0 context for agent initialization.
|
|
5
|
+
* Provides structured access to 30+ codex terms, interweaves, lenses, and anti-patterns.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-01-06
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Codex term structure
|
|
12
|
+
*/
|
|
13
|
+
export interface CodexTerm {
|
|
14
|
+
number: number;
|
|
15
|
+
description: string;
|
|
16
|
+
category: "core" | "extended" | "architecture" | "advanced";
|
|
17
|
+
zeroTolerance?: boolean;
|
|
18
|
+
enforcementLevel?: "low" | "medium" | "high" | "blocking";
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parsed codex context
|
|
22
|
+
*/
|
|
23
|
+
export interface CodexContext {
|
|
24
|
+
version: string;
|
|
25
|
+
lastUpdated: string;
|
|
26
|
+
terms: Map<number, CodexTerm>;
|
|
27
|
+
interweaves: string[];
|
|
28
|
+
lenses: string[];
|
|
29
|
+
principles: string[];
|
|
30
|
+
antiPatterns: string[];
|
|
31
|
+
validationCriteria: Record<string, boolean>;
|
|
32
|
+
frameworkAlignment: Record<string, string>;
|
|
33
|
+
errorPreventionTarget: number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Context loading result
|
|
37
|
+
*/
|
|
38
|
+
export interface ContextLoadResult {
|
|
39
|
+
success: boolean;
|
|
40
|
+
context?: CodexContext;
|
|
41
|
+
error?: string;
|
|
42
|
+
warnings: string[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 0xRay Context Loader
|
|
46
|
+
*
|
|
47
|
+
* Loads and parses the Universal Development Codex v1.2.0 from codex.json
|
|
48
|
+
*/
|
|
49
|
+
export declare class XrayContextLoader {
|
|
50
|
+
private static instance;
|
|
51
|
+
private cachedContext;
|
|
52
|
+
private codexFilePaths;
|
|
53
|
+
private constructor();
|
|
54
|
+
/**
|
|
55
|
+
* Get singleton instance
|
|
56
|
+
*/
|
|
57
|
+
static getInstance(): XrayContextLoader;
|
|
58
|
+
/**
|
|
59
|
+
* Load codex context
|
|
60
|
+
*
|
|
61
|
+
* Attempts to load the Universal Development Codex from multiple possible locations.
|
|
62
|
+
* Returns cached context if available and not expired.
|
|
63
|
+
*/
|
|
64
|
+
loadCodexContext(projectRoot: string): Promise<ContextLoadResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Parse codex content from JSON or Markdown
|
|
67
|
+
*
|
|
68
|
+
* Extracts all 30+ codex terms, interweaves, lenses, and principles from content.
|
|
69
|
+
* Supports both JSON and Markdown formats with explicit format detection.
|
|
70
|
+
*/
|
|
71
|
+
private parseCodexContent;
|
|
72
|
+
private inferTermCategory;
|
|
73
|
+
/**
|
|
74
|
+
* Get specific codex term by number
|
|
75
|
+
*/
|
|
76
|
+
getTerm(context: CodexContext, termNumber: number): CodexTerm | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Get all core terms (1-10)
|
|
79
|
+
*/
|
|
80
|
+
getCoreTerms(context: CodexContext): CodexTerm[];
|
|
81
|
+
/**
|
|
82
|
+
* Get zero-tolerance terms that require immediate blocking
|
|
83
|
+
*/
|
|
84
|
+
getZeroToleranceTerms(context: CodexContext): CodexTerm[];
|
|
85
|
+
/**
|
|
86
|
+
* Validate action against codex
|
|
87
|
+
*
|
|
88
|
+
* Checks if an action complies with relevant codex terms.
|
|
89
|
+
* Returns validation result with violations and recommendations.
|
|
90
|
+
*/
|
|
91
|
+
validateAgainstCodex(context: CodexContext, action: string, actionDetails: Record<string, unknown>): {
|
|
92
|
+
compliant: boolean;
|
|
93
|
+
violations: Array<{
|
|
94
|
+
term: CodexTerm;
|
|
95
|
+
reason: string;
|
|
96
|
+
severity: "low" | "medium" | "high" | "blocking";
|
|
97
|
+
}>;
|
|
98
|
+
recommendations: string[];
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Clear cached context (useful for testing or forced reload)
|
|
102
|
+
*/
|
|
103
|
+
clearCache(): void;
|
|
104
|
+
/**
|
|
105
|
+
* Check if context is loaded and valid
|
|
106
|
+
*/
|
|
107
|
+
isContextLoaded(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Get context statistics
|
|
110
|
+
*/
|
|
111
|
+
getContextStats(): {
|
|
112
|
+
loaded: boolean;
|
|
113
|
+
termCount: number;
|
|
114
|
+
categoryBreakdown: Record<string, number>;
|
|
115
|
+
zeroToleranceCount: number;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Export singleton instance
|
|
120
|
+
*/
|
|
121
|
+
export declare const xrayContextLoader: XrayContextLoader;
|
|
122
|
+
export { xrayContextLoader as strRayContextLoader, XrayContextLoader as StringRayContextLoader };
|
|
@@ -22,7 +22,7 @@ function isValidMatch(match, index) {
|
|
|
22
22
|
*
|
|
23
23
|
* Loads and parses the Universal Development Codex v1.2.0 from codex.json
|
|
24
24
|
*/
|
|
25
|
-
export class
|
|
25
|
+
export class XrayContextLoader {
|
|
26
26
|
static instance;
|
|
27
27
|
cachedContext = null;
|
|
28
28
|
codexFilePaths = [];
|
|
@@ -33,10 +33,10 @@ export class StringRayContextLoader {
|
|
|
33
33
|
* Get singleton instance
|
|
34
34
|
*/
|
|
35
35
|
static getInstance() {
|
|
36
|
-
if (!
|
|
37
|
-
|
|
36
|
+
if (!XrayContextLoader.instance) {
|
|
37
|
+
XrayContextLoader.instance = new XrayContextLoader();
|
|
38
38
|
}
|
|
39
|
-
return
|
|
39
|
+
return XrayContextLoader.instance;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Load codex context
|
|
@@ -266,4 +266,6 @@ export class StringRayContextLoader {
|
|
|
266
266
|
/**
|
|
267
267
|
* Export singleton instance
|
|
268
268
|
*/
|
|
269
|
-
export const
|
|
269
|
+
export const xrayContextLoader = XrayContextLoader.getInstance();
|
|
270
|
+
// Backward compat alias
|
|
271
|
+
export { xrayContextLoader as strRayContextLoader, XrayContextLoader as StringRayContextLoader };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0xRay Context Size Validator
|
|
3
|
+
*
|
|
4
|
+
* Prevents system prompt bloat by validating and rejecting context-injection attempts
|
|
5
|
+
* that would exceed token budgets.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-03-03
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Context size configuration
|
|
12
|
+
*/
|
|
13
|
+
export interface ContextSizeConfig {
|
|
14
|
+
maxSystemPromptLength: number;
|
|
15
|
+
maxCodexContextLength: number;
|
|
16
|
+
maxTotalPromptLength: number;
|
|
17
|
+
enableCompression: boolean;
|
|
18
|
+
preventDuplicateContent: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Context validation result
|
|
22
|
+
*/
|
|
23
|
+
export interface ValidationResult {
|
|
24
|
+
isValid: boolean;
|
|
25
|
+
sizeInTokens: number;
|
|
26
|
+
exceedsBudget: boolean;
|
|
27
|
+
warnings: string[];
|
|
28
|
+
compressionApplied: boolean;
|
|
29
|
+
optimizedContent?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Validate context size and detect bloat
|
|
33
|
+
*/
|
|
34
|
+
export declare function validateContext(context: string, config?: Partial<ContextSizeConfig>): ValidationResult;
|
|
35
|
+
/**
|
|
36
|
+
* Validate context collection (multiple contexts combined)
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateContextCollection(contexts: string[], config?: Partial<ContextSizeConfig>): ValidationResult;
|
|
39
|
+
/**
|
|
40
|
+
* Prevent system prompt bloat middleware
|
|
41
|
+
*/
|
|
42
|
+
export declare function preventSystemPromptBloat(context: string, onWarning?: (warning: string) => void): string;
|
|
43
|
+
/**
|
|
44
|
+
* Utility function to check if a prompt is likely to cause overflow
|
|
45
|
+
*/
|
|
46
|
+
export declare function isPromptLikelyToOverflow(prompt: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Generate a safe system prompt template
|
|
49
|
+
*/
|
|
50
|
+
export declare function generateSafeSystemPrompt(baseTemplate: string, additionalContext: string, maxTokens?: number): {
|
|
51
|
+
prompt: string;
|
|
52
|
+
safe: boolean;
|
|
53
|
+
};
|