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
|
@@ -160,8 +160,9 @@ function generateChangelogFromCommits(commits) {
|
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
162
|
* Count actual framework components
|
|
163
|
+
* @param {string} [baseDir]
|
|
163
164
|
*/
|
|
164
|
-
function getFrameworkCounts() {
|
|
165
|
+
export function getFrameworkCounts(baseDir = rootDir) {
|
|
165
166
|
const counts = {
|
|
166
167
|
agents: 0,
|
|
167
168
|
mcps: 0,
|
|
@@ -169,31 +170,29 @@ function getFrameworkCounts() {
|
|
|
169
170
|
};
|
|
170
171
|
|
|
171
172
|
// Count agents (.yml files in src/opencode/agents/ β source of truth)
|
|
172
|
-
const agentsDir = path.join(
|
|
173
|
+
const agentsDir = path.join(baseDir, 'src/opencode/agents');
|
|
173
174
|
if (fs.existsSync(agentsDir)) {
|
|
174
175
|
counts.agents = fs.readdirSync(agentsDir)
|
|
175
176
|
.filter(f => f.endsWith('.yml'))
|
|
176
177
|
.length;
|
|
177
178
|
}
|
|
178
179
|
|
|
179
|
-
//
|
|
180
|
-
const
|
|
181
|
-
if (fs.existsSync(
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (fs.existsSync(nodeModulesMcps)) {
|
|
189
|
-
counts.mcps = fs.readdirSync(nodeModulesMcps)
|
|
190
|
-
.filter(f => f.endsWith('.server.js'))
|
|
191
|
-
.length;
|
|
180
|
+
// Consumer MCP count from .mcp.json SSOT (7 servers), not internal dist/mcps inventory
|
|
181
|
+
const mcpJsonPath = path.join(baseDir, '.mcp.json');
|
|
182
|
+
if (fs.existsSync(mcpJsonPath)) {
|
|
183
|
+
try {
|
|
184
|
+
const mcpJson = JSON.parse(fs.readFileSync(mcpJsonPath, 'utf-8'));
|
|
185
|
+
const servers = mcpJson.mcpServers || mcpJson.servers || {};
|
|
186
|
+
counts.mcps = Object.keys(servers).length;
|
|
187
|
+
} catch {
|
|
188
|
+
counts.mcps = 7;
|
|
192
189
|
}
|
|
190
|
+
} else {
|
|
191
|
+
counts.mcps = 7;
|
|
193
192
|
}
|
|
194
193
|
|
|
195
194
|
// Count skills (directories in src/skills/ with SKILL.md)
|
|
196
|
-
const skillsDir = path.join(
|
|
195
|
+
const skillsDir = path.join(baseDir, 'src/skills');
|
|
197
196
|
if (fs.existsSync(skillsDir)) {
|
|
198
197
|
counts.skills = fs.readdirSync(skillsDir)
|
|
199
198
|
.filter(f => fs.statSync(path.join(skillsDir, f)).isDirectory())
|
|
@@ -230,9 +229,21 @@ ${content}
|
|
|
230
229
|
`;
|
|
231
230
|
}
|
|
232
231
|
|
|
232
|
+
function changelogHasVersion(newVersion) {
|
|
233
|
+
const changelogPath = path.join(rootDir, 'CHANGELOG.md');
|
|
234
|
+
if (!fs.existsSync(changelogPath)) return false;
|
|
235
|
+
const changelog = fs.readFileSync(changelogPath, 'utf-8');
|
|
236
|
+
return new RegExp(`^## \\[${newVersion.replace(/\./g, '\\.')}\\]`, 'm').test(changelog);
|
|
237
|
+
}
|
|
238
|
+
|
|
233
239
|
function updateChangelog(newVersion, changeDescription) {
|
|
234
240
|
const changelogPath = path.join(rootDir, 'CHANGELOG.md');
|
|
235
241
|
let changelog = fs.readFileSync(changelogPath, 'utf-8');
|
|
242
|
+
|
|
243
|
+
if (changelogHasVersion(newVersion)) {
|
|
244
|
+
console.log(`βΉοΈ CHANGELOG.md already has [${newVersion}] β skipping duplicate entry`);
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
236
247
|
|
|
237
248
|
// Find the position after the header and insert new entry
|
|
238
249
|
const headerEnd = changelog.indexOf('## [');
|
|
@@ -259,6 +270,12 @@ function updateReadme(counts, newVersion) {
|
|
|
259
270
|
}
|
|
260
271
|
|
|
261
272
|
let readme = fs.readFileSync(readmePath, 'utf-8');
|
|
273
|
+
|
|
274
|
+
// Update header line: **v3.4.1** β 42 agents Β· 45 skills Β· 7 MCP servers Β· ...
|
|
275
|
+
readme = readme.replace(
|
|
276
|
+
/^\*\*v[\d.]+\*\* β \d+ agents Β· \d+ skills Β· \d+ MCP servers? Β· \d+ codex terms(?: Β· [\d,]+ tests)?/m,
|
|
277
|
+
`**v${newVersion}** β ${counts.agents} agents Β· ${counts.skills} skills Β· ${counts.mcps} MCP servers Β· 68 codex terms Β· 3,226 tests`
|
|
278
|
+
);
|
|
262
279
|
|
|
263
280
|
// Update version badge: []
|
|
264
281
|
readme = readme.replace(
|
|
@@ -294,6 +311,84 @@ function updateReadme(counts, newVersion) {
|
|
|
294
311
|
console.log(`β
Updated README.md (version: ${newVersion}, agents: ${counts.agents}, mcps: ${counts.mcps}, skills: ${counts.skills})`);
|
|
295
312
|
}
|
|
296
313
|
|
|
314
|
+
export const DOCS_SITE_HEADER_FILES = [
|
|
315
|
+
'docs-site/docs/README.md',
|
|
316
|
+
'docs-site/docs/index.md',
|
|
317
|
+
'docs-site/docs/introduction.md',
|
|
318
|
+
'docs-site/docs/guides/getting-started.md',
|
|
319
|
+
'docs-site/docs/full-reference.md',
|
|
320
|
+
];
|
|
321
|
+
|
|
322
|
+
export function buildDocsHeader(counts, newVersion) {
|
|
323
|
+
return `**v${newVersion}** β ${counts.agents} agents Β· ${counts.skills} skills Β· ${counts.mcps} MCP servers Β· 68 codex terms Β· 3,226 tests`;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
function syncDocsSiteHeaders(counts, newVersion) {
|
|
327
|
+
const header = buildDocsHeader(counts, newVersion);
|
|
328
|
+
const headerRe = /^\*{0,2}v?[\d.]*\*{0,2}\s*β?\s*\d+ agents Β· \d+ skills Β· \d+ MCP servers? Β· \d+ codex terms(?: Β· [\d,]+ tests)?/m;
|
|
329
|
+
for (const rel of DOCS_SITE_HEADER_FILES) {
|
|
330
|
+
const filePath = path.join(rootDir, rel);
|
|
331
|
+
if (!fs.existsSync(filePath)) continue;
|
|
332
|
+
let content = fs.readFileSync(filePath, 'utf-8');
|
|
333
|
+
if (headerRe.test(content)) {
|
|
334
|
+
content = content.replace(headerRe, header);
|
|
335
|
+
fs.writeFileSync(filePath, content);
|
|
336
|
+
console.log(`β
Updated ${rel} header`);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
function updatePluginJsonVersion(newVersion) {
|
|
342
|
+
const pluginPath = path.join(rootDir, '.grok-plugin/plugin.json');
|
|
343
|
+
if (!fs.existsSync(pluginPath)) return;
|
|
344
|
+
const plugin = JSON.parse(fs.readFileSync(pluginPath, 'utf-8'));
|
|
345
|
+
plugin.version = newVersion;
|
|
346
|
+
fs.writeFileSync(pluginPath, JSON.stringify(plugin, null, 2) + '\n');
|
|
347
|
+
console.log(`β
Updated .grok-plugin/plugin.json (version: ${newVersion})`);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
function updateConsumerAgentsHeader(newVersion, counts) {
|
|
351
|
+
const consumerPath = path.join(rootDir, 'AGENTS-consumer.md');
|
|
352
|
+
if (!fs.existsSync(consumerPath)) return;
|
|
353
|
+
let content = fs.readFileSync(consumerPath, 'utf-8');
|
|
354
|
+
content = content.replace(
|
|
355
|
+
/^\*\*v[\d.]+\*\* β \d+ MCP servers Β· \d+ skills Β· \d+ codex terms/m,
|
|
356
|
+
`**v${newVersion}** β ${counts.mcps} MCP servers Β· ${counts.skills} skills Β· 68 codex terms`
|
|
357
|
+
);
|
|
358
|
+
fs.writeFileSync(consumerPath, content);
|
|
359
|
+
console.log(`β
Updated AGENTS-consumer.md version header`);
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
function updateSkillsMd(counts, newVersion) {
|
|
363
|
+
const skillsPath = path.join(rootDir, 'SKILLS.md');
|
|
364
|
+
if (!fs.existsSync(skillsPath)) {
|
|
365
|
+
console.log(`β οΈ SKILLS.md not found, skipping`);
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
let content = fs.readFileSync(skillsPath, 'utf-8');
|
|
369
|
+
content = content.replace(
|
|
370
|
+
/^\*\*v[\d.]+\*\* β \*\*\d+ skills\*\*/m,
|
|
371
|
+
`**v${newVersion}** β **${counts.skills} skills**`
|
|
372
|
+
);
|
|
373
|
+
fs.writeFileSync(skillsPath, content);
|
|
374
|
+
console.log(`β
Updated SKILLS.md version header`);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
function applyAgentCountUpdates(content, counts) {
|
|
378
|
+
let agentsMd = content;
|
|
379
|
+
|
|
380
|
+
// Legacy header count update (min compat for old consumer AGENTS.md files only; xray v2 YML SSOT primary)
|
|
381
|
+
agentsMd = agentsMd.replace(
|
|
382
|
+
/0xRay\s*2\.0\s*-\s*\d+\s+Agents|0xRay\s*-\s*\d+\s+Agents/,
|
|
383
|
+
`xray v2 - ${counts.agents} Agents`
|
|
384
|
+
);
|
|
385
|
+
|
|
386
|
+
agentsMd = agentsMd.replace(/\d+\s+MCPs?/g, `${counts.mcps} MCPs`);
|
|
387
|
+
agentsMd = agentsMd.replace(/\d+\s+Skills?/g, `${counts.skills} Skills`);
|
|
388
|
+
|
|
389
|
+
return agentsMd;
|
|
390
|
+
}
|
|
391
|
+
|
|
297
392
|
/**
|
|
298
393
|
* Update AGENTS.md with actual framework counts
|
|
299
394
|
*/
|
|
@@ -303,29 +398,38 @@ function updateAgentsMd(counts) {
|
|
|
303
398
|
console.log(`β οΈ AGENTS.md not found, skipping`);
|
|
304
399
|
return;
|
|
305
400
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
// Legacy header count update (min compat for old consumer AGENTS.md files only; xray v2 YML SSOT primary)
|
|
310
|
-
agentsMd = agentsMd.replace(
|
|
311
|
-
/0xRay\s*2\.0\s*-\s*\d+\s+Agents|0xRay\s*-\s*\d+\s+Agents/,
|
|
312
|
-
`xray v2 - ${counts.agents} Agents`
|
|
313
|
-
);
|
|
314
|
-
|
|
315
|
-
agentsMd = agentsMd.replace(
|
|
316
|
-
/\d+\s+MCPs?/g,
|
|
317
|
-
`${counts.mcps} MCPs`
|
|
318
|
-
);
|
|
319
|
-
|
|
320
|
-
agentsMd = agentsMd.replace(
|
|
321
|
-
/\d+\s+Skills?/g,
|
|
322
|
-
`${counts.skills} Skills`
|
|
323
|
-
);
|
|
324
|
-
|
|
325
|
-
fs.writeFileSync(agentsPath, agentsMd);
|
|
401
|
+
|
|
402
|
+
fs.writeFileSync(agentsPath, applyAgentCountUpdates(fs.readFileSync(agentsPath, 'utf-8'), counts));
|
|
326
403
|
console.log(`β
Updated AGENTS.md`);
|
|
327
404
|
}
|
|
328
405
|
|
|
406
|
+
function updateAgentsConsumerMd(counts) {
|
|
407
|
+
const agentsPath = path.join(rootDir, 'AGENTS-consumer.md');
|
|
408
|
+
if (!fs.existsSync(agentsPath)) {
|
|
409
|
+
console.log(`β οΈ AGENTS-consumer.md not found, skipping`);
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
fs.writeFileSync(agentsPath, applyAgentCountUpdates(fs.readFileSync(agentsPath, 'utf-8'), counts));
|
|
414
|
+
console.log(`β
Updated AGENTS-consumer.md`);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
function updateDocsReadme(newVersion) {
|
|
418
|
+
const docsReadmePath = path.join(rootDir, 'docs/README.md');
|
|
419
|
+
if (!fs.existsSync(docsReadmePath)) {
|
|
420
|
+
console.log(`β οΈ docs/README.md not found, skipping`);
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
let readme = fs.readFileSync(docsReadmePath, 'utf-8');
|
|
425
|
+
readme = readme.replace(
|
|
426
|
+
/img.shields.io\/badge\/version-[\d.]+/,
|
|
427
|
+
`img.shields.io/badge/version-${newVersion}`
|
|
428
|
+
);
|
|
429
|
+
fs.writeFileSync(docsReadmePath, readme);
|
|
430
|
+
console.log(`β
Updated docs/README.md (version: ${newVersion})`);
|
|
431
|
+
}
|
|
432
|
+
|
|
329
433
|
function getCurrentVersion() {
|
|
330
434
|
const pkg = JSON.parse(fs.readFileSync(path.join(rootDir, 'package.json'), 'utf-8'));
|
|
331
435
|
return pkg.version;
|
|
@@ -375,18 +479,7 @@ function updateVersion(newVersion, changeDescription = '') {
|
|
|
375
479
|
console.log(`β
Updated package.json`);
|
|
376
480
|
|
|
377
481
|
// init.sh legacy version key no longer updated (final xray cutover - no historical scaffolding)
|
|
378
|
-
|
|
379
|
-
// Update docs/README.md version badge
|
|
380
|
-
const docsReadmePath = path.join(rootDir, 'docs/README.md');
|
|
381
|
-
if (fs.existsSync(docsReadmePath)) {
|
|
382
|
-
let readme = fs.readFileSync(docsReadmePath, 'utf-8');
|
|
383
|
-
readme = readme.replace(
|
|
384
|
-
/img.shields.io\/badge\/version-[\d.]+/,
|
|
385
|
-
`img.shields.io/badge/version-${newVersion}`
|
|
386
|
-
);
|
|
387
|
-
fs.writeFileSync(docsReadmePath, readme);
|
|
388
|
-
console.log(`β
Updated docs/README.md (version: ${newVersion})`);
|
|
389
|
-
}
|
|
482
|
+
updateDocsReadme(newVersion);
|
|
390
483
|
|
|
391
484
|
// Update UVM's own version string
|
|
392
485
|
const uvmPath = path.join(rootDir, 'scripts/node/universal-version-manager.js');
|
|
@@ -412,7 +505,12 @@ function updateVersion(newVersion, changeDescription = '') {
|
|
|
412
505
|
console.log(`\nπ Framework counts: ${counts.agents} agents, ${counts.mcps} MCPs, ${counts.skills} skills`);
|
|
413
506
|
|
|
414
507
|
updateReadme(counts, newVersion);
|
|
508
|
+
syncDocsSiteHeaders(counts, newVersion);
|
|
509
|
+
updatePluginJsonVersion(newVersion);
|
|
510
|
+
updateConsumerAgentsHeader(newVersion, counts);
|
|
415
511
|
updateAgentsMd(counts);
|
|
512
|
+
updateAgentsConsumerMd(counts);
|
|
513
|
+
updateSkillsMd(counts, newVersion);
|
|
416
514
|
|
|
417
515
|
console.log(`\nπ Version updated to ${newVersion}\n`);
|
|
418
516
|
}
|
|
@@ -437,8 +535,74 @@ function createGitTag(version, message) {
|
|
|
437
535
|
}
|
|
438
536
|
}
|
|
439
537
|
|
|
538
|
+
/** Paths written by release artifact updates (existing files only). */
|
|
539
|
+
export function getReleaseArtifactPaths() {
|
|
540
|
+
const candidates = [
|
|
541
|
+
'package.json',
|
|
542
|
+
'CHANGELOG.md',
|
|
543
|
+
'README.md',
|
|
544
|
+
'AGENTS.md',
|
|
545
|
+
'AGENTS-consumer.md',
|
|
546
|
+
'SKILLS.md',
|
|
547
|
+
'.grok-plugin/plugin.json',
|
|
548
|
+
'docs/README.md',
|
|
549
|
+
'docs-site/docs/README.md',
|
|
550
|
+
'docs-site/docs/index.md',
|
|
551
|
+
'docs-site/docs/introduction.md',
|
|
552
|
+
'docs-site/docs/guides/getting-started.md',
|
|
553
|
+
'docs-site/docs/full-reference.md',
|
|
554
|
+
'docs-site/docs/guides/integrations.md',
|
|
555
|
+
'docs-site/docs/guides/features-since-3.1.md',
|
|
556
|
+
'docs-site/docs/guides/features-json.md',
|
|
557
|
+
'docs-site/docs/guides/memory-routing.md',
|
|
558
|
+
'docs-site/docs/guides/aside-context.md',
|
|
559
|
+
'docs-site/docs/guides/repertoire.md',
|
|
560
|
+
'docs-site/docs/guides/consumer-migration.md',
|
|
561
|
+
'docs-site/docs/mcp/README.md',
|
|
562
|
+
'docs-site/docs/agents/README.md',
|
|
563
|
+
'docs-site/sidebars.ts',
|
|
564
|
+
];
|
|
565
|
+
return candidates.filter((rel) => fs.existsSync(path.join(rootDir, rel)));
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
/** Update CHANGELOG + README + AGENTS (+ consumer/docs) for current package.json version (no bump). */
|
|
569
|
+
function updateReleaseArtifactsOnly(changeDescription = '') {
|
|
570
|
+
const current = getCurrentVersion();
|
|
571
|
+
console.log(`\nπ Release artifacts for v${current}\n`);
|
|
572
|
+
const counts = getFrameworkCounts();
|
|
573
|
+
console.log(`π Framework counts: ${counts.agents} agents, ${counts.mcps} MCPs, ${counts.skills} skills`);
|
|
574
|
+
updateChangelog(current, changeDescription);
|
|
575
|
+
updateReadme(counts, current);
|
|
576
|
+
syncDocsSiteHeaders(counts, current);
|
|
577
|
+
updatePluginJsonVersion(current);
|
|
578
|
+
updateConsumerAgentsHeader(current, counts);
|
|
579
|
+
updateDocsReadme(current);
|
|
580
|
+
updateAgentsMd(counts);
|
|
581
|
+
updateAgentsConsumerMd(counts);
|
|
582
|
+
updateSkillsMd(counts, current);
|
|
583
|
+
runReleaseDocsValidation();
|
|
584
|
+
console.log(`\nβ
Release artifacts updated for v${current}\n`);
|
|
585
|
+
}
|
|
586
|
+
|
|
587
|
+
function runReleaseDocsValidation() {
|
|
588
|
+
try {
|
|
589
|
+
execSync('node scripts/node/validate-release-docs.mjs', {
|
|
590
|
+
cwd: rootDir,
|
|
591
|
+
stdio: 'inherit',
|
|
592
|
+
});
|
|
593
|
+
} catch {
|
|
594
|
+
console.error('\nβ Release artifact docs failed validation β fix before tagging\n');
|
|
595
|
+
process.exit(1);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
440
599
|
function main() {
|
|
441
600
|
const args = process.argv.slice(2);
|
|
601
|
+
|
|
602
|
+
if (args.includes('--artifacts-only')) {
|
|
603
|
+
updateReleaseArtifactsOnly('');
|
|
604
|
+
return;
|
|
605
|
+
}
|
|
442
606
|
|
|
443
607
|
// Handle --help flag first
|
|
444
608
|
if (args.includes('--help') || args.includes('-h')) {
|
|
@@ -448,6 +612,7 @@ function main() {
|
|
|
448
612
|
console.log(` node scripts/node/version-manager.mjs [major|minor|patch] [description]`);
|
|
449
613
|
console.log(` node scripts/node/version-manager.mjs 1.6.9 "Description of changes"`);
|
|
450
614
|
console.log(` node scripts/node/version-manager.mjs patch --tag # auto-changelog + git tag`);
|
|
615
|
+
console.log(` node scripts/node/version-manager.mjs --artifacts-only # CHANGELOG/README/AGENTS/docs`);
|
|
451
616
|
console.log(`\nExamples:`);
|
|
452
617
|
console.log(` node scripts/node/version-manager.mjs patch # 1.6.8 -> 1.6.9 (auto-generates changelog from git)`);
|
|
453
618
|
console.log(` node scripts/node/version-manager.mjs minor # 1.6.8 -> 1.7.0`);
|
|
@@ -472,7 +637,13 @@ function main() {
|
|
|
472
637
|
console.log(`π Framework counts: ${counts.agents} agents, ${counts.mcps} MCPs, ${counts.skills} skills`);
|
|
473
638
|
updateChangelog(current, '');
|
|
474
639
|
updateReadme(counts, current);
|
|
640
|
+
syncDocsSiteHeaders(counts, current);
|
|
641
|
+
updatePluginJsonVersion(current);
|
|
642
|
+
updateConsumerAgentsHeader(current, counts);
|
|
643
|
+
updateDocsReadme(current);
|
|
475
644
|
updateAgentsMd(counts);
|
|
645
|
+
updateAgentsConsumerMd(counts);
|
|
646
|
+
updateSkillsMd(counts, current);
|
|
476
647
|
|
|
477
648
|
// Update UVM's own version string to match package.json
|
|
478
649
|
const uvmPath = path.join(rootDir, 'scripts/node/universal-version-manager.js');
|
|
@@ -521,4 +692,9 @@ function main() {
|
|
|
521
692
|
}
|
|
522
693
|
}
|
|
523
694
|
|
|
524
|
-
|
|
695
|
+
const isMainModule =
|
|
696
|
+
process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url);
|
|
697
|
+
|
|
698
|
+
if (isMainModule) {
|
|
699
|
+
main();
|
|
700
|
+
}
|
|
@@ -20,11 +20,28 @@
|
|
|
20
20
|
"hooks": [
|
|
21
21
|
{
|
|
22
22
|
"type": "command",
|
|
23
|
-
"command": "
|
|
24
|
-
"args": [
|
|
23
|
+
"command": "node",
|
|
24
|
+
"args": [
|
|
25
|
+
"${XRAY_AI_PATH:-node_modules/0xray}/dist/integrations/grok/hooks/session-start.js"
|
|
26
|
+
],
|
|
27
|
+
"timeout": 15000
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"UserPromptSubmit": [
|
|
33
|
+
{
|
|
34
|
+
"hooks": [
|
|
35
|
+
{
|
|
36
|
+
"type": "command",
|
|
37
|
+
"command": "node",
|
|
38
|
+
"args": [
|
|
39
|
+
"${XRAY_AI_PATH:-node_modules/0xray}/dist/integrations/grok/hooks/session-start.js"
|
|
40
|
+
],
|
|
41
|
+
"timeout": 15000
|
|
25
42
|
}
|
|
26
43
|
]
|
|
27
44
|
}
|
|
28
45
|
]
|
|
29
46
|
}
|
|
30
|
-
}
|
|
47
|
+
}
|
|
@@ -69,6 +69,15 @@ describe('ServerConfigRegistry', () => {
|
|
|
69
69
|
});
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
+
describe('framework path resolution', () => {
|
|
73
|
+
it('should resolve MCP paths from 0xray package without fallback warning', () => {
|
|
74
|
+
const config = registry.get('code-review');
|
|
75
|
+
expect(config?.args?.[0]).toBeDefined();
|
|
76
|
+
expect(String(config?.args?.[0])).toMatch(/mcps\/knowledge-skills\/code-review\.server\.js$/);
|
|
77
|
+
expect(String(config?.args?.[0])).not.toContain('node_modules/0xray/dist/dist');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
72
81
|
describe('default servers', () => {
|
|
73
82
|
it('should have code-review server registered by default', () => {
|
|
74
83
|
expect(registry.has('code-review')).toBe(true);
|
|
@@ -44,10 +44,12 @@ function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: strin
|
|
|
44
44
|
if (fs.existsSync(pkgPath)) {
|
|
45
45
|
try {
|
|
46
46
|
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
47
|
-
if (pkg.name === '0xray'
|
|
48
|
-
const xrayCfg = pkg.xray as Record<string, string>;
|
|
47
|
+
if (pkg.name === '0xray') {
|
|
48
|
+
const xrayCfg = (pkg.xray ?? {}) as Record<string, string>;
|
|
49
49
|
const frameworkRoot = currentDir;
|
|
50
|
-
const declaredMcp =
|
|
50
|
+
const declaredMcp =
|
|
51
|
+
xrayCfg.mcpServersPath ||
|
|
52
|
+
(xrayCfg.dist ? join(xrayCfg.dist, 'mcps') : 'dist/mcps');
|
|
51
53
|
return {
|
|
52
54
|
frameworkRoot,
|
|
53
55
|
mcpServersPath: join(frameworkRoot, declaredMcp),
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
24
24
|
import { mcpClientManager } from "./mcp-client.js";
|
|
25
25
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
26
|
+
import { featuresConfigLoader } from "../core/features-config.js";
|
|
26
27
|
import * as fs from "fs";
|
|
27
28
|
import * as path from "path";
|
|
28
29
|
import { fileURLToPath } from "url";
|
|
@@ -30,7 +31,6 @@ import { randomUUID } from "crypto";
|
|
|
30
31
|
import { getGovernanceService } from "../governance/governance-service.js";
|
|
31
32
|
import { getCodexPolicyService } from "../governance/codex-policy.service.js";
|
|
32
33
|
import { initializeGovernanceIntegration, shutdownGovernanceIntegration } from "../integrations/governance/index.js";
|
|
33
|
-
import { featuresConfigLoader } from "../core/features-config.js";
|
|
34
34
|
import type { GovernanceRequest } from "../governance/governance-types.js";
|
|
35
35
|
|
|
36
36
|
interface GovernanceProposalInput {
|
|
@@ -231,6 +231,19 @@ class GovernanceServer extends XrayKnowledgeSkillBase {
|
|
|
231
231
|
});
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
+
/** Align tool default with features.json inference_governance.enabled (P0.2). */
|
|
235
|
+
private resolveRequireExternal(explicit?: boolean): boolean {
|
|
236
|
+
if (explicit !== undefined) return explicit;
|
|
237
|
+
try {
|
|
238
|
+
const config = featuresConfigLoader.loadConfig() as {
|
|
239
|
+
inference_governance?: { enabled?: boolean };
|
|
240
|
+
};
|
|
241
|
+
return config?.inference_governance?.enabled === true;
|
|
242
|
+
} catch {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
234
247
|
private async handleGovernProposals(args: GovernProposalsArgs): Promise<CallToolResult> {
|
|
235
248
|
const service = getGovernanceService();
|
|
236
249
|
|
|
@@ -246,7 +259,7 @@ class GovernanceServer extends XrayKnowledgeSkillBase {
|
|
|
246
259
|
})),
|
|
247
260
|
context: args.context || {},
|
|
248
261
|
options: {
|
|
249
|
-
requireExternalDynamo: args.options?.require_external
|
|
262
|
+
requireExternalDynamo: this.resolveRequireExternal(args.options?.require_external),
|
|
250
263
|
},
|
|
251
264
|
};
|
|
252
265
|
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { frameworkLogger } from '../../../core/framework-logger.js';
|
|
8
|
+
import {
|
|
9
|
+
buildLeadDevPlan,
|
|
10
|
+
isLeadDevModeActive,
|
|
11
|
+
persistLeadDevPlan,
|
|
12
|
+
} from '../../../nucleus/autonomy-kernel.js';
|
|
8
13
|
import { getExecutionPlanner } from '../execution/execution-planner.js';
|
|
9
14
|
import { addObservations, extractComplexityObservations } from '../aside-context.js';
|
|
10
15
|
import type { OrchestrationTask, ComplexityAnalysis } from '../types.js';
|
|
@@ -40,11 +45,36 @@ export class ComplexityHandler {
|
|
|
40
45
|
addObservations(asideId, extractComplexityObservations(analysis));
|
|
41
46
|
}
|
|
42
47
|
|
|
48
|
+
const primaryDescription = tasks.map((t) => t.description).filter(Boolean).join(' ');
|
|
49
|
+
const taskTypes = tasks.map((t) => t.type).filter(Boolean) as string[];
|
|
50
|
+
const leadDevPlan =
|
|
51
|
+
isLeadDevModeActive() && primaryDescription
|
|
52
|
+
? buildLeadDevPlan(primaryDescription, taskTypes.length ? taskTypes : ['implement'])
|
|
53
|
+
: null;
|
|
54
|
+
|
|
55
|
+
if (leadDevPlan) {
|
|
56
|
+
try {
|
|
57
|
+
persistLeadDevPlan(leadDevPlan);
|
|
58
|
+
} catch (err) {
|
|
59
|
+
await frameworkLogger.log(
|
|
60
|
+
'orchestrator.server',
|
|
61
|
+
'lead-dev-plan-persist-failed',
|
|
62
|
+
'warning',
|
|
63
|
+
{ error: err instanceof Error ? err.message : String(err) },
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
43
68
|
return {
|
|
44
69
|
content: [
|
|
45
70
|
{
|
|
46
71
|
type: 'text',
|
|
47
|
-
text: this.formatComplexityResponse(
|
|
72
|
+
text: this.formatComplexityResponse(
|
|
73
|
+
analysis,
|
|
74
|
+
recommendations,
|
|
75
|
+
tasks.length,
|
|
76
|
+
leadDevPlan,
|
|
77
|
+
),
|
|
48
78
|
},
|
|
49
79
|
],
|
|
50
80
|
};
|
|
@@ -98,8 +128,29 @@ export class ComplexityHandler {
|
|
|
98
128
|
private formatComplexityResponse(
|
|
99
129
|
analysis: ComplexityAnalysis,
|
|
100
130
|
recommendations: string[],
|
|
101
|
-
taskCount: number
|
|
131
|
+
taskCount: number,
|
|
132
|
+
leadDevPlan: ReturnType<typeof buildLeadDevPlan> = null,
|
|
102
133
|
): string {
|
|
134
|
+
const leadDevSection = leadDevPlan
|
|
135
|
+
? `
|
|
136
|
+
|
|
137
|
+
**Lead-dev plan (codex ${leadDevPlan.codexTerms.join(', ')}):**
|
|
138
|
+
${leadDevPlan.phases
|
|
139
|
+
.map(
|
|
140
|
+
(p) =>
|
|
141
|
+
`### ${p.id} β ${p.name}\n${p.todos
|
|
142
|
+
.map((t) => `- [ ] ${t.id} (${t.subagent}): ${t.task}`)
|
|
143
|
+
.join('\n')}`,
|
|
144
|
+
)
|
|
145
|
+
.join('\n\n')}
|
|
146
|
+
|
|
147
|
+
**Test protocol:** ${leadDevPlan.testProtocol.hint}
|
|
148
|
+
|
|
149
|
+
\`\`\`json
|
|
150
|
+
${JSON.stringify(leadDevPlan, null, 2)}
|
|
151
|
+
\`\`\``
|
|
152
|
+
: '';
|
|
153
|
+
|
|
103
154
|
return `π Complexity Analysis Results
|
|
104
155
|
|
|
105
156
|
**Tasks Analyzed:** ${taskCount}
|
|
@@ -126,6 +177,6 @@ ${analysis.agentAssignments
|
|
|
126
177
|
${recommendations.map((r) => `β’ π‘ ${r}`).join('\n')}
|
|
127
178
|
|
|
128
179
|
**Execution Estimate:** ${analysis.estimatedDuration}ms
|
|
129
|
-
**Parallel Potential:** ${Math.round(analysis.parallelPotential * 100)}
|
|
180
|
+
**Parallel Potential:** ${Math.round(analysis.parallelPotential * 100)}%${leadDevSection}`;
|
|
130
181
|
}
|
|
131
182
|
}
|
|
@@ -140,7 +140,7 @@ export class OrchestratorServer {
|
|
|
140
140
|
{
|
|
141
141
|
name: 'analyze-complexity',
|
|
142
142
|
description:
|
|
143
|
-
'Analyze task complexity and recommend
|
|
143
|
+
'Analyze task complexity and recommend orchestration strategy. When lead_dev_mode is on (features.json), includes phased plan + todos + subagent routes.',
|
|
144
144
|
inputSchema: {
|
|
145
145
|
type: 'object',
|
|
146
146
|
properties: {
|
|
@@ -13,6 +13,7 @@ import * as fs from "fs";
|
|
|
13
13
|
import * as path from "path";
|
|
14
14
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
15
15
|
import { tryLLMGovernance } from "../governance/llm-governance-provider.js";
|
|
16
|
+
import { initializeMemoryRouting } from "../memory-routing/index.js";
|
|
16
17
|
import {
|
|
17
18
|
buildMemoryRoutingEvidence,
|
|
18
19
|
formatMemoryRoutingBlock,
|
|
@@ -53,6 +54,9 @@ class XrayLibrarianServer extends XrayKnowledgeSkillBase {
|
|
|
53
54
|
constructor() {
|
|
54
55
|
super("researcher", "3.1.0");
|
|
55
56
|
|
|
57
|
+
// Kick off MemoryRoutingProvider load so trap routing is ready in MCP subprocess mode.
|
|
58
|
+
initializeMemoryRouting();
|
|
59
|
+
|
|
56
60
|
this.tools = [
|
|
57
61
|
{
|
|
58
62
|
name: "search_codebase",
|
|
@@ -28,10 +28,6 @@ Framework initialization and boot orchestration.
|
|
|
28
28
|
- **initialization**: Initialization
|
|
29
29
|
- **framework_startup**: Framework startup
|
|
30
30
|
|
|
31
|
-
## Usage
|
|
32
|
-
|
|
33
|
-
This skill provides infrastructure capabilities for boot orchestrator functionality.
|
|
34
|
-
|
|
35
31
|
## Integration
|
|
36
32
|
|
|
37
|
-
|
|
33
|
+
Lead-dev boot is handled by SessionStart hook + `orchestrator` skill β see `multi_agent_orchestration.lead_dev_mode` in features.json.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: framework
|
|
3
3
|
name: orchestrator
|
|
4
|
-
description: Multi-agent workflow coordination and task delegation
|
|
4
|
+
description: Multi-agent workflow coordination, lead-dev operating model (codex 67-68), and task delegation. Default when suit is worn β no keywords required.
|
|
5
5
|
author: Xray Framework
|
|
6
6
|
version: 1.0.0
|
|
7
7
|
schema_version: "1.0"
|
|
8
|
-
tags: [orchestration, orchestrator]
|
|
8
|
+
tags: [orchestration, orchestrator, lead-dev]
|
|
9
9
|
capabilities:
|
|
10
10
|
- coordinate_agents
|
|
11
11
|
- delegate_tasks
|
|
@@ -18,20 +18,43 @@ mcp:
|
|
|
18
18
|
args: [node_modules/0xray/dist/mcps/orchestrator.server.js]
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
# Orchestrator Skill
|
|
21
|
+
# Orchestrator Skill β includes lead-dev operating model
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
When `multi_agent_orchestration.lead_dev_mode` is true in `features.json` (default when suit is worn), this is the **default OS behavior** β not a separate skill or MCP.
|
|
24
24
|
|
|
25
|
-
##
|
|
25
|
+
## Seven rules (codex 67β68)
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
27
|
+
1. Phased plan + detailed todos; assign best subagent; monitor output
|
|
28
|
+
2. Lead dev loops testβfix until green; no permission pings
|
|
29
|
+
3. Per-suite test triage after major changes; full suite last
|
|
30
|
+
4. Lead stays main thread; subagents execute; update todos
|
|
31
|
+
5. Read all console and test output; triage fix rerun
|
|
32
|
+
6. Never defer errors as "pre-existing" β add todo and resolve
|
|
33
|
+
7. Resolve all errors before phase completion
|
|
30
34
|
|
|
31
|
-
##
|
|
35
|
+
## MCP loop (one tool surface β no autonomy-intake)
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
| Step | MCP tool | Notes |
|
|
38
|
+
|------|----------|-------|
|
|
39
|
+
| **Intake + classify** | `analyze-complexity` | Pass `tasks` array; response includes **lead-dev plan JSON** when mode is on |
|
|
40
|
+
| Delegate | `orchestrate-task` | Include agent + sessionId (codex 67) |
|
|
41
|
+
| Monitor | `get-orchestration-status` | Lead updates todos |
|
|
42
|
+
| Major work | researcher + architect-tools + code-review | Auto-listed in plan when complexity > threshold |
|
|
34
43
|
|
|
35
|
-
##
|
|
44
|
+
## Subagent routing
|
|
36
45
|
|
|
37
|
-
|
|
46
|
+
| Task | Subagent |
|
|
47
|
+
|------|----------|
|
|
48
|
+
| Phasing | strategist |
|
|
49
|
+
| Architecture | architect-tools |
|
|
50
|
+
| Research | researcher |
|
|
51
|
+
| Implementation | backend-engineer / frontend-engineer |
|
|
52
|
+
| Test failures | bug-triage |
|
|
53
|
+
| Review | code-review |
|
|
54
|
+
|
|
55
|
+
## Hooks (rewired, not new MCPs)
|
|
56
|
+
|
|
57
|
+
- **SessionStart** β `session-start.js` boots lead_dev_mode
|
|
58
|
+
- **PreToolUse** β hints `per_suite_triage_required` on full `npm test`
|
|
59
|
+
|
|
60
|
+
Config: `features.json` β `multi_agent_orchestration.lead_dev_mode`
|