0xray 3.4.1 → 3.4.3
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/.xray/codex.json +598 -0
- package/.xray/config.json +25 -0
- package/.xray/features.json +152 -0
- package/.xray/features.schema.json +33 -0
- package/AGENTS-consumer.md +127 -10
- package/AGENTS.md +172 -56
- package/README.md +159 -82
- package/SKILLS.md +79 -53
- package/dist/AGENTS.md +172 -56
- package/dist/CHANGELOG.md +95 -52
- package/dist/README.md +159 -82
- package/dist/SKILLS.md +79 -53
- 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/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 +25 -0
- package/dist/agents/known-names.d.ts +26 -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 +37 -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 +92 -0
- package/dist/analytics/emerging-pattern-detector.d.ts +66 -0
- package/dist/analytics/pattern-learning-engine.d.ts +79 -0
- package/dist/analytics/pattern-performance-tracker.d.ts +96 -0
- package/dist/analytics/predictive-analytics.d.ts +40 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts +98 -0
- package/dist/analytics/routing-performance-analyzer.d.ts +100 -0
- package/dist/analytics/routing-refiner.d.ts +102 -0
- package/dist/analytics/simple-pattern-analyzer.d.ts +79 -0
- package/dist/architect/architect-tools.d.ts +70 -0
- package/dist/architect/architectural-integrity.d.ts +20 -0
- package/dist/benchmark/performance-benchmark.d.ts +103 -0
- package/dist/cli/commands/analytics-disable.d.ts +9 -0
- package/dist/cli/commands/analytics-enable-action.d.ts +8 -0
- package/dist/cli/commands/analytics-preview.d.ts +9 -0
- package/dist/cli/commands/analytics-status.d.ts +9 -0
- package/dist/cli/commands/antigravity-status.d.ts +9 -0
- package/dist/cli/commands/archive-logs.d.ts +23 -0
- package/dist/cli/commands/credible-init.d.ts +11 -0
- package/dist/cli/commands/enforce.d.ts +12 -0
- package/dist/cli/commands/govern.d.ts +29 -0
- package/dist/cli/commands/grok-install.d.ts +7 -0
- package/dist/cli/commands/hermes-install.d.ts +2 -0
- package/dist/cli/commands/mcp-install.d.ts +4 -0
- package/dist/cli/commands/openclaw-install.d.ts +2 -0
- package/dist/cli/commands/opencode-install.d.ts +2 -0
- package/dist/cli/commands/plugin-commands.d.ts +18 -0
- package/dist/cli/commands/publish-agent.d.ts +15 -0
- package/dist/cli/commands/security-audit.d.ts +23 -0
- package/dist/cli/commands/skill-install.d.ts +6 -0
- package/dist/cli/commands/status.d.ts +41 -0
- package/dist/cli/commands/storyteller.d.ts +19 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/server.d.ts +1 -0
- package/dist/config/default-agents.d.ts +12 -0
- package/dist/config/routing-mappings.d.ts +26 -0
- package/dist/core/activity-logger.d.ts +71 -0
- package/dist/core/adaptive-kernel.d.ts +108 -0
- package/dist/core/agent-spawn-gate.d.ts +56 -0
- package/dist/core/boot-orchestrator.d.ts +99 -0
- package/dist/core/codex-formatter.d.ts +95 -0
- package/dist/core/codex-injector.d.ts +73 -0
- package/dist/core/config-loader.d.ts +59 -0
- package/dist/core/config-paths.d.ts +66 -0
- package/dist/core/context-loader.d.ts +120 -0
- package/dist/core/context-validator.d.ts +52 -0
- package/dist/core/features-config.d.ts +485 -0
- package/dist/core/features-config.js +5 -0
- package/dist/core/framework-logger.d.ts +76 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/kernel-patterns.d.ts +129 -0
- package/dist/core/logging-config.d.ts +10 -0
- package/dist/core/model-router.d.ts +56 -0
- package/dist/core/orchestrator.d.ts +71 -0
- package/dist/core/system-prompt-generator.d.ts +34 -0
- package/dist/core/trace-context.d.ts +12 -0
- package/dist/core/xray-activation.d.ts +14 -0
- package/dist/delegation/agent-delegator.d.ts +185 -0
- package/dist/delegation/agent-expertise.d.ts +15 -0
- package/dist/delegation/analytics/index.d.ts +11 -0
- package/dist/delegation/analytics/learning-engine.d.ts +84 -0
- package/dist/delegation/analytics/outcome-tracker.d.ts +117 -0
- package/dist/delegation/analytics/routing-analytics.d.ts +60 -0
- package/dist/delegation/ast-code-parser.d.ts +173 -0
- package/dist/delegation/codebase-context-analyzer.d.ts +164 -0
- package/dist/delegation/complexity-analyzer.d.ts +110 -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 +94 -0
- package/dist/delegation/index.d.ts +25 -0
- package/dist/delegation/metrics-aggregator.d.ts +91 -0
- package/dist/delegation/session-coordinator.d.ts +132 -0
- package/dist/delegation/strategy-selector.d.ts +27 -0
- package/dist/delegation/voting-coordinator.d.ts +48 -0
- package/dist/delegation/voting-types.d.ts +154 -0
- package/dist/delegation/weighted-voting-aggregator.d.ts +36 -0
- package/dist/enforcement/core/index.d.ts +14 -0
- package/dist/enforcement/core/rule-executor.d.ts +157 -0
- package/dist/enforcement/core/rule-hierarchy.d.ts +145 -0
- package/dist/enforcement/core/rule-registry.d.ts +196 -0
- package/dist/enforcement/core/violation-fixer.d.ts +105 -0
- package/dist/enforcement/enforcer-tools.d.ts +78 -0
- package/dist/enforcement/index.d.ts +22 -0
- package/dist/enforcement/loaders/agent-triage-loader.d.ts +98 -0
- package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +75 -0
- package/dist/enforcement/loaders/base-loader.d.ts +82 -0
- package/dist/enforcement/loaders/codex-loader.d.ts +76 -0
- package/dist/enforcement/loaders/index.d.ts +36 -0
- package/dist/enforcement/loaders/loader-orchestrator.d.ts +96 -0
- package/dist/enforcement/loaders/processor-loader.d.ts +59 -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 +500 -0
- package/dist/enforcement/validators/architecture-validators.d.ts +154 -0
- package/dist/enforcement/validators/base-validator.d.ts +87 -0
- package/dist/enforcement/validators/code-quality-validators.d.ts +88 -0
- package/dist/enforcement/validators/index.d.ts +14 -0
- package/dist/enforcement/validators/security-validators.d.ts +52 -0
- package/dist/enforcement/validators/testing-validators.d.ts +80 -0
- package/dist/enforcement/validators/validator-registry.d.ts +91 -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 +56 -0
- package/dist/governance/governance-core.d.ts +53 -0
- package/dist/governance/governance-service.d.ts +38 -0
- package/dist/governance/governance-types.d.ts +90 -0
- package/dist/governance/llm-governance-provider.d.ts +13 -0
- package/dist/index.d.ts +28 -0
- package/dist/inference/deploy-verifier.d.ts +26 -0
- package/dist/inference/index.d.ts +10 -0
- package/dist/inference/inference-accumulator.d.ts +29 -0
- package/dist/inference/inference-agent-invoker.d.ts +3 -0
- package/dist/inference/inference-applier.d.ts +4 -0
- package/dist/inference/inference-cycle.d.ts +70 -0
- package/dist/inference/inference-proposal-generator.d.ts +3 -0
- package/dist/inference/semantic-patterns.d.ts +7 -0
- package/dist/inference/session-capture.d.ts +32 -0
- package/dist/infrastructure/iac-validator.d.ts +150 -0
- package/dist/infrastructure/schemas/cloud-schemas.d.ts +482 -0
- package/dist/integrations/base/ExampleIntegration.d.ts +46 -0
- package/dist/integrations/base/Integration.d.ts +266 -0
- package/dist/integrations/base/index.d.ts +11 -0
- package/dist/integrations/base/registry.d.ts +272 -0
- package/dist/integrations/base/types.d.ts +167 -0
- package/dist/integrations/enforcement-gate.d.ts +44 -0
- package/dist/integrations/governance/governance-client.d.ts +75 -0
- package/dist/integrations/governance/index.d.ts +98 -0
- package/dist/integrations/governance/types.d.ts +238 -0
- package/dist/integrations/grok/grok-cli.d.ts +25 -0
- package/dist/integrations/grok/hooks/grok-hook-activity.js +53 -0
- package/dist/integrations/grok/hooks/grok-hook-utils.js +261 -0
- package/dist/integrations/grok/hooks/pre-tool-use.js +85 -115
- package/dist/integrations/grok/hooks/session-start.js +52 -0
- package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +20 -3
- package/dist/integrations/openclaw/api-server.d.ts +86 -0
- package/dist/integrations/openclaw/client.d.ts +121 -0
- package/dist/integrations/openclaw/config.d.ts +95 -0
- package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +123 -0
- package/dist/integrations/openclaw/index.d.ts +100 -0
- package/dist/integrations/openclaw/types.d.ts +425 -0
- package/dist/integrations/plugins/index.d.ts +9 -0
- package/dist/integrations/plugins/plugin-integration.d.ts +288 -0
- package/dist/integrations/plugins/plugin-registry.d.ts +223 -0
- package/dist/mcps/agent-resolver.d.ts +45 -0
- package/dist/mcps/architect-tools.server.d.ts +16 -0
- package/dist/mcps/auto-format.server.d.ts +18 -0
- package/dist/mcps/boot-orchestrator.server.d.ts +48 -0
- package/dist/mcps/config/config-loader.d.ts +56 -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 +126 -0
- package/dist/mcps/config/server-config-registry.d.ts +51 -0
- package/dist/mcps/config/server-config-registry.js +4 -3
- package/dist/mcps/connection/connection-manager.d.ts +39 -0
- package/dist/mcps/connection/connection-pool.d.ts +64 -0
- package/dist/mcps/connection/mcp-connection.d.ts +66 -0
- package/dist/mcps/connection/process-spawner.d.ts +24 -0
- package/dist/mcps/enforcer-tools.server.d.ts +26 -0
- package/dist/mcps/estimation.server.d.ts +19 -0
- package/dist/mcps/framework-compliance-audit.server.d.ts +20 -0
- package/dist/mcps/framework-help.server.d.ts +13 -0
- package/dist/mcps/governance.server.d.ts +35 -0
- package/dist/mcps/governance.server.js +14 -2
- package/dist/mcps/in-process-skill-registry.d.ts +20 -0
- package/dist/mcps/index.d.ts +17 -0
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +31 -0
- package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +29 -0
- package/dist/mcps/knowledge-skills/code-review.server.d.ts +44 -0
- package/dist/mcps/knowledge-skills/content-creator.server.d.ts +11 -0
- package/dist/mcps/knowledge-skills/database-design.server.d.ts +41 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +41 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +11 -0
- package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +22 -0
- package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +17 -0
- package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +53 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +69 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +35 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +31 -0
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +46 -0
- package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +24 -0
- package/dist/mcps/knowledge-skills/session-management.server.d.ts +22 -0
- package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +32 -0
- package/dist/mcps/knowledge-skills/storyteller.server.d.ts +11 -0
- package/dist/mcps/knowledge-skills/strategist.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +45 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +34 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +45 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +67 -0
- package/dist/mcps/lint.server.d.ts +15 -0
- package/dist/mcps/mcp-client.d.ts +157 -0
- package/dist/mcps/model-health-check.server.d.ts +14 -0
- package/dist/mcps/orchestrator/aside-context.d.ts +21 -0
- package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +39 -0
- package/dist/mcps/orchestrator/config/memory-routing-bridge.d.ts +12 -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/complexity-handler.js +33 -3
- package/dist/mcps/orchestrator/handlers/status-handler.d.ts +71 -0
- package/dist/mcps/orchestrator/handlers/task-handler.d.ts +53 -0
- package/dist/mcps/orchestrator/index.d.ts +6 -0
- package/dist/mcps/orchestrator/server.d.ts +38 -0
- package/dist/mcps/orchestrator/server.js +1 -1
- package/dist/mcps/orchestrator/types.d.ts +128 -0
- package/dist/mcps/orchestrator.server.d.ts +10 -0
- package/dist/mcps/performance-analysis.server.d.ts +25 -0
- package/dist/mcps/processor-pipeline.server.d.ts +29 -0
- package/dist/mcps/protocol/protocol-constants.d.ts +46 -0
- package/dist/mcps/researcher-confidence.d.ts +21 -0
- package/dist/mcps/researcher.server.d.ts +29 -0
- package/dist/mcps/researcher.server.js +3 -0
- package/dist/mcps/security-scan.server.d.ts +19 -0
- package/dist/mcps/shared/knowledge-skill-base.d.ts +17 -0
- package/dist/mcps/shared/prompt-security-validator.d.ts +44 -0
- package/dist/mcps/shared/security-scanner.d.ts +119 -0
- package/dist/mcps/simulation/index.d.ts +12 -0
- package/dist/mcps/simulation/server-simulations.d.ts +39 -0
- package/dist/mcps/simulation/simulation-engine.d.ts +51 -0
- package/dist/mcps/state-manager.server.d.ts +27 -0
- 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/memory-routing/index.d.ts +6 -0
- package/dist/memory-routing/null-provider.d.ts +14 -0
- package/dist/memory-routing/provider-loader.d.ts +2 -0
- package/dist/memory-routing/provider-registry.d.ts +8 -0
- package/dist/memory-routing/types.d.ts +104 -0
- package/dist/memory-routing/validate-config.d.ts +7 -0
- package/dist/metrics/agent-metrics.d.ts +169 -0
- package/dist/metrics/index.d.ts +6 -0
- package/dist/monitoring/advanced-profiler.d.ts +51 -0
- package/dist/monitoring/memory-monitor.d.ts +113 -0
- package/dist/monitoring/nudge-watchdog.d.ts +87 -0
- package/dist/monitoring/test-auto-generation-monitor.d.ts +64 -0
- package/dist/nucleus/autonomy-kernel.d.ts +48 -0
- package/dist/nucleus/autonomy-kernel.js +176 -0
- package/dist/nucleus/default-plugins.d.ts +17 -0
- package/dist/nucleus/govern-http.d.ts +59 -0
- package/dist/nucleus/index.d.ts +17 -0
- package/dist/nucleus/index.js +1 -0
- package/dist/nucleus/kernel.d.ts +51 -0
- package/dist/nucleus/plugin-registry.d.ts +132 -0
- package/dist/nucleus/thin-dispatch.d.ts +33 -0
- package/dist/orchestrator/agent-spawn-governor.d.ts +126 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +156 -0
- package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
- package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +126 -0
- package/dist/orchestrator/orchestrator.d.ts +141 -0
- package/dist/orchestrator/self-direction-activation.d.ts +108 -0
- package/dist/orchestrator/universal-librarian-consultation.d.ts +98 -0
- package/dist/orchestrator/universal-registry-bridge.d.ts +84 -0
- package/dist/performance/performance-budget-enforcer.d.ts +157 -0
- package/dist/performance/performance-regression-tester.d.ts +107 -0
- package/dist/plugin/plugin-codex-context.d.ts +18 -0
- package/dist/plugin/plugin-helpers.d.ts +23 -0
- package/dist/plugin/plugin-logger.d.ts +8 -0
- package/dist/plugin/plugin-modules.d.ts +11 -0
- package/dist/plugin/plugin-quality-gate.d.ts +11 -0
- package/dist/plugin/plugin-types.d.ts +93 -0
- package/dist/plugin/xray-codex-injection.d.ts +39 -0
- package/dist/postprocessor/PostProcessor.d.ts +107 -0
- package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +11 -0
- package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +39 -0
- package/dist/postprocessor/autofix/AutoFixEngine.d.ts +48 -0
- package/dist/postprocessor/autofix/FixValidator.d.ts +23 -0
- package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +44 -0
- package/dist/postprocessor/config.d.ts +6 -0
- package/dist/postprocessor/escalation/EscalationEngine.d.ts +154 -0
- package/dist/postprocessor/integration.d.ts +156 -0
- package/dist/postprocessor/metamorphosis/SelfProposalEngine.d.ts +87 -0
- package/dist/postprocessor/metamorphosis/index.d.ts +2 -0
- package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +40 -0
- package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +91 -0
- package/dist/postprocessor/redeploy/RetryHandler.d.ts +49 -0
- package/dist/postprocessor/services/RegressionAnalysisService.d.ts +39 -0
- package/dist/postprocessor/success/SuccessHandler.d.ts +57 -0
- package/dist/postprocessor/triggers/APITrigger.d.ts +34 -0
- package/dist/postprocessor/triggers/GitHookTrigger.d.ts +38 -0
- package/dist/postprocessor/triggers/WebhookTrigger.d.ts +46 -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 +62 -0
- package/dist/processors/implementations/async-pattern-processor.d.ts +47 -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 +32 -0
- package/dist/processors/implementations/coverage-analysis-processor.d.ts +19 -0
- package/dist/processors/implementations/error-boundary-processor.d.ts +7 -0
- package/dist/processors/implementations/inference-improvement-processor.d.ts +36 -0
- package/dist/processors/implementations/log-protection-processor.d.ts +29 -0
- package/dist/processors/implementations/nudge-processor.d.ts +21 -0
- package/dist/processors/implementations/performance-budget-processor.d.ts +49 -0
- package/dist/processors/implementations/postprocessor-chain-validator.d.ts +45 -0
- package/dist/processors/implementations/pre-validate-processor.d.ts +7 -0
- package/dist/processors/implementations/publish-preflight-processor.d.ts +37 -0
- package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +7 -0
- package/dist/processors/implementations/refactoring-logging-processor.d.ts +31 -0
- package/dist/processors/implementations/regression-testing-processor.d.ts +20 -0
- package/dist/processors/implementations/session-capture-processor.d.ts +14 -0
- package/dist/processors/implementations/session-summary-processor.d.ts +26 -0
- package/dist/processors/implementations/spawn-governance-processor.d.ts +57 -0
- package/dist/processors/implementations/state-validation-processor.d.ts +11 -0
- package/dist/processors/implementations/storytelling-trigger-processor.d.ts +40 -0
- package/dist/processors/implementations/test-auto-creation-processor.d.ts +16 -0
- package/dist/processors/implementations/test-execution-processor.d.ts +11 -0
- package/dist/processors/implementations/typescript-compilation-processor.d.ts +37 -0
- package/dist/processors/implementations/version-compliance-processor.d.ts +111 -0
- package/dist/processors/processor-interfaces.d.ts +126 -0
- package/dist/processors/processor-manager.d.ts +80 -0
- package/dist/processors/processor-types.d.ts +189 -0
- package/dist/public/XrayService.d.ts +17 -0
- package/dist/public/index.d.ts +4 -0
- package/dist/reporting/framework-reporting-system.d.ts +19 -0
- package/dist/reporting/log-parser.d.ts +10 -0
- package/dist/reporting/metrics.d.ts +15 -0
- package/dist/reporting/report-formatter.d.ts +5 -0
- package/dist/reporting/types.d.ts +102 -0
- package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
- package/dist/scripts/integration.d.ts +36 -0
- package/dist/security/comprehensive-security-audit.d.ts +157 -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 +71 -0
- package/dist/security/security-auditor.d.ts +55 -0
- package/dist/security/security-hardener.d.ts +61 -0
- package/dist/security/security-hardening-system.d.ts +238 -0
- package/dist/security/security-headers.d.ts +63 -0
- package/dist/security/security-orchestration-layer.d.ts +118 -0
- package/dist/security/security-scanner.d.ts +119 -0
- package/dist/services/inference-tuner.d.ts +76 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/session-cleanup-manager.d.ts +117 -0
- package/dist/session/session-monitor.d.ts +132 -0
- package/dist/session/session-state-manager.d.ts +144 -0
- package/dist/skills/boot-orchestrator/SKILL.md +1 -5
- package/dist/skills/orchestrator/SKILL.md +35 -12
- package/dist/skills/researcher/SKILL.md +17 -4
- package/dist/skills/strategist/SKILL.md +12 -0
- package/dist/skills/testing-strategy/SKILL.md +13 -2
- package/dist/skills/xray-orchestrator/index.d.ts +12 -0
- package/dist/state/context-providers.d.ts +4 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/state-manager.d.ts +41 -0
- package/dist/state/state-types.d.ts +5 -0
- package/dist/testing/memory-regression-suite.d.ts +105 -0
- package/dist/tools/assess-complexity-tool.d.ts +28 -0
- package/dist/tools/query-routing-tool.d.ts +17 -0
- package/dist/types/metamorphosis.d.ts +21 -0
- package/dist/utils/batch-operations.d.ts +25 -0
- package/dist/utils/codex-parser.d.ts +60 -0
- package/dist/utils/command-runner.d.ts +32 -0
- package/dist/utils/import-resolver.d.ts +54 -0
- package/dist/utils/language-detector.d.ts +43 -0
- package/dist/utils/path-resolver.d.ts +48 -0
- package/dist/utils/shutdown-handler.d.ts +26 -0
- package/dist/utils/task-graph.d.ts +29 -0
- package/dist/utils/test-template-generator.d.ts +25 -0
- package/dist/utils/token-manager.d.ts +48 -0
- package/dist/validation/agent-config-validator.d.ts +110 -0
- package/dist/validation/estimation-validator.d.ts +61 -0
- package/dist/validation/orchestration-flow-validator.d.ts +87 -0
- package/dist/validation/report-content-validator.d.ts +42 -0
- package/package.json +23 -8
- package/scripts/node/consumer-install-smoke.mjs +174 -0
- package/scripts/node/install-bridges.cjs +20 -6
- package/scripts/node/pre-publish-guard.js +107 -168
- package/scripts/node/reconcile-version.mjs +147 -0
- package/scripts/node/release-gate.mjs +66 -0
- package/scripts/node/release.js +5 -147
- package/scripts/node/release.mjs +106 -181
- package/scripts/node/setup.cjs +12 -22
- package/scripts/node/sync-versions.mjs +12 -134
- package/scripts/node/universal-version-manager.js +4 -0
- package/scripts/node/validate-release-docs.mjs +299 -0
- package/scripts/node/version-manager.mjs +225 -49
- package/src/integrations/grok/plugin/0xray/hooks/hooks.json +20 -3
- package/src/mcps/config/__tests__/server-config-registry.test.ts +9 -0
- package/src/mcps/config/server-config-registry.ts +5 -3
- package/src/mcps/governance.server.ts +15 -2
- package/src/mcps/orchestrator/handlers/complexity-handler.ts +54 -3
- package/src/mcps/orchestrator/server.ts +1 -1
- package/src/mcps/researcher.server.ts +4 -0
- package/src/skills/boot-orchestrator/SKILL.md +1 -5
- package/src/skills/orchestrator/SKILL.md +35 -12
- package/src/skills/researcher/SKILL.md +17 -4
- package/src/skills/strategist/SKILL.md +12 -0
- package/src/skills/testing-strategy/SKILL.md +13 -2
- package/xray/config.json +25 -0
- package/xray/features.json +152 -0
- package/xray/features.schema.json +33 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface TokenLimits {
|
|
2
|
+
maxPromptTokens: number;
|
|
3
|
+
warningThreshold: number;
|
|
4
|
+
modelLimits: Record<string, number>;
|
|
5
|
+
}
|
|
6
|
+
export interface ContextPruningConfig {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
aggressivePruning: boolean;
|
|
9
|
+
preserveCriticalContext: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class TokenManager {
|
|
12
|
+
private config;
|
|
13
|
+
constructor(configPath?: string);
|
|
14
|
+
private loadConfig;
|
|
15
|
+
/**
|
|
16
|
+
* Estimate token count for text (rough approximation)
|
|
17
|
+
* Uses 4 characters per token as a conservative estimate
|
|
18
|
+
*/
|
|
19
|
+
estimateTokens(text: string): number;
|
|
20
|
+
/**
|
|
21
|
+
* Check if prompt exceeds limits
|
|
22
|
+
*/
|
|
23
|
+
checkLimits(prompt: string, modelName?: string): {
|
|
24
|
+
withinLimit: boolean;
|
|
25
|
+
currentTokens: number;
|
|
26
|
+
maxTokens: number;
|
|
27
|
+
needsPruning: boolean;
|
|
28
|
+
warning: boolean;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Prune context to fit within token limits
|
|
32
|
+
*/
|
|
33
|
+
pruneContext(context: string, targetTokens?: number): string;
|
|
34
|
+
private extractCriticalSections;
|
|
35
|
+
private extractSection;
|
|
36
|
+
private extractNonCriticalContent;
|
|
37
|
+
private pruneNonCriticalContent;
|
|
38
|
+
/**
|
|
39
|
+
* Generate warning message for token limits
|
|
40
|
+
*/
|
|
41
|
+
generateWarning(limitCheck: ReturnType<TokenManager["checkLimits"]>): string;
|
|
42
|
+
/**
|
|
43
|
+
* Get current configuration
|
|
44
|
+
*/
|
|
45
|
+
getConfig(): TokenLimits & {
|
|
46
|
+
contextPruning: ContextPruningConfig;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Configuration Validator
|
|
3
|
+
*
|
|
4
|
+
* Validates agent configuration files for correctness and completeness
|
|
5
|
+
* ensuring all required fields are present and properly formatted.
|
|
6
|
+
*
|
|
7
|
+
* @since 2026-01-23
|
|
8
|
+
*/
|
|
9
|
+
export interface AgentConfig {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
version: string;
|
|
13
|
+
model: string;
|
|
14
|
+
mode: "primary" | "subagent";
|
|
15
|
+
logging?: {
|
|
16
|
+
level: string;
|
|
17
|
+
format: string;
|
|
18
|
+
destinations: string[];
|
|
19
|
+
retention_days?: number;
|
|
20
|
+
sensitive_data_filtering?: boolean;
|
|
21
|
+
audit_trail?: boolean;
|
|
22
|
+
};
|
|
23
|
+
processor_pipeline?: Array<{
|
|
24
|
+
name: string;
|
|
25
|
+
type: string;
|
|
26
|
+
priority: "low" | "medium" | "high" | "critical";
|
|
27
|
+
timeout_ms?: number;
|
|
28
|
+
retry_attempts?: number;
|
|
29
|
+
}>;
|
|
30
|
+
capabilities?: string[];
|
|
31
|
+
error_handling?: {
|
|
32
|
+
retry_attempts?: number;
|
|
33
|
+
circuit_breaker?: {
|
|
34
|
+
enabled?: boolean;
|
|
35
|
+
failure_threshold?: number;
|
|
36
|
+
recovery_timeout_ms?: number;
|
|
37
|
+
};
|
|
38
|
+
fallback_strategy?: string;
|
|
39
|
+
alert_on_failure?: boolean;
|
|
40
|
+
};
|
|
41
|
+
performance?: {
|
|
42
|
+
timeout_ms?: number;
|
|
43
|
+
concurrency_limit?: number;
|
|
44
|
+
memory_limit_mb?: number;
|
|
45
|
+
cpu_limit_percent?: number;
|
|
46
|
+
};
|
|
47
|
+
security?: {
|
|
48
|
+
sandboxed_execution?: boolean;
|
|
49
|
+
permission_level?: string;
|
|
50
|
+
data_classification?: string;
|
|
51
|
+
encryption_required?: boolean;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export interface ValidationResult {
|
|
55
|
+
valid: boolean;
|
|
56
|
+
errors: string[];
|
|
57
|
+
warnings: string[];
|
|
58
|
+
config: AgentConfig | null;
|
|
59
|
+
}
|
|
60
|
+
export declare class AgentConfigValidator {
|
|
61
|
+
private readonly requiredFields;
|
|
62
|
+
private readonly validModes;
|
|
63
|
+
private readonly validLogLevels;
|
|
64
|
+
private readonly validLogFormats;
|
|
65
|
+
private readonly validPriorities;
|
|
66
|
+
private readonly validProcessorTypes;
|
|
67
|
+
/**
|
|
68
|
+
* Validate agent configuration from file
|
|
69
|
+
*/
|
|
70
|
+
validateConfigFile(filePath: string): Promise<ValidationResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Validate agent configuration object
|
|
73
|
+
*/
|
|
74
|
+
validateConfig(config: AgentConfig): ValidationResult;
|
|
75
|
+
/**
|
|
76
|
+
* Validate logging configuration
|
|
77
|
+
*/
|
|
78
|
+
private validateLoggingConfig;
|
|
79
|
+
/**
|
|
80
|
+
* Validate processor pipeline configuration
|
|
81
|
+
*/
|
|
82
|
+
private validateProcessorPipeline;
|
|
83
|
+
/**
|
|
84
|
+
* Validate performance configuration
|
|
85
|
+
*/
|
|
86
|
+
private validatePerformanceConfig;
|
|
87
|
+
/**
|
|
88
|
+
* Validate security configuration
|
|
89
|
+
*/
|
|
90
|
+
private validateSecurityConfig;
|
|
91
|
+
/**
|
|
92
|
+
* Validate error handling configuration
|
|
93
|
+
*/
|
|
94
|
+
private validateErrorHandlingConfig;
|
|
95
|
+
/**
|
|
96
|
+
* Validate all agent configurations in a directory
|
|
97
|
+
*/
|
|
98
|
+
validateAllAgentConfigs(agentConfigDir?: string): Promise<{
|
|
99
|
+
results: Array<{
|
|
100
|
+
file: string;
|
|
101
|
+
result: ValidationResult;
|
|
102
|
+
}>;
|
|
103
|
+
summary: {
|
|
104
|
+
total: number;
|
|
105
|
+
valid: number;
|
|
106
|
+
invalid: number;
|
|
107
|
+
};
|
|
108
|
+
}>;
|
|
109
|
+
}
|
|
110
|
+
export declare const agentConfigValidator: AgentConfigValidator;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Estimation Validator
|
|
3
|
+
*
|
|
4
|
+
* Tracks estimates vs. actuals and provides calibrated estimates
|
|
5
|
+
* Prevents the "always estimate high" syndrome by learning from history
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Estimation Validator
|
|
9
|
+
* Tracks estimates and learns from actuals to improve future predictions
|
|
10
|
+
*/
|
|
11
|
+
export declare class EstimationValidator {
|
|
12
|
+
private estimations;
|
|
13
|
+
private calibrations;
|
|
14
|
+
private readonly STORAGE_KEY;
|
|
15
|
+
constructor();
|
|
16
|
+
/**
|
|
17
|
+
* Start tracking an estimate
|
|
18
|
+
*/
|
|
19
|
+
startEstimate(taskId: string, description: string, category: string, estimatedMinutes: number, confidence?: 'high' | 'medium' | 'low'): void;
|
|
20
|
+
/**
|
|
21
|
+
* Complete tracking and record actual time
|
|
22
|
+
*/
|
|
23
|
+
completeEstimate(taskId: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get calibrated estimate based on historical data
|
|
26
|
+
*/
|
|
27
|
+
getCalibratedEstimate(category: string, baseEstimate: number, confidence?: 'high' | 'medium' | 'low'): {
|
|
28
|
+
calibratedEstimate: number;
|
|
29
|
+
calibrationFactor: number;
|
|
30
|
+
confidence: number;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Check if an estimate needs adjustment
|
|
34
|
+
*/
|
|
35
|
+
validateEstimate(category: string, estimate: number): {
|
|
36
|
+
isReasonable: boolean;
|
|
37
|
+
suggestedEstimate: number;
|
|
38
|
+
warning?: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Get estimation accuracy report
|
|
42
|
+
*/
|
|
43
|
+
getAccuracyReport(): {
|
|
44
|
+
overallAccuracy: number;
|
|
45
|
+
categoryBreakdown: Array<{
|
|
46
|
+
category: string;
|
|
47
|
+
sampleSize: number;
|
|
48
|
+
avgRatio: number;
|
|
49
|
+
trend: 'over' | 'under' | 'accurate';
|
|
50
|
+
}>;
|
|
51
|
+
recommendations: string[];
|
|
52
|
+
};
|
|
53
|
+
private updateCalibration;
|
|
54
|
+
private loadFromStorage;
|
|
55
|
+
private saveToStorage;
|
|
56
|
+
}
|
|
57
|
+
export declare function getEstimationValidator(): EstimationValidator;
|
|
58
|
+
/**
|
|
59
|
+
* Decorator for async functions to track estimates
|
|
60
|
+
*/
|
|
61
|
+
export declare function trackEstimate(taskId: string, description: string, category: string, estimatedMinutes: number): (_target: unknown, _propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* COMPREHENSIVE ORCHESTRATION FLOW VALIDATION SUITE
|
|
3
|
+
* Validates the complete end-to-end orchestration pipeline
|
|
4
|
+
*/
|
|
5
|
+
interface TestResult {
|
|
6
|
+
testName: string;
|
|
7
|
+
success: boolean;
|
|
8
|
+
duration: number;
|
|
9
|
+
error?: string;
|
|
10
|
+
metrics: {
|
|
11
|
+
agentsSpawned: number;
|
|
12
|
+
agentsCompleted: number;
|
|
13
|
+
agentsFailed: number;
|
|
14
|
+
dependenciesResolved: number;
|
|
15
|
+
monitoringUpdates: number;
|
|
16
|
+
};
|
|
17
|
+
validationSteps: ValidationStep[];
|
|
18
|
+
}
|
|
19
|
+
interface ValidationStep {
|
|
20
|
+
step: string;
|
|
21
|
+
success: boolean;
|
|
22
|
+
timestamp: number;
|
|
23
|
+
details?: unknown;
|
|
24
|
+
}
|
|
25
|
+
declare class OrchestrationFlowValidator {
|
|
26
|
+
private orchestrator;
|
|
27
|
+
private stateManager;
|
|
28
|
+
private agentDelegator;
|
|
29
|
+
private testResults;
|
|
30
|
+
constructor();
|
|
31
|
+
/**
|
|
32
|
+
* SIMULATION 1: Basic Orchestration Flow
|
|
33
|
+
* Tests the fundamental orchestration pipeline
|
|
34
|
+
*/
|
|
35
|
+
testBasicOrchestrationFlow(): Promise<TestResult>;
|
|
36
|
+
/**
|
|
37
|
+
* SIMULATION 2: Dependency Management Flow
|
|
38
|
+
* Tests complex task dependencies and sequencing
|
|
39
|
+
*/
|
|
40
|
+
testDependencyManagementFlow(): Promise<TestResult>;
|
|
41
|
+
/**
|
|
42
|
+
* SIMULATION 3: Error Handling & Recovery Flow
|
|
43
|
+
* Tests system resilience and fallback mechanisms
|
|
44
|
+
*/
|
|
45
|
+
testErrorHandlingFlow(): Promise<TestResult>;
|
|
46
|
+
/**
|
|
47
|
+
* SIMULATION 4: Performance & Scalability Flow
|
|
48
|
+
* Tests system performance under load
|
|
49
|
+
*/
|
|
50
|
+
testPerformanceFlow(): Promise<TestResult>;
|
|
51
|
+
/**
|
|
52
|
+
* SIMULATION 5: Monitoring & Cleanup Flow
|
|
53
|
+
* Tests the complete monitoring and cleanup lifecycle
|
|
54
|
+
*/
|
|
55
|
+
testMonitoringCleanupFlow(): Promise<TestResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Run all orchestration flow validations
|
|
58
|
+
*/
|
|
59
|
+
runCompleteValidationSuite(): Promise<ValidationSuiteResults>;
|
|
60
|
+
/**
|
|
61
|
+
* Generate comprehensive validation report
|
|
62
|
+
*/
|
|
63
|
+
private generateValidationReport;
|
|
64
|
+
/**
|
|
65
|
+
* Generate recommendations based on test results
|
|
66
|
+
*/
|
|
67
|
+
private generateRecommendations;
|
|
68
|
+
}
|
|
69
|
+
interface ValidationSuiteResults {
|
|
70
|
+
summary: {
|
|
71
|
+
totalTests: number;
|
|
72
|
+
passedTests: number;
|
|
73
|
+
failedTests: number;
|
|
74
|
+
successRate: number;
|
|
75
|
+
totalDuration: number;
|
|
76
|
+
avgDuration: number;
|
|
77
|
+
};
|
|
78
|
+
metrics: {
|
|
79
|
+
totalAgentsSpawned: number;
|
|
80
|
+
totalAgentsCompleted: number;
|
|
81
|
+
totalDependenciesResolved: number;
|
|
82
|
+
totalMonitoringUpdates: number;
|
|
83
|
+
};
|
|
84
|
+
testResults: TestResult[];
|
|
85
|
+
recommendations: string[];
|
|
86
|
+
}
|
|
87
|
+
export { OrchestrationFlowValidator };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Report Content Validator
|
|
3
|
+
* Reads and analyzes full report content to detect hidden errors and inconsistencies
|
|
4
|
+
*/
|
|
5
|
+
export declare class ReportContentValidator {
|
|
6
|
+
private reportPatterns;
|
|
7
|
+
/**
|
|
8
|
+
* Validate full report content for hidden errors
|
|
9
|
+
*/
|
|
10
|
+
validateReportContent(reportPath: string, reportType: "session" | "framework" | "validation" | "simulation"): Promise<{
|
|
11
|
+
valid: boolean;
|
|
12
|
+
issues: string[];
|
|
13
|
+
summary: {
|
|
14
|
+
errorCount: number;
|
|
15
|
+
warningCount: number;
|
|
16
|
+
falsePositiveCount: number;
|
|
17
|
+
inconsistencyCount: number;
|
|
18
|
+
riskLevel: "low" | "medium" | "high" | "critical";
|
|
19
|
+
};
|
|
20
|
+
details: {
|
|
21
|
+
criticalErrors: string[];
|
|
22
|
+
warnings: string[];
|
|
23
|
+
falsePositives: string[];
|
|
24
|
+
inconsistencies: string[];
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
private validateReportTypeSpecific;
|
|
28
|
+
private createValidationResult;
|
|
29
|
+
/**
|
|
30
|
+
* Get validation patterns for debugging
|
|
31
|
+
*/
|
|
32
|
+
getValidationPatterns(): {
|
|
33
|
+
criticalErrors: RegExp[];
|
|
34
|
+
warnings: RegExp[];
|
|
35
|
+
falsePositives: RegExp[];
|
|
36
|
+
inconsistencies: RegExp[];
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Add custom validation pattern
|
|
40
|
+
*/
|
|
41
|
+
addValidationPattern(category: keyof typeof this.reportPatterns, pattern: RegExp): void;
|
|
42
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xray",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.3",
|
|
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",
|
|
@@ -55,12 +55,16 @@
|
|
|
55
55
|
"plugin": "./dist/plugin/xray-codex-injection.js",
|
|
56
56
|
"mcps": "./dist/mcps/"
|
|
57
57
|
},
|
|
58
|
+
"xray": {
|
|
59
|
+
"dist": "dist",
|
|
60
|
+
"mcpServersPath": "dist/mcps"
|
|
61
|
+
},
|
|
58
62
|
"scripts": {
|
|
59
|
-
"prepublishOnly": "npm run prepare-consumer && npm run build:all && find dist -name '*.
|
|
63
|
+
"prepublishOnly": "node scripts/node/reconcile-version.mjs --check && npm run prepare-consumer && npm run build:all && find dist -name '*.js.map' -o -name '*.d.ts.map' | xargs rm -f 2>/dev/null || true",
|
|
60
64
|
"version:bump": "node scripts/node/version-manager.mjs",
|
|
61
65
|
"version": "node scripts/node/version-manager.mjs",
|
|
62
66
|
"prebuild": "rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo",
|
|
63
|
-
"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 SKILLS.md CHANGELOG.md LICENSE .gitignore.default 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/ && mkdir -p .xray &&
|
|
67
|
+
"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 SKILLS.md CHANGELOG.md LICENSE .gitignore.default 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/ && mkdir -p .xray && for f in codex.json features.json features.schema.json config.json; do cp xray/$f .xray/$f 2>/dev/null || true; done",
|
|
64
68
|
"build:all": "npm run build",
|
|
65
69
|
"ci-install": "npm ci",
|
|
66
70
|
"clean": "rm -rf dist tsconfig.tsbuildinfo tsconfig.*.tsbuildinfo",
|
|
@@ -94,6 +98,7 @@
|
|
|
94
98
|
"test:dependency-scan": "npm run security-audit",
|
|
95
99
|
"test:integration": "node scripts/mjs/test-consumer-readiness.mjs && node scripts/mjs/test-mcp-functionality.mjs",
|
|
96
100
|
"test:e2e": "node scripts/node/validate-mcp-connectivity.js && node scripts/node/validate-external-processes.js",
|
|
101
|
+
"live-feedback-session": "npx --yes tsx scripts/live-taskhandler-feedback-session.ts",
|
|
97
102
|
"validate": "echo \"[xray] Use 'npm test' or 'npm run test:comprehensive'.\"",
|
|
98
103
|
"validate:quick": "npm run validate",
|
|
99
104
|
"debug:inference:force": "XRAY_FORCE_MCP_GOVERNANCE=true XRAY_DEV_PATH=dist node dist/cli/index.js inference:run --force",
|
|
@@ -108,15 +113,18 @@
|
|
|
108
113
|
"build:clean": "node scripts/build/utils.js clean",
|
|
109
114
|
"build:verify": "node scripts/build/utils.js verify",
|
|
110
115
|
"enforce:versions": "bash scripts/node/enforce-version-compliance.sh",
|
|
111
|
-
"version:sync": "node scripts/node/
|
|
112
|
-
"
|
|
113
|
-
"release": "node scripts/node/release.js",
|
|
116
|
+
"version:sync": "node scripts/node/version-manager.mjs --artifacts-only",
|
|
117
|
+
"release": "node scripts/node/release.mjs patch",
|
|
114
118
|
"release:minor": "node scripts/node/release.mjs minor",
|
|
115
119
|
"release:major": "node scripts/node/release.mjs major",
|
|
116
|
-
"release:dry": "node scripts/node/release.
|
|
120
|
+
"release:dry": "node scripts/node/release.mjs patch --dry-run",
|
|
121
|
+
"version:reconcile": "node scripts/node/reconcile-version.mjs",
|
|
122
|
+
"consumer:smoke": "node scripts/node/consumer-install-smoke.mjs",
|
|
123
|
+
"release:gate": "node scripts/node/release-gate.mjs",
|
|
124
|
+
"release:docs-check": "node scripts/node/validate-release-docs.mjs",
|
|
117
125
|
"pre-publish-guard": "node scripts/node/pre-publish-guard.js",
|
|
118
126
|
"safe-publish": "npm run prepare-consumer && npm run build",
|
|
119
|
-
"publish": "npm run
|
|
127
|
+
"publish": "npm run release:gate && npm run safe-publish && npm publish --access public",
|
|
120
128
|
"release:patch": "node scripts/node/release.mjs patch"
|
|
121
129
|
},
|
|
122
130
|
"files": [
|
|
@@ -155,6 +163,13 @@
|
|
|
155
163
|
"SKILLS.md",
|
|
156
164
|
"xray/agents_template.md",
|
|
157
165
|
"xray/codex.json",
|
|
166
|
+
"xray/features.json",
|
|
167
|
+
"xray/features.schema.json",
|
|
168
|
+
"xray/config.json",
|
|
169
|
+
".xray/codex.json",
|
|
170
|
+
".xray/features.json",
|
|
171
|
+
".xray/features.schema.json",
|
|
172
|
+
".xray/config.json",
|
|
158
173
|
".gitignore.default",
|
|
159
174
|
"LICENSE"
|
|
160
175
|
],
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* consumer-install-smoke.mjs — Clean-room pack + install verification.
|
|
4
|
+
*
|
|
5
|
+
* Simulates what consumers receive from npm without publishing.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* node scripts/node/consumer-install-smoke.mjs
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { execSync } from "child_process";
|
|
12
|
+
import fs from "fs";
|
|
13
|
+
import os from "os";
|
|
14
|
+
import path from "path";
|
|
15
|
+
import { fileURLToPath } from "url";
|
|
16
|
+
import { createRequire } from "module";
|
|
17
|
+
|
|
18
|
+
const require = createRequire(import.meta.url);
|
|
19
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
const rootDir = path.resolve(__dirname, "../..");
|
|
21
|
+
|
|
22
|
+
const XRAY_MCP_NAMES = [
|
|
23
|
+
"xray-governance",
|
|
24
|
+
"xray-skills",
|
|
25
|
+
"xray-orchestrator",
|
|
26
|
+
"xray-enforcer",
|
|
27
|
+
"xray-researcher",
|
|
28
|
+
"xray-code-review",
|
|
29
|
+
"xray-architect-tools",
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
function run(cmd, cwd, { inherit = false } = {}) {
|
|
33
|
+
const result = execSync(cmd, {
|
|
34
|
+
cwd,
|
|
35
|
+
encoding: inherit ? undefined : "utf-8",
|
|
36
|
+
stdio: inherit ? "inherit" : "pipe",
|
|
37
|
+
});
|
|
38
|
+
return inherit ? "" : String(result).trim();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function main() {
|
|
42
|
+
console.log("\n=== Consumer Install Smoke ===\n");
|
|
43
|
+
|
|
44
|
+
const pkg = JSON.parse(fs.readFileSync(path.join(rootDir, "package.json"), "utf-8"));
|
|
45
|
+
const version = pkg.version;
|
|
46
|
+
const tmpRoot = fs.mkdtempSync(path.join(os.tmpdir(), "0xray-smoke-"));
|
|
47
|
+
let tarball = null;
|
|
48
|
+
|
|
49
|
+
try {
|
|
50
|
+
console.log("📦 npm pack...");
|
|
51
|
+
const packOut = run("npm pack --silent", rootDir);
|
|
52
|
+
tarball = packOut.split("\n").filter(Boolean).pop();
|
|
53
|
+
const tarballPath = path.join(rootDir, tarball);
|
|
54
|
+
if (!fs.existsSync(tarballPath)) {
|
|
55
|
+
throw new Error(`Tarball not found: ${tarballPath}`);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const consumerPkg = {
|
|
59
|
+
name: "0xray-smoke-consumer",
|
|
60
|
+
private: true,
|
|
61
|
+
version: "1.0.0",
|
|
62
|
+
dependencies: {
|
|
63
|
+
"0xray": `file:${tarballPath}`,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
fs.writeFileSync(
|
|
67
|
+
path.join(tmpRoot, "package.json"),
|
|
68
|
+
JSON.stringify(consumerPkg, null, 2) + "\n",
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
console.log("📥 npm install (runs postinstall)...");
|
|
72
|
+
run("npm install", tmpRoot, { inherit: true });
|
|
73
|
+
|
|
74
|
+
const nmRoot = path.join(tmpRoot, "node_modules", "0xray");
|
|
75
|
+
const requiredFiles = [
|
|
76
|
+
"scripts/node/install-bridges.cjs",
|
|
77
|
+
"scripts/node/postinstall.cjs",
|
|
78
|
+
"package.json",
|
|
79
|
+
"xray/features.json",
|
|
80
|
+
"xray/features.schema.json",
|
|
81
|
+
];
|
|
82
|
+
|
|
83
|
+
for (const rel of requiredFiles) {
|
|
84
|
+
const full = path.join(nmRoot, rel);
|
|
85
|
+
if (!fs.existsSync(full)) {
|
|
86
|
+
throw new Error(`Missing in tarball install: ${rel}`);
|
|
87
|
+
}
|
|
88
|
+
console.log(` ✅ ${rel}`);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const installedPkg = JSON.parse(fs.readFileSync(path.join(nmRoot, "package.json"), "utf-8"));
|
|
92
|
+
if (installedPkg.version !== version) {
|
|
93
|
+
throw new Error(`Installed version ${installedPkg.version} != packed ${version}`);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const bridges = require(path.join(nmRoot, "scripts/node/install-bridges.cjs"));
|
|
97
|
+
for (const exp of ["installAllBridges", "resolveConsumerTargetDir", "isConsumerInstall"]) {
|
|
98
|
+
if (typeof bridges[exp] !== "function") {
|
|
99
|
+
throw new Error(`install-bridges missing export: ${exp}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
console.log(" ✅ install-bridges exports");
|
|
103
|
+
|
|
104
|
+
if (!bridges.isConsumerInstall(nmRoot, tmpRoot)) {
|
|
105
|
+
throw new Error("isConsumerInstall should be true for node_modules/0xray → project root");
|
|
106
|
+
}
|
|
107
|
+
console.log(" ✅ consumer target resolution");
|
|
108
|
+
|
|
109
|
+
// Postinstall should have run; verify .mcp.json merge
|
|
110
|
+
const mcpPath = path.join(tmpRoot, ".mcp.json");
|
|
111
|
+
if (!fs.existsSync(mcpPath)) {
|
|
112
|
+
throw new Error(".mcp.json not created by postinstall");
|
|
113
|
+
}
|
|
114
|
+
const mcp = JSON.parse(fs.readFileSync(mcpPath, "utf-8"));
|
|
115
|
+
const servers = Object.keys(mcp.mcpServers || {});
|
|
116
|
+
for (const name of XRAY_MCP_NAMES) {
|
|
117
|
+
if (!servers.includes(name)) {
|
|
118
|
+
throw new Error(`Missing MCP server in .mcp.json: ${name}`);
|
|
119
|
+
}
|
|
120
|
+
const entry = mcp.mcpServers[name];
|
|
121
|
+
if (entry.command !== "npx") {
|
|
122
|
+
throw new Error(`${name} should use npx, got ${entry.command}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
console.log(` ✅ .mcp.json has ${XRAY_MCP_NAMES.length} npx MCP servers`);
|
|
126
|
+
|
|
127
|
+
const consumerFeaturesPath = path.join(tmpRoot, ".xray", "features.json");
|
|
128
|
+
if (!fs.existsSync(consumerFeaturesPath)) {
|
|
129
|
+
throw new Error(".xray/features.json not deployed to consumer project by postinstall");
|
|
130
|
+
}
|
|
131
|
+
const features = JSON.parse(fs.readFileSync(consumerFeaturesPath, "utf-8"));
|
|
132
|
+
if (!features.memory_routing) {
|
|
133
|
+
throw new Error("Deployed features.json missing memory_routing block");
|
|
134
|
+
}
|
|
135
|
+
if (features.memory_routing.enabled !== false) {
|
|
136
|
+
throw new Error(
|
|
137
|
+
`Shipped template must default memory_routing.enabled=false (got ${features.memory_routing.enabled})`,
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
if (!features.inference_governance) {
|
|
141
|
+
throw new Error("Deployed features.json missing inference_governance block");
|
|
142
|
+
}
|
|
143
|
+
if (features.inference_governance.enabled !== false) {
|
|
144
|
+
throw new Error("Shipped template must default inference_governance.enabled=false");
|
|
145
|
+
}
|
|
146
|
+
console.log(" ✅ .xray/features.json deployed (memory_routing + inference_governance opt-in defaults)");
|
|
147
|
+
|
|
148
|
+
const schemaInPackage = path.join(nmRoot, "xray", "features.schema.json");
|
|
149
|
+
if (!fs.existsSync(schemaInPackage)) {
|
|
150
|
+
throw new Error("xray/features.schema.json missing from installed package");
|
|
151
|
+
}
|
|
152
|
+
console.log(" ✅ xray/features.schema.json in package");
|
|
153
|
+
|
|
154
|
+
console.log("\n✅ Consumer install smoke passed\n");
|
|
155
|
+
} catch (err) {
|
|
156
|
+
console.error(`\n❌ Consumer smoke failed: ${err.message}\n`);
|
|
157
|
+
process.exit(1);
|
|
158
|
+
} finally {
|
|
159
|
+
if (tarball) {
|
|
160
|
+
try {
|
|
161
|
+
fs.unlinkSync(path.join(rootDir, tarball));
|
|
162
|
+
} catch {
|
|
163
|
+
/* best-effort */
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
try {
|
|
167
|
+
fs.rmSync(tmpRoot, { recursive: true, force: true });
|
|
168
|
+
} catch {
|
|
169
|
+
/* best-effort */
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
main();
|
|
@@ -397,18 +397,28 @@ function installOpenclawBridge(targetDir, packageRoot, log) {
|
|
|
397
397
|
if (copied > 0) log("openclaw-bridge", `skills synced (${copied})`, "info", { path: "~/.openclaw/skills/" });
|
|
398
398
|
}
|
|
399
399
|
|
|
400
|
+
const XRAY_CONFIG_FILES = ["codex.json", "features.json", "features.schema.json", "config.json"];
|
|
401
|
+
|
|
402
|
+
function resolveXrayConfigSource(packageRoot, file) {
|
|
403
|
+
// Shipped SSOT: xray/ template wins over dev .xray/ runtime copy (P0.2)
|
|
404
|
+
const xrayDir = path.join(packageRoot, "xray", file);
|
|
405
|
+
if (fs.existsSync(xrayDir)) return xrayDir;
|
|
406
|
+
const dotXray = path.join(packageRoot, ".xray", file);
|
|
407
|
+
if (fs.existsSync(dotXray)) return dotXray;
|
|
408
|
+
return null;
|
|
409
|
+
}
|
|
410
|
+
|
|
400
411
|
function deployXrayConfig(targetDir, packageRoot, log) {
|
|
401
|
-
const xraySourceDir = path.join(packageRoot, ".xray");
|
|
402
412
|
const xrayTargetDir = path.join(targetDir, ".xray");
|
|
403
|
-
const
|
|
404
|
-
if (!
|
|
413
|
+
const hasAnySource = XRAY_CONFIG_FILES.some((file) => resolveXrayConfigSource(packageRoot, file));
|
|
414
|
+
if (!hasAnySource) return;
|
|
405
415
|
|
|
406
416
|
if (!fs.existsSync(xrayTargetDir)) fs.mkdirSync(xrayTargetDir, { recursive: true });
|
|
407
417
|
let copied = 0;
|
|
408
|
-
for (const file of
|
|
409
|
-
const src =
|
|
418
|
+
for (const file of XRAY_CONFIG_FILES) {
|
|
419
|
+
const src = resolveXrayConfigSource(packageRoot, file);
|
|
410
420
|
const dst = path.join(xrayTargetDir, file);
|
|
411
|
-
if (!
|
|
421
|
+
if (!src) continue;
|
|
412
422
|
const shouldCopy = !fs.existsSync(dst) || fs.statSync(src).mtime > fs.statSync(dst).mtime;
|
|
413
423
|
if (shouldCopy) {
|
|
414
424
|
fs.copyFileSync(src, dst);
|
|
@@ -416,6 +426,7 @@ function deployXrayConfig(targetDir, packageRoot, log) {
|
|
|
416
426
|
}
|
|
417
427
|
}
|
|
418
428
|
if (copied > 0) log("xray-config", `${copied} files deployed`, "info", { path: ".xray/" });
|
|
429
|
+
return copied;
|
|
419
430
|
}
|
|
420
431
|
|
|
421
432
|
function installGitHooks(packageRoot, log) {
|
|
@@ -463,4 +474,7 @@ module.exports = {
|
|
|
463
474
|
resolveConsumerTargetDir,
|
|
464
475
|
syncBuiltinSkills,
|
|
465
476
|
isConsumerInstall,
|
|
477
|
+
deployXrayConfig,
|
|
478
|
+
resolveXrayConfigSource,
|
|
479
|
+
XRAY_CONFIG_FILES,
|
|
466
480
|
};
|