0xray 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/codex.codex +1 -1
- package/AGENTS.md +1 -1
- package/dist/AGENTS.md +1 -1
- package/dist/benchmark/performance-benchmark.d.ts +2 -2
- package/dist/benchmark/performance-benchmark.js +3 -3
- package/dist/cli/commands/hermes-install.js +4 -4
- package/dist/cli/commands/mcp-install.js +1 -1
- package/dist/cli/commands/openclaw-install.js +1 -1
- package/dist/cli/commands/plugin-commands.js +2 -2
- package/dist/cli/commands/publish-agent.js +5 -5
- package/dist/cli/commands/skill-install.js +1 -1
- package/dist/cli/commands/status.js +3 -3
- package/dist/cli/commands/storyteller.js +2 -2
- package/dist/cli/index.js +8 -8
- package/dist/cli/server.js +1 -1
- package/dist/core/agent-spawn-gate.d.ts +1 -1
- package/dist/core/agent-spawn-gate.js +1 -1
- package/dist/core/boot-orchestrator.d.ts +4 -4
- package/dist/core/boot-orchestrator.js +26 -26
- package/dist/core/bridge.mjs +22 -22
- package/dist/core/codex-formatter.js +2 -2
- package/dist/core/codex-injector.d.ts +4 -3
- package/dist/core/codex-injector.js +11 -10
- package/dist/core/config-loader.d.ts +5 -4
- package/dist/core/config-loader.js +4 -2
- package/dist/core/config-paths.d.ts +9 -8
- package/dist/core/config-paths.js +24 -23
- package/dist/core/context-loader.d.ts +4 -3
- package/dist/core/context-loader.js +7 -5
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/orchestrator.d.ts +1 -0
- package/dist/core/orchestrator.js +3 -2
- package/dist/core/system-prompt-generator.js +2 -2
- package/dist/core/xray-activation.d.ts +4 -4
- package/dist/core/xray-activation.js +29 -24
- package/dist/delegation/agent-delegator.d.ts +3 -3
- package/dist/delegation/agent-delegator.js +3 -3
- package/dist/delegation/metrics-aggregator.d.ts +11 -11
- package/dist/delegation/session-coordinator.d.ts +3 -3
- package/dist/delegation/voting-coordinator.d.ts +3 -3
- package/dist/enforcement/enforcer-tools.js +2 -2
- package/dist/enforcement/loaders/codex-loader.d.ts +1 -1
- package/dist/enforcement/loaders/codex-loader.js +2 -2
- package/dist/index.d.ts +5 -5
- package/dist/index.js +6 -6
- package/dist/inference/deploy-verifier.js +1 -1
- package/dist/inference/inference-cycle.js +7 -7
- package/dist/integrations/base/README.md +2 -2
- package/dist/integrations/governance/index.js +1 -1
- package/dist/integrations/grok/grok-cli.d.ts +1 -1
- package/dist/integrations/grok/grok-cli.js +6 -6
- package/dist/integrations/grok/hooks/pre-tool-use.js +1 -1
- package/dist/integrations/grok/plugin/0xray/.mcp.json +3 -3
- package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/dist/integrations/hermes-agent/__init__.py +77 -71
- package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313-pytest-9.0.2.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
- package/dist/integrations/hermes-agent/after-install.md +14 -14
- package/dist/integrations/hermes-agent/bridge.mjs +14 -14
- package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +1 -0
- package/dist/integrations/hermes-agent/plugin.yaml +5 -5
- package/dist/integrations/hermes-agent/schemas.py +12 -12
- package/dist/integrations/hermes-agent/test_plugin.py +128 -125
- package/dist/integrations/hermes-agent/tools.py +85 -23
- package/dist/integrations/openclaw/README.md +16 -16
- package/dist/integrations/openclaw/api-server.d.ts +4 -4
- package/dist/integrations/openclaw/api-server.js +9 -9
- package/dist/integrations/openclaw/config.js +1 -1
- package/dist/integrations/openclaw/hooks/{strray-hooks.d.ts → xray-hooks.d.ts} +4 -4
- package/dist/integrations/openclaw/index.d.ts +4 -4
- package/dist/integrations/openclaw/index.js +4 -4
- package/dist/integrations/openclaw/types.d.ts +1 -1
- package/dist/integrations/plugins/plugin-registry.js +2 -2
- package/dist/mcps/architect-tools.server.d.ts +2 -2
- package/dist/mcps/architect-tools.server.js +3 -3
- package/dist/mcps/auto-format.server.d.ts +2 -2
- package/dist/mcps/auto-format.server.js +3 -3
- package/dist/mcps/boot-orchestrator.server.d.ts +2 -2
- package/dist/mcps/boot-orchestrator.server.js +3 -3
- package/dist/mcps/config/server-config-registry.d.ts +1 -1
- package/dist/mcps/config/server-config-registry.js +7 -7
- package/dist/mcps/connection/mcp-connection.js +1 -1
- package/dist/mcps/enforcer-tools.server.d.ts +2 -2
- package/dist/mcps/enforcer-tools.server.js +3 -3
- package/dist/mcps/framework-compliance-audit.server.d.ts +2 -2
- package/dist/mcps/framework-compliance-audit.server.js +3 -3
- package/dist/mcps/framework-help.server.js +6 -6
- package/dist/mcps/in-process-skill-registry.js +6 -6
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/api-design.server.js +3 -3
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +3 -3
- package/dist/mcps/knowledge-skills/code-review.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/code-review.server.js +3 -3
- package/dist/mcps/knowledge-skills/database-design.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/database-design.server.js +3 -3
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +3 -3
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/git-workflow.server.js +3 -3
- package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/mobile-development.server.js +3 -3
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +3 -3
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +3 -3
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/security-audit.server.js +3 -3
- package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/tech-writer.server.js +3 -3
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +3 -3
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +3 -3
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +2 -2
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +5 -5
- package/dist/mcps/lint.server.d.ts +2 -2
- package/dist/mcps/lint.server.js +5 -5
- package/dist/mcps/mcp-client.js +3 -3
- package/dist/mcps/model-health-check.server.d.ts +2 -2
- package/dist/mcps/model-health-check.server.js +3 -3
- package/dist/mcps/orchestrator/server.js +2 -2
- package/dist/mcps/performance-analysis.server.d.ts +2 -2
- package/dist/mcps/performance-analysis.server.js +3 -3
- package/dist/mcps/processor-pipeline.server.d.ts +2 -2
- package/dist/mcps/processor-pipeline.server.js +3 -3
- package/dist/mcps/researcher.server.d.ts +3 -3
- package/dist/mcps/researcher.server.js +4 -4
- package/dist/mcps/security-scan.server.d.ts +2 -2
- package/dist/mcps/security-scan.server.js +3 -3
- package/dist/mcps/simulation/server-simulations.js +3 -3
- package/dist/metrics/agent-metrics.d.ts +4 -4
- package/dist/metrics/agent-metrics.js +1 -1
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +2 -2
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
- package/dist/orchestrator/intelligent-commit-batcher.d.ts +1 -1
- package/dist/orchestrator/intelligent-commit-batcher.js +3 -3
- package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +3 -3
- package/dist/orchestrator/multi-agent-orchestration-coordinator.js +9 -9
- package/dist/orchestrator/orchestrator.d.ts +3 -2
- package/dist/orchestrator/orchestrator.js +8 -6
- package/dist/plugin/xray-codex-injection.d.ts +1 -1
- package/dist/plugin/xray-codex-injection.js +8 -7
- package/dist/postprocessor/PostProcessor.d.ts +2 -2
- package/dist/postprocessor/PostProcessor.js +1 -1
- package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +2 -2
- package/dist/postprocessor/services/RegressionAnalysisService.js +2 -2
- package/dist/postprocessor/triggers/GitHookTrigger.js +14 -14
- package/dist/processors/implementations/agents-md-validation-processor.js +2 -2
- package/dist/processors/implementations/inference-improvement-processor.js +2 -2
- package/dist/processors/implementations/log-protection-processor.d.ts +1 -1
- package/dist/processors/implementations/log-protection-processor.js +2 -2
- package/dist/processors/implementations/publish-preflight-processor.d.ts +1 -1
- package/dist/processors/implementations/publish-preflight-processor.js +3 -3
- package/dist/processors/implementations/regression-testing-processor.js +2 -2
- package/dist/processors/implementations/session-summary-processor.js +2 -2
- package/dist/processors/implementations/storytelling-trigger-processor.js +2 -2
- package/dist/processors/processor-manager.d.ts +2 -2
- package/dist/public/about.html +6 -6
- package/dist/public/enterprise.html +1 -1
- package/dist/public/features.html +2 -2
- package/dist/public/index.html +4 -4
- package/dist/reporting/report-formatter.js +1 -1
- package/dist/scripts/activate-kernel-pipeline.js +2 -2
- package/dist/scripts/pre-command +1 -1
- package/dist/services/inference-tuner.js +2 -2
- package/dist/session/session-cleanup-manager.d.ts +3 -3
- package/dist/session/session-monitor.d.ts +3 -3
- package/dist/session/session-state-manager.d.ts +3 -3
- package/dist/skills/hermes-agent/SKILL.md +11 -11
- package/dist/skills/storyteller/SKILL.md +1 -1
- package/dist/skills/xray-orchestrator/SKILL.md +141 -0
- package/dist/skills/xray-orchestrator/index.d.ts +13 -0
- package/dist/skills/xray-orchestrator/index.js +224 -0
- package/dist/state/index.d.ts +2 -1
- package/dist/state/index.js +2 -1
- package/dist/state/state-manager.d.ts +2 -2
- package/dist/state/state-manager.js +5 -4
- package/dist/utils/import-resolver.js +1 -1
- package/dist/utils/path-resolver.js +2 -2
- package/dist/utils/token-manager.js +1 -1
- package/dist/validation/estimation-validator.js +1 -1
- package/package.json +2 -2
- package/scripts/hooks/pre-command +1 -1
- package/scripts/hooks/run-hook.js +2 -2
- package/scripts/node/auto-reflection-generator.mjs +2 -2
- package/scripts/node/postinstall.cjs +1 -1
- package/scripts/node/release.js +6 -6
- package/scripts/node/release.mjs +10 -10
- package/scripts/node/version-manager.mjs +1 -1
- package/src/integrations/grok/plugin/0xray/.mcp.json +3 -3
- package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/src/mcps/architect-tools.server.ts +3 -3
- package/src/mcps/auto-format.server.ts +3 -3
- package/src/mcps/boot-orchestrator.server.ts +3 -3
- package/src/mcps/config/server-config-registry.ts +7 -7
- package/src/mcps/connection/mcp-connection.ts +1 -1
- package/src/mcps/enforcer-tools.server.ts +3 -3
- package/src/mcps/framework-compliance-audit.server.ts +3 -3
- package/src/mcps/framework-help.server.ts +6 -6
- package/src/mcps/in-process-skill-registry.ts +6 -6
- package/src/mcps/knowledge-skills/api-design.server.test.ts +8 -8
- package/src/mcps/knowledge-skills/api-design.server.ts +3 -3
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +3 -3
- package/src/mcps/knowledge-skills/code-review.server.ts +3 -3
- package/src/mcps/knowledge-skills/database-design.server.ts +3 -3
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +3 -3
- package/src/mcps/knowledge-skills/git-workflow.server.ts +3 -3
- package/src/mcps/knowledge-skills/mobile-development.server.ts +3 -3
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +3 -3
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +3 -3
- package/src/mcps/knowledge-skills/security-audit.server.test.ts +23 -23
- package/src/mcps/knowledge-skills/security-audit.server.ts +3 -3
- package/src/mcps/knowledge-skills/tech-writer.server.ts +3 -3
- package/src/mcps/knowledge-skills/testing-best-practices.server.test.ts +28 -28
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +3 -3
- package/src/mcps/knowledge-skills/testing-strategy.server.test.ts +19 -19
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +3 -3
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +5 -5
- package/src/mcps/lint.server.ts +5 -5
- package/src/mcps/mcp-client.ts +3 -3
- package/src/mcps/model-health-check.server.ts +3 -3
- package/src/mcps/orchestrator/server.ts +2 -2
- package/src/mcps/performance-analysis.server.ts +3 -3
- package/src/mcps/processor-pipeline.server.ts +3 -3
- package/src/mcps/researcher.server.ts +4 -4
- package/src/mcps/security-scan.server.ts +3 -3
- package/src/mcps/simulation/server-simulations.ts +3 -3
- package/src/opencode/codex.codex +1 -1
- package/src/skills/hermes-agent/SKILL.md +11 -11
- package/src/skills/storyteller/SKILL.md +1 -1
- package/src/skills/xray-orchestrator/SKILL.md +141 -0
- package/src/skills/xray-orchestrator/index.ts +268 -0
- package/scripts/validate-stringray-comprehensive.js +0 -636
- /package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Consumer runtime compat shim from prior StringRay releases (1-line min per Scope Rule; xray codex injection + XRAY_||STRRAY_ env + .
|
|
2
|
+
* Consumer runtime compat shim from prior StringRay releases (1-line min per Scope Rule; xray codex injection + XRAY_||STRRAY_ env + .xray fallbacks).
|
|
3
3
|
*/
|
|
4
4
|
interface ToolExecuteAfterInput {
|
|
5
5
|
tool: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Consumer runtime compat shim from prior StringRay releases (1-line min per Scope Rule; xray codex injection + XRAY_||STRRAY_ env + .
|
|
2
|
+
* Consumer runtime compat shim from prior StringRay releases (1-line min per Scope Rule; xray codex injection + XRAY_||STRRAY_ env + .xray fallbacks).
|
|
3
3
|
*/
|
|
4
4
|
import * as fs from "fs";
|
|
5
5
|
import * as path from "path";
|
|
@@ -100,7 +100,7 @@ function validateModulePath(resolvedPath, allowedPrefix) {
|
|
|
100
100
|
throw new Error(`Module path validation failed: ${normalized} is outside allowed path ${allowed}`);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
async function
|
|
103
|
+
async function loadXrayComponents() {
|
|
104
104
|
if (_ProcessorManager && _StrRayStateManager && _featuresConfigLoader)
|
|
105
105
|
return;
|
|
106
106
|
const logger = await getOrCreateLogger(process.cwd());
|
|
@@ -337,7 +337,7 @@ let cachedCodexContexts = null;
|
|
|
337
337
|
async function getCodexFileLocations(directory) {
|
|
338
338
|
const root = directory || process.cwd();
|
|
339
339
|
const resolved = await resolveCodexPath(root);
|
|
340
|
-
resolved.push(path.join(root, ".opencode", "codex.codex"), path.join(root, ".
|
|
340
|
+
resolved.push(path.join(root, ".opencode", "codex.codex"), path.join(root, ".xray", "agents_template.md"), path.join(root, ".opencode", "xray", "agents_template.md"), path.join(root, "AGENTS.md"));
|
|
341
341
|
return resolved;
|
|
342
342
|
}
|
|
343
343
|
function readFileContent(filePath) {
|
|
@@ -467,7 +467,7 @@ function isWriteEditOperation(tool) {
|
|
|
467
467
|
return tool === "write" || tool === "edit" || tool === "multiedit";
|
|
468
468
|
}
|
|
469
469
|
function isPublishOperation(tool) {
|
|
470
|
-
return tool === "publish" || tool === "release" || tool === "npm-publish" || tool === "
|
|
470
|
+
return tool === "publish" || tool === "release" || tool === "npm-publish" || tool === "xray-release";
|
|
471
471
|
}
|
|
472
472
|
function resolveAgentName(input) {
|
|
473
473
|
const globalAgent = globalThis.currentAgent;
|
|
@@ -568,7 +568,7 @@ export default async function xrayCodexPlugin(input) {
|
|
|
568
568
|
const logger = await getOrCreateLogger(directory);
|
|
569
569
|
logger.log(`🚀 TOOL EXECUTE BEFORE HOOK FIRED: ${input.tool}`);
|
|
570
570
|
logger.log(`📥 Full input: ${JSON.stringify(input)}`);
|
|
571
|
-
await
|
|
571
|
+
await loadXrayComponents();
|
|
572
572
|
if (_featuresConfigLoader && _detectTaskType) {
|
|
573
573
|
try {
|
|
574
574
|
const config = _featuresConfigLoader.loadConfig();
|
|
@@ -601,7 +601,7 @@ export default async function xrayCodexPlugin(input) {
|
|
|
601
601
|
}
|
|
602
602
|
let stateManager;
|
|
603
603
|
let processorManager;
|
|
604
|
-
const globalState = globalThis.strRayStateManager;
|
|
604
|
+
const globalState = globalThis.xrayStateManager || globalThis.strRayStateManager;
|
|
605
605
|
if (globalState) {
|
|
606
606
|
logger.log("🔗 Connecting to booted 0xRay framework");
|
|
607
607
|
stateManager = globalState;
|
|
@@ -609,6 +609,7 @@ export default async function xrayCodexPlugin(input) {
|
|
|
609
609
|
else {
|
|
610
610
|
logger.log("🚀 0xRay framework not booted, initializing...");
|
|
611
611
|
stateManager = new _StrRayStateManager(await resolveStateDir(directory));
|
|
612
|
+
globalThis.xrayStateManager = stateManager;
|
|
612
613
|
globalThis.strRayStateManager = stateManager;
|
|
613
614
|
}
|
|
614
615
|
processorManager = stateManager.get("processor:manager") ?? null;
|
|
@@ -667,7 +668,7 @@ export default async function xrayCodexPlugin(input) {
|
|
|
667
668
|
},
|
|
668
669
|
"tool.execute.after": async (input, _output) => {
|
|
669
670
|
const logger = await getOrCreateLogger(directory);
|
|
670
|
-
await
|
|
671
|
+
await loadXrayComponents();
|
|
671
672
|
const { tool, args, result } = input;
|
|
672
673
|
try {
|
|
673
674
|
const { routingOutcomeTracker } = await import("../delegation/analytics/outcome-tracker.js");
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @since 2026-01-13
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { XrayStateManager } from "../state/state-manager.js";
|
|
11
11
|
import { SessionMonitor } from "../session/session-monitor.js";
|
|
12
12
|
import { PostProcessorConfig, PostProcessorResult, PostProcessorContext } from "./types.js";
|
|
13
13
|
export declare class PostProcessor {
|
|
@@ -24,7 +24,7 @@ export declare class PostProcessor {
|
|
|
24
24
|
private escalationEngine;
|
|
25
25
|
private successHandler;
|
|
26
26
|
private triggers;
|
|
27
|
-
constructor(stateManager:
|
|
27
|
+
constructor(stateManager: XrayStateManager, sessionMonitor?: SessionMonitor | null, config?: Partial<PostProcessorConfig>);
|
|
28
28
|
/**
|
|
29
29
|
* Generate automated framework report if conditions are met
|
|
30
30
|
*/
|
|
@@ -208,7 +208,7 @@ export class PostProcessor {
|
|
|
208
208
|
const fs = await import("fs");
|
|
209
209
|
const path = await import("path");
|
|
210
210
|
try {
|
|
211
|
-
const configPath = resolveConfigPath("features.json") ?? path.join(process.cwd(), ".opencode", "
|
|
211
|
+
const configPath = resolveConfigPath("features.json") ?? path.join(process.cwd(), ".opencode", "xray", "features.json");
|
|
212
212
|
if (fs.existsSync(configPath)) {
|
|
213
213
|
const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
214
214
|
return config.processors || {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Post-Processor Monitoring Engine
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { XrayStateManager } from "../../state/state-manager.js";
|
|
5
5
|
import { SessionMonitor } from "../../session/session-monitor.js";
|
|
6
6
|
import { MonitoringResult } from "../types.js";
|
|
7
7
|
export interface CIStatus {
|
|
@@ -25,7 +25,7 @@ export interface SecurityStatus {
|
|
|
25
25
|
export declare class PostProcessorMonitoringEngine {
|
|
26
26
|
private stateManager;
|
|
27
27
|
private sessionMonitor?;
|
|
28
|
-
constructor(stateManager:
|
|
28
|
+
constructor(stateManager: XrayStateManager, sessionMonitor?: SessionMonitor | undefined);
|
|
29
29
|
initialize(): Promise<void>;
|
|
30
30
|
monitorDeployment(commitSha: string): Promise<MonitoringResult>;
|
|
31
31
|
private checkCIStatus;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { getKernel } from '../../core/kernel-patterns.js';
|
|
12
12
|
import { createAgentDelegator } from '../../delegation/agent-delegator.js';
|
|
13
13
|
import { frameworkLogger } from '../../core/framework-logger.js';
|
|
14
|
-
import {
|
|
14
|
+
import { XrayStateManager } from '../../state/state-manager.js';
|
|
15
15
|
import { strRayConfigLoader } from '../../core/config-loader.js';
|
|
16
16
|
/**
|
|
17
17
|
* Main service for systematic regression analysis
|
|
@@ -94,7 +94,7 @@ export class RegressionAnalysisService {
|
|
|
94
94
|
conferenceType: 'regression-investigation'
|
|
95
95
|
};
|
|
96
96
|
// Create agent delegator for this operation
|
|
97
|
-
const stateManager = new
|
|
97
|
+
const stateManager = new XrayStateManager();
|
|
98
98
|
const agentDelegator = createAgentDelegator(stateManager, strRayConfigLoader);
|
|
99
99
|
// Analyze delegation strategy
|
|
100
100
|
const analysis = await agentDelegator.analyzeDelegation(delegationRequest);
|
|
@@ -314,7 +314,7 @@ if [ -z "$COMMIT_SHA" ]; then
|
|
|
314
314
|
fi
|
|
315
315
|
|
|
316
316
|
# Get repository info
|
|
317
|
-
REPO="
|
|
317
|
+
REPO="0xRayAI/xray" # Placeholder for now
|
|
318
318
|
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
319
319
|
AUTHOR=$(git log -1 --pretty=format:'%an <%ae>')
|
|
320
320
|
|
|
@@ -330,25 +330,25 @@ fi
|
|
|
330
330
|
cd "$(dirname "$0")/../.." # Navigate to project root
|
|
331
331
|
|
|
332
332
|
# Find the 0xRay plugin in node_modules or current project (development)
|
|
333
|
-
|
|
334
|
-
if [ -d "node_modules/
|
|
335
|
-
|
|
336
|
-
elif [ -d "node_modules/@
|
|
337
|
-
|
|
338
|
-
elif [ -d "node_modules/OpenCode/plugins/
|
|
339
|
-
|
|
333
|
+
XRAY_PLUGIN=""
|
|
334
|
+
if [ -d "node_modules/0xray" ]; then
|
|
335
|
+
XRAY_PLUGIN="node_modules/0xray"
|
|
336
|
+
elif [ -d "node_modules/@0xray/xray" ]; then
|
|
337
|
+
XRAY_PLUGIN="node_modules/@0xray/xray"
|
|
338
|
+
elif [ -d "node_modules/OpenCode/plugins/0xray" ]; then
|
|
339
|
+
XRAY_PLUGIN="node_modules/OpenCode/plugins/0xray"
|
|
340
340
|
elif [ -f "dist/postprocessor/PostProcessor.js" ]; then
|
|
341
341
|
# Development mode - use current project
|
|
342
|
-
|
|
342
|
+
XRAY_PLUGIN="."
|
|
343
343
|
fi
|
|
344
344
|
|
|
345
|
-
if command -v node >/dev/null 2>&1 && [ -n "$
|
|
345
|
+
if command -v node >/dev/null 2>&1 && [ -n "$XRAY_PLUGIN" ]; then
|
|
346
346
|
# Call a separate script to avoid bash variable issues
|
|
347
347
|
export COMMIT_SHA="$COMMIT_SHA"
|
|
348
348
|
export REPO="$REPO"
|
|
349
349
|
export BRANCH="$BRANCH"
|
|
350
350
|
export AUTHOR="$AUTHOR"
|
|
351
|
-
export
|
|
351
|
+
export XRAY_PLUGIN="$XRAY_PLUGIN"
|
|
352
352
|
export MONITORING_LEVEL="$MONITORING_LEVEL"
|
|
353
353
|
export IS_FULL_MONITORING="$([ "$MONITORING_LEVEL" = "full" ] && echo "true" || echo "false")"
|
|
354
354
|
|
|
@@ -422,7 +422,7 @@ fi
|
|
|
422
422
|
// Core inference/logging - NEVER DELETE
|
|
423
423
|
'activity.log',
|
|
424
424
|
'framework-activity-',
|
|
425
|
-
'
|
|
425
|
+
'xray-plugin-',
|
|
426
426
|
|
|
427
427
|
// Analysis & reflections - Contains inference data
|
|
428
428
|
'kernel-',
|
|
@@ -441,8 +441,8 @@ fi
|
|
|
441
441
|
'reflections/',
|
|
442
442
|
|
|
443
443
|
// Init logs can be cleaned but keep recent
|
|
444
|
-
'
|
|
445
|
-
'
|
|
444
|
+
'xray-init-2026-01-2', // Keep Jan 20s
|
|
445
|
+
'xray-init-2026-01-3', // Keep Jan 30s
|
|
446
446
|
|
|
447
447
|
// Other important files
|
|
448
448
|
'current-session.log',
|
|
@@ -212,7 +212,7 @@ export class AgentsMdValidationProcessor {
|
|
|
212
212
|
"",
|
|
213
213
|
"## Available Skills",
|
|
214
214
|
"",
|
|
215
|
-
"
|
|
215
|
+
"Xray ships with 30 framework skills and provides a registry of 10 curated community sources.",
|
|
216
216
|
"",
|
|
217
217
|
"```bash",
|
|
218
218
|
"npx 0xray skill:install # Show starter packs + available sources",
|
|
@@ -225,7 +225,7 @@ export class AgentsMdValidationProcessor {
|
|
|
225
225
|
"",
|
|
226
226
|
"## Codex",
|
|
227
227
|
"",
|
|
228
|
-
`
|
|
228
|
+
`Xray enforces Universal Development Codex (60 terms) for systematic error prevention.`,
|
|
229
229
|
"",
|
|
230
230
|
].join("\n"),
|
|
231
231
|
"## CLI Commands": [
|
|
@@ -38,8 +38,8 @@ export class InferenceImprovementProcessor extends PostProcessor {
|
|
|
38
38
|
loadInferenceConfig() {
|
|
39
39
|
try {
|
|
40
40
|
const configPaths = [
|
|
41
|
-
path.join(process.cwd(), ".
|
|
42
|
-
path.join(process.cwd(), ".opencode", "
|
|
41
|
+
path.join(process.cwd(), ".xray", "features.json"),
|
|
42
|
+
path.join(process.cwd(), ".opencode", "xray", "features.json"),
|
|
43
43
|
];
|
|
44
44
|
for (const configPath of configPaths) {
|
|
45
45
|
if (fs.existsSync(configPath)) {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Protected files:
|
|
8
8
|
* - routing-outcomes.json (routing analytics - NEVER delete)
|
|
9
9
|
* - activity.log (framework activity - NEVER delete)
|
|
10
|
-
* -
|
|
10
|
+
* - xray-plugin-*.log (plugin logs)
|
|
11
11
|
*
|
|
12
12
|
* Archival flow is ALLOWED:
|
|
13
13
|
* - framework-activity-*.log.gz (archived/compressed logs)
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Protected files:
|
|
8
8
|
* - routing-outcomes.json (routing analytics - NEVER delete)
|
|
9
9
|
* - activity.log (framework activity - NEVER delete)
|
|
10
|
-
* -
|
|
10
|
+
* - xray-plugin-*.log (plugin logs)
|
|
11
11
|
*
|
|
12
12
|
* Archival flow is ALLOWED:
|
|
13
13
|
* - framework-activity-*.log.gz (archived/compressed logs)
|
|
@@ -31,7 +31,7 @@ const ACTIVE_LOG_PATTERNS = [
|
|
|
31
31
|
*/
|
|
32
32
|
const ARCHIVE_PATTERNS = [
|
|
33
33
|
/framework-activity-.+\.log\.gz$/,
|
|
34
|
-
/
|
|
34
|
+
/xray-plugin-.+\.log\.gz$/,
|
|
35
35
|
];
|
|
36
36
|
/**
|
|
37
37
|
* Directories/files that are protected
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Ensures README.md, AGENTS.md, and reflection documents are up-to-date
|
|
6
6
|
* before allowing npm publish.
|
|
7
7
|
*
|
|
8
|
-
* Configuration is read from .
|
|
8
|
+
* Configuration is read from .xray/features.json
|
|
9
9
|
*
|
|
10
10
|
* @processor_type post
|
|
11
11
|
* @priority 10 (runs early after post-processing starts)
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Ensures README.md, AGENTS.md, and reflection documents are up-to-date
|
|
6
6
|
* before allowing npm publish.
|
|
7
7
|
*
|
|
8
|
-
* Configuration is read from .
|
|
8
|
+
* Configuration is read from .xray/features.json
|
|
9
9
|
*
|
|
10
10
|
* @processor_type post
|
|
11
11
|
* @priority 10 (runs early after post-processing starts)
|
|
@@ -45,8 +45,8 @@ export class PublishPreflightProcessor extends PostProcessor {
|
|
|
45
45
|
loadConfig() {
|
|
46
46
|
try {
|
|
47
47
|
const configPaths = [
|
|
48
|
-
path.join(process.cwd(), ".
|
|
49
|
-
path.join(process.cwd(), ".opencode", "
|
|
48
|
+
path.join(process.cwd(), ".xray", "features.json"),
|
|
49
|
+
path.join(process.cwd(), ".opencode", "xray", "features.json"),
|
|
50
50
|
];
|
|
51
51
|
for (const configPath of configPaths) {
|
|
52
52
|
if (fs.existsSync(configPath)) {
|
|
@@ -14,7 +14,7 @@ export class RegressionTestingProcessor extends PostProcessor {
|
|
|
14
14
|
};
|
|
15
15
|
try {
|
|
16
16
|
const projectRoot = process.cwd();
|
|
17
|
-
const testCountPath = path.join(projectRoot, ".opencode", "
|
|
17
|
+
const testCountPath = path.join(projectRoot, ".opencode", "xray", "test-count.json");
|
|
18
18
|
if (!fs.existsSync(testCountPath)) {
|
|
19
19
|
frameworkLogger.log("regression-testing-processor", "no-baseline", "info", { message: "No test-count.json baseline found" });
|
|
20
20
|
return result;
|
|
@@ -46,7 +46,7 @@ export class RegressionTestingProcessor extends PostProcessor {
|
|
|
46
46
|
}
|
|
47
47
|
getCurrentTestCount(projectRoot) {
|
|
48
48
|
try {
|
|
49
|
-
const testCountPath = path.join(projectRoot, ".opencode", "
|
|
49
|
+
const testCountPath = path.join(projectRoot, ".opencode", "xray", "test-count.json");
|
|
50
50
|
if (!fs.existsSync(testCountPath))
|
|
51
51
|
return 0;
|
|
52
52
|
const data = JSON.parse(fs.readFileSync(testCountPath, "utf-8"));
|
|
@@ -30,8 +30,8 @@ export class SessionSummaryProcessor extends PostProcessor {
|
|
|
30
30
|
}
|
|
31
31
|
loadConfig() {
|
|
32
32
|
try {
|
|
33
|
-
const featuresPath = path.join(process.cwd(), ".opencode", "
|
|
34
|
-
const altPath = path.join(process.cwd(), ".
|
|
33
|
+
const featuresPath = path.join(process.cwd(), ".opencode", "xray", "features.json");
|
|
34
|
+
const altPath = path.join(process.cwd(), ".xray", "features.json");
|
|
35
35
|
const configPath = fs.existsSync(featuresPath) ? featuresPath :
|
|
36
36
|
fs.existsSync(altPath) ? altPath : null;
|
|
37
37
|
if (configPath) {
|
|
@@ -34,8 +34,8 @@ export class StorytellingTriggerProcessor extends PostProcessor {
|
|
|
34
34
|
}
|
|
35
35
|
resolveConfigPath(filename) {
|
|
36
36
|
const candidates = [
|
|
37
|
-
path.join(process.cwd(), ".
|
|
38
|
-
path.join(process.cwd(), ".opencode", "
|
|
37
|
+
path.join(process.cwd(), ".xray", filename),
|
|
38
|
+
path.join(process.cwd(), ".opencode", "xray", filename),
|
|
39
39
|
];
|
|
40
40
|
for (const candidate of candidates) {
|
|
41
41
|
if (fs.existsSync(candidate))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XrayStateManager } from "../state/state-manager.js";
|
|
2
2
|
import { ProcessorRegistration, ProcessorHook } from "./processor-types.js";
|
|
3
3
|
import { IProcessor } from "./processor-interfaces.js";
|
|
4
4
|
export interface StaggerPolicy {
|
|
@@ -48,7 +48,7 @@ export declare class ProcessorManager {
|
|
|
48
48
|
private activeProcessors;
|
|
49
49
|
private factories;
|
|
50
50
|
private lastExecutionTime;
|
|
51
|
-
constructor(stateManager:
|
|
51
|
+
constructor(stateManager: XrayStateManager);
|
|
52
52
|
registerProcessorInstance(processor: IProcessor): boolean;
|
|
53
53
|
discoverProcessors(directory?: string): Promise<string[]>;
|
|
54
54
|
private instantiateWithDeps;
|
package/dist/public/about.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>About
|
|
6
|
+
<title>About 0xRay - Enterprise AI Orchestration</title>
|
|
7
7
|
<style>
|
|
8
8
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
9
9
|
body {
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<div class="container">
|
|
114
114
|
<header>
|
|
115
115
|
<span class="version">v1.4.20</span>
|
|
116
|
-
<h1>
|
|
116
|
+
<h1>0xRay</h1>
|
|
117
117
|
<p class="tagline">Enterprise AI Orchestration Framework</p>
|
|
118
118
|
</header>
|
|
119
119
|
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
</div>
|
|
142
142
|
|
|
143
143
|
<section class="section">
|
|
144
|
-
<h2>🎯 What is
|
|
145
|
-
<p>
|
|
144
|
+
<h2>🎯 What is 0xRay?</h2>
|
|
145
|
+
<p>0xRay is an enterprise-grade AI orchestration framework that provides intelligent task routing, systematic error prevention, and comprehensive monitoring for AI-driven development workflows.</p>
|
|
146
146
|
</section>
|
|
147
147
|
|
|
148
148
|
<section class="section">
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
<h2>🔄 8 Pipeline System</h2>
|
|
192
192
|
<div class="pipeline-diagram">
|
|
193
193
|
┌─────────────────────────────────────────────────────────────────┐
|
|
194
|
-
│
|
|
194
|
+
│ 0XRAY FRAMEWORK v1.4.20 │
|
|
195
195
|
├─────────────────────────────────────────────────────────────────┤
|
|
196
196
|
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────┐ │
|
|
197
197
|
│ │ INIT │─▶│ AGENT │─▶│ RULE │─▶│ POST │ │
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
</section>
|
|
221
221
|
|
|
222
222
|
<footer>
|
|
223
|
-
<p>
|
|
223
|
+
<p>0xRay Framework © 2026 | Built for Enterprise AI Orchestration</p>
|
|
224
224
|
<p style="margin-top: 10px; color: #6e7681;">338 logging points | 51 core files | JobId tracking enabled</p>
|
|
225
225
|
</footer>
|
|
226
226
|
</div>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Enterprise -
|
|
6
|
+
<title>Enterprise - 0xRay</title>
|
|
7
7
|
<style>
|
|
8
8
|
body { margin: 0; padding: 0; background: #0a0a0f; color: #e0e0e0; font-family: system-ui, sans-serif; }
|
|
9
9
|
.container { max-width: 900px; margin: 0 auto; padding: 40px 20px; }
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>
|
|
6
|
+
<title>0xRay - Features</title>
|
|
7
7
|
<style>
|
|
8
8
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
9
9
|
body {
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
<body>
|
|
57
57
|
<div class="container">
|
|
58
58
|
<header>
|
|
59
|
-
<h1>
|
|
59
|
+
<h1>0xRay Features</h1>
|
|
60
60
|
<p class="subtitle">Enterprise AI Orchestration Platform</p>
|
|
61
61
|
</header>
|
|
62
62
|
|
package/dist/public/index.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>⚡
|
|
6
|
+
<title>⚡ 0xRay Dashboard</title>
|
|
7
7
|
<style>
|
|
8
8
|
body {
|
|
9
9
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
<body>
|
|
82
82
|
<div class="container">
|
|
83
83
|
<div class="header">
|
|
84
|
-
<h1>⚡
|
|
85
|
-
<p>AI
|
|
84
|
+
<h1>⚡ 0xRay</h1>
|
|
85
|
+
<p>Self-Healing AI Governance OS - Production-Ready Code, No Dead Ends</p>
|
|
86
86
|
</div>
|
|
87
87
|
|
|
88
88
|
<div class="grid">
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
</div>
|
|
122
122
|
|
|
123
123
|
<div class="footer">
|
|
124
|
-
<p>🛡️
|
|
124
|
+
<p>🛡️ 0xRay - Self-Healing, Governed, Autonomous: Catch AI Mistakes Before They Ship</p>
|
|
125
125
|
</div>
|
|
126
126
|
</div>
|
|
127
127
|
|
|
@@ -98,7 +98,7 @@ ${data.recommendations.map((rec) => `- ${rec}`).join("\n")}
|
|
|
98
98
|
4. **Performance Monitoring**: Track rule enforcement effectiveness metrics
|
|
99
99
|
|
|
100
100
|
---
|
|
101
|
-
*Consumer runtime compat shim from prior StringRay releases (1-line min per Scope Rule; primary xray paths + XRAY_||STRRAY_ env + .
|
|
101
|
+
*Consumer runtime compat shim from prior StringRay releases (1-line min per Scope Rule; primary xray paths + XRAY_||STRRAY_ env + .xray fallbacks)*
|
|
102
102
|
*Framework Status: Operational*
|
|
103
103
|
`;
|
|
104
104
|
}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* Observes the full pipeline in action.
|
|
6
6
|
*/
|
|
7
7
|
import { AgentDelegator } from '../delegation/agent-delegator.js';
|
|
8
|
-
import {
|
|
8
|
+
import { XrayStateManager } from '../state/state-manager.js';
|
|
9
9
|
import { strRayConfigLoader } from '../core/config-loader.js';
|
|
10
10
|
import { routingOutcomeTracker } from '../delegation/analytics/outcome-tracker.js';
|
|
11
11
|
import { patternPerformanceTracker } from '../analytics/pattern-performance-tracker.js';
|
|
12
|
-
const stateManager = new
|
|
12
|
+
const stateManager = new XrayStateManager();
|
|
13
13
|
const delegator = new AgentDelegator(stateManager, strRayConfigLoader);
|
|
14
14
|
console.log('=== KERNEL PIPELINE ACTIVATION TEST ===\n');
|
|
15
15
|
// Test cases designed to trigger kernel patterns
|
package/dist/scripts/pre-command
CHANGED
|
@@ -181,9 +181,9 @@ export class InferenceTuner {
|
|
|
181
181
|
*/
|
|
182
182
|
resolveMappingsPath() {
|
|
183
183
|
const candidates = [
|
|
184
|
-
path.resolve(process.cwd(), ".
|
|
184
|
+
path.resolve(process.cwd(), ".xray/routing-mappings.json"),
|
|
185
185
|
path.resolve(process.cwd(), "xray/routing-mappings.json"),
|
|
186
|
-
path.resolve(process.cwd(), ".opencode/
|
|
186
|
+
path.resolve(process.cwd(), ".opencode/xray/routing-mappings.json"),
|
|
187
187
|
path.resolve(process.cwd(), "routing-mappings.json"),
|
|
188
188
|
];
|
|
189
189
|
for (const p of candidates) {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @since 2026-01-07
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { XrayStateManager } from "../state/state-manager.js";
|
|
11
11
|
import { SessionMonitor } from "./session-monitor.js";
|
|
12
12
|
export interface SessionMetadata {
|
|
13
13
|
sessionId: string;
|
|
@@ -39,7 +39,7 @@ export declare class SessionCleanupManager {
|
|
|
39
39
|
private _sessionMetadata?;
|
|
40
40
|
private _metadataLoaded;
|
|
41
41
|
private sessionMonitor;
|
|
42
|
-
constructor(stateManager:
|
|
42
|
+
constructor(stateManager: XrayStateManager, config?: Partial<CleanupConfig>, sessionMonitor?: SessionMonitor);
|
|
43
43
|
/**
|
|
44
44
|
* Lazy-loaded session metadata - loads from state manager on first access
|
|
45
45
|
*/
|
|
@@ -115,4 +115,4 @@ export declare class SessionCleanupManager {
|
|
|
115
115
|
*/
|
|
116
116
|
shutdown(): void;
|
|
117
117
|
}
|
|
118
|
-
export declare const createSessionCleanupManager: (stateManager:
|
|
118
|
+
export declare const createSessionCleanupManager: (stateManager: XrayStateManager, config?: Partial<CleanupConfig>, sessionMonitor?: SessionMonitor) => SessionCleanupManager;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @since 2026-01-07
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { XrayStateManager } from "../state/state-manager.js";
|
|
11
11
|
import { SessionCoordinator } from "../delegation/session-coordinator.js";
|
|
12
12
|
import { SessionCleanupManager } from "./session-cleanup-manager.js";
|
|
13
13
|
export interface SessionHealth {
|
|
@@ -75,7 +75,7 @@ export declare class SessionMonitor {
|
|
|
75
75
|
private interactionHistory;
|
|
76
76
|
private sessionResponseTimes;
|
|
77
77
|
private sessionErrors;
|
|
78
|
-
constructor(stateManager:
|
|
78
|
+
constructor(stateManager: XrayStateManager, sessionCoordinator: SessionCoordinator, cleanupManager: SessionCleanupManager, config?: Partial<MonitorConfig>);
|
|
79
79
|
start(): void;
|
|
80
80
|
registerSession(sessionId: string): void;
|
|
81
81
|
unregisterSession(sessionId: string): void;
|
|
@@ -130,4 +130,4 @@ export declare class SessionMonitor {
|
|
|
130
130
|
private countSessionConflicts;
|
|
131
131
|
private calculateAverageResponseTime;
|
|
132
132
|
}
|
|
133
|
-
export declare const createSessionMonitor: (stateManager:
|
|
133
|
+
export declare const createSessionMonitor: (stateManager: XrayStateManager, sessionCoordinator: SessionCoordinator, cleanupManager: SessionCleanupManager, config?: Partial<MonitorConfig>) => SessionMonitor;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @since 2026-01-07
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { XrayStateManager } from "../state/state-manager.js";
|
|
11
11
|
import { SessionCoordinator } from "../delegation/session-coordinator.js";
|
|
12
12
|
export interface SessionDependency {
|
|
13
13
|
sessionId: string;
|
|
@@ -49,7 +49,7 @@ export declare class SessionStateManager {
|
|
|
49
49
|
private dependencies;
|
|
50
50
|
private sessionGroups;
|
|
51
51
|
private failoverConfigs;
|
|
52
|
-
constructor(stateManager:
|
|
52
|
+
constructor(stateManager: XrayStateManager, sessionCoordinator: SessionCoordinator);
|
|
53
53
|
/**
|
|
54
54
|
* Share state between sessions
|
|
55
55
|
*/
|
|
@@ -142,4 +142,4 @@ export declare class SessionStateManager {
|
|
|
142
142
|
private persistFailoverConfigs;
|
|
143
143
|
shutdown(): void;
|
|
144
144
|
}
|
|
145
|
-
export declare const createSessionStateManager: (stateManager:
|
|
145
|
+
export declare const createSessionStateManager: (stateManager: XrayStateManager, sessionCoordinator: SessionCoordinator) => SessionStateManager;
|