0xray 2.1.2 → 2.1.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/.opencode/codex.codex +1 -1
- package/.opencode/commands/dependency-audit.md +3 -3
- package/.opencode/enforcer-config.json +2 -2
- package/AGENTS.md +2 -1
- package/README.md +12 -11
- package/dist/AGENTS.md +2 -1
- package/dist/CHANGELOG.md +26 -0
- package/dist/README.md +12 -11
- package/dist/agents/code-reviewer.js +1 -1
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/cli/index.js +11 -1
- package/dist/cli/server.js +3 -3
- package/dist/core/activity-logger.d.ts +2 -2
- package/dist/core/activity-logger.js +4 -4
- package/dist/core/boot-orchestrator.d.ts +1 -1
- package/dist/core/boot-orchestrator.js +13 -28
- package/dist/core/bridge.mjs +3 -3
- package/dist/core/codex-formatter.js +2 -2
- package/dist/core/codex-injector.d.ts +0 -1
- package/dist/core/codex-injector.js +2 -3
- package/dist/core/config-loader.d.ts +1 -1
- package/dist/core/config-loader.js +1 -1
- package/dist/core/config-paths.d.ts +0 -2
- package/dist/core/config-paths.js +7 -8
- package/dist/core/context-loader.d.ts +1 -1
- package/dist/core/context-loader.js +1 -1
- package/dist/core/errors.d.ts +3 -0
- package/dist/core/errors.js +10 -0
- package/dist/core/features-config.js +1 -1
- package/dist/core/framework-logger.d.ts +3 -3
- package/dist/core/framework-logger.js +17 -9
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +4 -2
- package/dist/core/logging-config.d.ts +2 -1
- package/dist/core/logging-config.js +7 -7
- package/dist/enforcement/loaders/codex-loader.js +1 -1
- package/dist/execution/opencode-cli-invoker.js +5 -5
- package/dist/governance/governance-service.js +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/inference/inference-cycle.d.ts +1 -1
- package/dist/inference/inference-cycle.js +10 -10
- package/dist/integrations/base/Integration.js +1 -1
- package/dist/integrations/base/registry.js +19 -19
- package/dist/integrations/grok/grok-cli.js +17 -17
- package/dist/integrations/grok/hooks/pre-tool-use.js +1 -1
- package/dist/integrations/hermes-agent/bridge.mjs +1 -1
- package/dist/integrations/openclaw/api-server.d.ts +0 -1
- package/dist/integrations/openclaw/api-server.js +7 -10
- package/dist/integrations/openclaw/client.d.ts +0 -1
- package/dist/integrations/openclaw/client.js +22 -24
- package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +0 -1
- package/dist/integrations/openclaw/hooks/xray-hooks.js +17 -18
- package/dist/integrations/plugins/plugin-registry.js +5 -5
- package/dist/mcps/architect-tools.server.d.ts +2 -4
- package/dist/mcps/architect-tools.server.js +112 -195
- package/dist/mcps/auto-format.server.d.ts +2 -4
- package/dist/mcps/auto-format.server.js +49 -95
- package/dist/mcps/boot-orchestrator.server.d.ts +2 -4
- package/dist/mcps/boot-orchestrator.server.js +73 -105
- package/dist/mcps/config/server-config-registry.js +3 -3
- package/dist/mcps/enforcer-tools.server.d.ts +2 -4
- package/dist/mcps/enforcer-tools.server.js +202 -285
- package/dist/mcps/estimation.server.d.ts +2 -4
- package/dist/mcps/estimation.server.js +63 -107
- package/dist/mcps/framework-compliance-audit.server.d.ts +2 -4
- package/dist/mcps/framework-compliance-audit.server.js +53 -82
- package/dist/mcps/framework-help.server.d.ts +2 -4
- package/dist/mcps/framework-help.server.js +63 -101
- package/dist/mcps/governance.server.js +2 -2
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/api-design.server.js +35 -67
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +2 -10
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +35 -74
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +143 -162
- package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +3 -4
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +20 -45
- package/dist/mcps/knowledge-skills/code-review.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/code-review.server.js +109 -143
- package/dist/mcps/knowledge-skills/content-creator.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/content-creator.server.js +205 -226
- package/dist/mcps/knowledge-skills/database-design.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/database-design.server.js +117 -151
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +71 -160
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/git-workflow.server.js +36 -68
- package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +303 -324
- package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/log-monitor.server.js +141 -160
- package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/mobile-development.server.js +92 -209
- package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +123 -159
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +2 -5
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +155 -296
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/project-analysis.server.js +75 -226
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +63 -156
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/security-audit.server.js +102 -136
- package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +80 -203
- package/dist/mcps/knowledge-skills/session-management.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/session-management.server.js +50 -203
- package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +168 -347
- package/dist/mcps/knowledge-skills/strategist.server.d.ts +2 -11
- package/dist/mcps/knowledge-skills/strategist.server.js +72 -122
- package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/tech-writer.server.js +87 -300
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +147 -182
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +2 -4
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +78 -153
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +2 -5
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +90 -399
- package/dist/mcps/lint.server.d.ts +2 -4
- package/dist/mcps/lint.server.js +51 -92
- package/dist/mcps/mcp-client.js +2 -2
- package/dist/mcps/model-health-check.server.d.ts +2 -4
- package/dist/mcps/model-health-check.server.js +32 -60
- package/dist/mcps/performance-analysis.server.d.ts +2 -4
- package/dist/mcps/performance-analysis.server.js +57 -88
- package/dist/mcps/processor-pipeline.server.d.ts +2 -4
- package/dist/mcps/processor-pipeline.server.js +69 -100
- package/dist/mcps/registry.json +1 -1
- package/dist/mcps/researcher.server.d.ts +3 -5
- package/dist/mcps/researcher.server.js +81 -154
- package/dist/mcps/security-scan.server.d.ts +2 -4
- package/dist/mcps/security-scan.server.js +54 -96
- package/dist/mcps/shared/knowledge-skill-base.d.ts +14 -0
- package/dist/mcps/shared/knowledge-skill-base.js +45 -0
- package/dist/{security → mcps/shared}/security-scanner.js +1 -1
- package/dist/mcps/state-manager.server.d.ts +2 -4
- package/dist/mcps/state-manager.server.js +115 -160
- package/dist/orchestrator/orchestrator.d.ts +1 -1
- package/dist/orchestrator/orchestrator.js +1 -1
- package/dist/orchestrator/universal-registry-bridge.js +1 -1
- package/dist/plugin/xray-codex-injection.d.ts +1 -1
- package/dist/plugin/xray-codex-injection.js +1 -1
- package/dist/postprocessor/PostProcessor.d.ts +4 -44
- package/dist/postprocessor/PostProcessor.js +39 -553
- package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +11 -0
- package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
- package/dist/postprocessor/compliance/ArchitecturalComplianceChecker.d.ts +11 -0
- package/dist/postprocessor/compliance/ArchitecturalComplianceChecker.js +356 -0
- package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +44 -0
- package/dist/postprocessor/config/ProcessorConfigLoader.js +21 -0
- package/dist/postprocessor/reporting/PostProcessorReporter.d.ts +19 -0
- package/dist/postprocessor/reporting/PostProcessorReporter.js +96 -0
- package/dist/postprocessor/triggers/GitHookTrigger.js +11 -11
- package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +32 -0
- package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +95 -1
- package/dist/processors/processor-manager.js +346 -314
- package/dist/reporting/report-formatter.js +1 -1
- package/dist/security/security-hardener.d.ts +69 -2
- package/dist/security/security-hardener.js +129 -1
- package/dist/skills/registry.json +1 -1
- package/dist/state/index.d.ts +3 -5
- package/dist/state/index.js +1 -7
- package/dist/state/state-manager.d.ts +1 -1
- package/dist/state/state-manager.js +2 -3
- package/package.json +13 -10
- package/scripts/node/universal-version-manager.js +11 -11
- package/src/mcps/architect-tools.server.ts +112 -215
- package/src/mcps/auto-format.server.ts +50 -110
- package/src/mcps/boot-orchestrator.server.ts +75 -121
- package/src/mcps/config/__tests__/server-config-registry.test.ts +21 -12
- package/src/mcps/config/server-config-registry.ts +3 -3
- package/src/mcps/enforcer-tools.server.ts +212 -310
- package/src/mcps/estimation.server.ts +62 -122
- package/src/mcps/framework-compliance-audit.server.ts +52 -97
- package/src/mcps/framework-help.server.ts +64 -114
- package/src/mcps/governance.server.ts +2 -2
- package/src/mcps/knowledge-skills/api-design.server.ts +32 -77
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +31 -87
- package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +165 -193
- package/src/mcps/knowledge-skills/code-analyzer.server.ts +20 -55
- package/src/mcps/knowledge-skills/code-review.server.ts +114 -161
- package/src/mcps/knowledge-skills/content-creator.server.ts +218 -255
- package/src/mcps/knowledge-skills/database-design.server.ts +118 -165
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +67 -172
- package/src/mcps/knowledge-skills/git-workflow.server.ts +32 -77
- package/src/mcps/knowledge-skills/growth-strategist.server.ts +324 -361
- package/src/mcps/knowledge-skills/log-monitor.server.ts +160 -187
- package/src/mcps/knowledge-skills/mobile-development.server.ts +89 -223
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +128 -175
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +156 -329
- package/src/mcps/knowledge-skills/project-analysis.server.ts +72 -248
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +59 -171
- package/src/mcps/knowledge-skills/security-audit.server.ts +104 -151
- package/src/mcps/knowledge-skills/seo-consultant.server.ts +80 -220
- package/src/mcps/knowledge-skills/session-management.server.ts +51 -232
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +165 -372
- package/src/mcps/knowledge-skills/strategist.server.ts +72 -143
- package/src/mcps/knowledge-skills/tech-writer.server.ts +85 -350
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +146 -195
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +75 -161
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +93 -487
- package/src/mcps/lint.server.ts +53 -107
- package/src/mcps/mcp-client.ts +2 -2
- package/src/mcps/model-health-check.server.ts +34 -71
- package/src/mcps/performance-analysis.server.ts +60 -104
- package/src/mcps/processor-pipeline.server.ts +72 -110
- package/src/mcps/registry.json +1 -1
- package/src/mcps/researcher.server.ts +88 -177
- package/src/mcps/security-scan.server.ts +55 -104
- package/src/mcps/shared/knowledge-skill-base.ts +62 -0
- package/src/mcps/shared/prompt-security-validator.ts +199 -0
- package/src/mcps/shared/security-scanner.ts +599 -0
- package/src/mcps/state-manager.server.ts +117 -175
- package/src/opencode/codex.codex +1 -1
- package/src/opencode/commands/dependency-audit.md +3 -3
- package/src/opencode/enforcer-config.json +2 -2
- package/src/skills/registry.json +1 -1
- package/xray/codex.json +1 -1
- package/xray/config.json +1 -1
- package/xray/features.json +1 -1
- package/xray/integrations.json +3 -3
- 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/conftest.py +0 -14
- package/dist/integrations/hermes-agent/test_plugin.py +0 -1103
- package/dist/processors/implementations/refactoring-logging-processor.d.ts +0 -31
- package/dist/processors/implementations/refactoring-logging-processor.js +0 -96
- package/dist/processors/implementations/session-capture-processor.d.ts +0 -14
- package/dist/processors/implementations/session-capture-processor.js +0 -37
- package/dist/scripts/activate-kernel-pipeline.d.ts +0 -7
- package/dist/scripts/activate-kernel-pipeline.js +0 -101
- package/dist/security/index.d.ts +0 -13
- package/dist/security/index.js +0 -13
- package/dist/security/security-agent-coordinator.d.ts +0 -72
- package/dist/security/security-agent-coordinator.js +0 -204
- package/dist/security/security-auditor.d.ts +0 -56
- package/dist/security/security-auditor.js +0 -584
- package/dist/security/security-hardening-system.d.ts +0 -239
- package/dist/security/security-hardening-system.js +0 -727
- package/dist/security/security-orchestration-layer.d.ts +0 -119
- package/dist/security/security-orchestration-layer.js +0 -496
- /package/dist/{security → mcps/shared}/prompt-security-validator.d.ts +0 -0
- /package/dist/{security → mcps/shared}/prompt-security-validator.js +0 -0
- /package/dist/{security → mcps/shared}/security-scanner.d.ts +0 -0
|
@@ -4,18 +4,12 @@
|
|
|
4
4
|
* Advanced initialization orchestration with dependency management and health monitoring
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
|
-
import {
|
|
10
|
-
CallToolRequestSchema,
|
|
11
|
-
ListToolsRequestSchema,
|
|
12
|
-
type CallToolRequest,
|
|
13
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
14
7
|
import { execSync } from "child_process";
|
|
15
8
|
import fs from "fs";
|
|
16
9
|
import path from "path";
|
|
17
10
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
18
11
|
import { resolveLogDir, resolveStateDir } from "../core/config-paths.js";
|
|
12
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
19
13
|
|
|
20
14
|
interface ComponentInitResult {
|
|
21
15
|
success: boolean;
|
|
@@ -92,8 +86,7 @@ interface ShutdownFrameworkArgs {
|
|
|
92
86
|
saveState?: boolean;
|
|
93
87
|
}
|
|
94
88
|
|
|
95
|
-
class XrayBootOrchestratorServer {
|
|
96
|
-
private server: Server;
|
|
89
|
+
class XrayBootOrchestratorServer extends XrayKnowledgeSkillBase {
|
|
97
90
|
private bootStatus: {
|
|
98
91
|
initialized: boolean;
|
|
99
92
|
startTime: number;
|
|
@@ -118,16 +111,7 @@ class XrayBootOrchestratorServer {
|
|
|
118
111
|
];
|
|
119
112
|
|
|
120
113
|
constructor() {
|
|
121
|
-
|
|
122
|
-
{
|
|
123
|
-
name: "boot-orchestrator", version: "2.0.1",
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
capabilities: {
|
|
127
|
-
tools: {},
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
);
|
|
114
|
+
super("boot-orchestrator", "2.0.1");
|
|
131
115
|
|
|
132
116
|
this.bootStatus = {
|
|
133
117
|
initialized: false,
|
|
@@ -140,6 +124,77 @@ class XrayBootOrchestratorServer {
|
|
|
140
124
|
// Initialize dependency map
|
|
141
125
|
this.initializeDependencies();
|
|
142
126
|
|
|
127
|
+
this.tools = [
|
|
128
|
+
{
|
|
129
|
+
name: "execute-boot-sequence",
|
|
130
|
+
description:
|
|
131
|
+
"Execute the complete 0xRay boot sequence with dependency resolution",
|
|
132
|
+
inputSchema: {
|
|
133
|
+
type: "object",
|
|
134
|
+
properties: {
|
|
135
|
+
config: { type: "object" },
|
|
136
|
+
skipHealthChecks: { type: "boolean", default: false },
|
|
137
|
+
parallelInit: { type: "boolean", default: true },
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: "get-boot-status",
|
|
143
|
+
description:
|
|
144
|
+
"Get comprehensive boot orchestrator status and health",
|
|
145
|
+
inputSchema: {
|
|
146
|
+
type: "object",
|
|
147
|
+
properties: {
|
|
148
|
+
detailed: { type: "boolean", default: false },
|
|
149
|
+
component: { type: "string" },
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
name: "initialize-component",
|
|
155
|
+
description: "Initialize a specific framework component",
|
|
156
|
+
inputSchema: {
|
|
157
|
+
type: "object",
|
|
158
|
+
properties: {
|
|
159
|
+
component: {
|
|
160
|
+
type: "string",
|
|
161
|
+
enum: this.bootSequence,
|
|
162
|
+
},
|
|
163
|
+
force: { type: "boolean", default: false },
|
|
164
|
+
},
|
|
165
|
+
required: ["component"],
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: "validate-boot-dependencies",
|
|
170
|
+
description: "Validate all boot dependencies and prerequisites",
|
|
171
|
+
inputSchema: {
|
|
172
|
+
type: "object",
|
|
173
|
+
properties: {
|
|
174
|
+
fix: { type: "boolean", default: false },
|
|
175
|
+
verbose: { type: "boolean", default: false },
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
name: "shutdown-framework",
|
|
181
|
+
description: "Gracefully shutdown framework components",
|
|
182
|
+
inputSchema: {
|
|
183
|
+
type: "object",
|
|
184
|
+
properties: {
|
|
185
|
+
force: { type: "boolean", default: false },
|
|
186
|
+
saveState: { type: "boolean", default: true },
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
];
|
|
191
|
+
this.handlers = {
|
|
192
|
+
"execute-boot-sequence": async (args) => this.handleExecuteBootSequence(args as unknown as ExecuteBootSequenceArgs),
|
|
193
|
+
"get-boot-status": async (args) => this.handleGetBootStatus(args as unknown as GetBootStatusArgs),
|
|
194
|
+
"initialize-component": async (args) => this.handleInitializeComponent(args as unknown as InitializeComponentArgs),
|
|
195
|
+
"validate-boot-dependencies": async (args) => this.handleValidateBootDependencies(args as unknown as ValidateBootDependenciesArgs),
|
|
196
|
+
"shutdown-framework": async (args) => this.handleShutdownFramework(args as unknown as ShutdownFrameworkArgs),
|
|
197
|
+
};
|
|
143
198
|
this.setupToolHandlers();
|
|
144
199
|
void frameworkLogger.log("mcps/boot-orchestrator", "initialize", "info");
|
|
145
200
|
}
|
|
@@ -185,101 +240,6 @@ class XrayBootOrchestratorServer {
|
|
|
185
240
|
]);
|
|
186
241
|
}
|
|
187
242
|
|
|
188
|
-
private setupToolHandlers() {
|
|
189
|
-
// List available tools
|
|
190
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
191
|
-
return {
|
|
192
|
-
tools: [
|
|
193
|
-
{
|
|
194
|
-
name: "execute-boot-sequence",
|
|
195
|
-
description:
|
|
196
|
-
"Execute the complete 0xRay boot sequence with dependency resolution",
|
|
197
|
-
inputSchema: {
|
|
198
|
-
type: "object",
|
|
199
|
-
properties: {
|
|
200
|
-
config: { type: "object" },
|
|
201
|
-
skipHealthChecks: { type: "boolean", default: false },
|
|
202
|
-
parallelInit: { type: "boolean", default: true },
|
|
203
|
-
},
|
|
204
|
-
},
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
name: "get-boot-status",
|
|
208
|
-
description:
|
|
209
|
-
"Get comprehensive boot orchestrator status and health",
|
|
210
|
-
inputSchema: {
|
|
211
|
-
type: "object",
|
|
212
|
-
properties: {
|
|
213
|
-
detailed: { type: "boolean", default: false },
|
|
214
|
-
component: { type: "string" },
|
|
215
|
-
},
|
|
216
|
-
},
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
name: "initialize-component",
|
|
220
|
-
description: "Initialize a specific framework component",
|
|
221
|
-
inputSchema: {
|
|
222
|
-
type: "object",
|
|
223
|
-
properties: {
|
|
224
|
-
component: {
|
|
225
|
-
type: "string",
|
|
226
|
-
enum: this.bootSequence,
|
|
227
|
-
},
|
|
228
|
-
force: { type: "boolean", default: false },
|
|
229
|
-
},
|
|
230
|
-
required: ["component"],
|
|
231
|
-
},
|
|
232
|
-
},
|
|
233
|
-
{
|
|
234
|
-
name: "validate-boot-dependencies",
|
|
235
|
-
description: "Validate all boot dependencies and prerequisites",
|
|
236
|
-
inputSchema: {
|
|
237
|
-
type: "object",
|
|
238
|
-
properties: {
|
|
239
|
-
fix: { type: "boolean", default: false },
|
|
240
|
-
verbose: { type: "boolean", default: false },
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
name: "shutdown-framework",
|
|
246
|
-
description: "Gracefully shutdown framework components",
|
|
247
|
-
inputSchema: {
|
|
248
|
-
type: "object",
|
|
249
|
-
properties: {
|
|
250
|
-
force: { type: "boolean", default: false },
|
|
251
|
-
saveState: { type: "boolean", default: true },
|
|
252
|
-
},
|
|
253
|
-
},
|
|
254
|
-
},
|
|
255
|
-
],
|
|
256
|
-
};
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
// Handle tool calls
|
|
260
|
-
this.server.setRequestHandler(
|
|
261
|
-
CallToolRequestSchema,
|
|
262
|
-
async (request: CallToolRequest) => {
|
|
263
|
-
const { name, arguments: args } = request.params;
|
|
264
|
-
|
|
265
|
-
switch (name) {
|
|
266
|
-
case "execute-boot-sequence":
|
|
267
|
-
return await this.handleExecuteBootSequence(args as unknown as ExecuteBootSequenceArgs);
|
|
268
|
-
case "get-boot-status":
|
|
269
|
-
return await this.handleGetBootStatus(args as unknown as GetBootStatusArgs);
|
|
270
|
-
case "initialize-component":
|
|
271
|
-
return await this.handleInitializeComponent(args as unknown as InitializeComponentArgs);
|
|
272
|
-
case "validate-boot-dependencies":
|
|
273
|
-
return await this.handleValidateBootDependencies(args as unknown as ValidateBootDependenciesArgs);
|
|
274
|
-
case "shutdown-framework":
|
|
275
|
-
return await this.handleShutdownFramework(args as unknown as ShutdownFrameworkArgs);
|
|
276
|
-
default:
|
|
277
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
278
|
-
}
|
|
279
|
-
},
|
|
280
|
-
);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
243
|
private async handleExecuteBootSequence(args: ExecuteBootSequenceArgs) {
|
|
284
244
|
const config = args.config || {};
|
|
285
245
|
const skipHealthChecks = args.skipHealthChecks || false;
|
|
@@ -1065,18 +1025,12 @@ ${results.warnings.length > 0 ? `**Warnings:**\n${results.warnings.map((w: strin
|
|
|
1065
1025
|
|
|
1066
1026
|
return response;
|
|
1067
1027
|
}
|
|
1068
|
-
|
|
1069
|
-
async run() {
|
|
1070
|
-
const transport = new StdioServerTransport();
|
|
1071
|
-
await this.server.connect(transport);
|
|
1072
|
-
frameworkLogger.log("mcps/boot-orchestrator", "start", "success");
|
|
1073
|
-
}
|
|
1074
1028
|
}
|
|
1075
1029
|
|
|
1076
1030
|
// Start the server if run directly
|
|
1077
1031
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1078
1032
|
const server = new XrayBootOrchestratorServer();
|
|
1079
|
-
server.run().catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
|
|
1033
|
+
server.run("boot-orchestrator").catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
|
|
1080
1034
|
}
|
|
1081
1035
|
|
|
1082
1036
|
export { XrayBootOrchestratorServer };
|
|
@@ -164,38 +164,47 @@ describe('ServerConfigRegistry', () => {
|
|
|
164
164
|
expect(config.timeout).toBe(30000);
|
|
165
165
|
});
|
|
166
166
|
|
|
167
|
-
it('should use
|
|
168
|
-
const
|
|
169
|
-
|
|
167
|
+
it('should use XRAY_DEV_PATH env var in dynamic config', () => {
|
|
168
|
+
const originalXrayEnv = process.env.XRAY_DEV_PATH;
|
|
169
|
+
const originalStrrayEnv = ;
|
|
170
|
+
process.env.XRAY_DEV_PATH = 'custom-dist';
|
|
171
|
+
= 'custom-dist';
|
|
170
172
|
|
|
171
173
|
const config = registry.createDynamicConfig('test-server');
|
|
172
174
|
expect(config.args[0]).toContain('custom-dist');
|
|
173
175
|
|
|
174
|
-
process.env.
|
|
176
|
+
process.env.XRAY_DEV_PATH = originalXrayEnv;
|
|
177
|
+
= originalStrrayEnv;
|
|
175
178
|
});
|
|
176
179
|
});
|
|
177
180
|
|
|
178
181
|
describe('environment path handling', () => {
|
|
179
|
-
it('should use resolved framework path when
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
+
it('should use resolved framework path when XRAY_DEV_PATH is not set', () => {
|
|
183
|
+
const originalXrayEnv = process.env.XRAY_DEV_PATH;
|
|
184
|
+
const originalStrrayEnv = ;
|
|
185
|
+
delete process.env.XRAY_DEV_PATH;
|
|
186
|
+
delete ;
|
|
182
187
|
|
|
183
188
|
const freshRegistry = new ServerConfigRegistry();
|
|
184
189
|
const config = freshRegistry.get('code-review');
|
|
185
190
|
expect(config?.args[0]).toContain('.server.js');
|
|
186
191
|
|
|
187
|
-
process.env.
|
|
192
|
+
process.env.XRAY_DEV_PATH = originalXrayEnv;
|
|
193
|
+
= originalStrrayEnv;
|
|
188
194
|
});
|
|
189
195
|
|
|
190
|
-
it('should use
|
|
191
|
-
const
|
|
192
|
-
|
|
196
|
+
it('should use XRAY_DEV_PATH when set', () => {
|
|
197
|
+
const originalXrayEnv = process.env.XRAY_DEV_PATH;
|
|
198
|
+
const originalStrrayEnv = ;
|
|
199
|
+
process.env.XRAY_DEV_PATH = 'dist';
|
|
200
|
+
= 'dist';
|
|
193
201
|
|
|
194
202
|
const freshRegistry = new ServerConfigRegistry();
|
|
195
203
|
const config = freshRegistry.get('code-review');
|
|
196
204
|
expect(config?.args[0]).toContain('dist/');
|
|
197
205
|
|
|
198
|
-
process.env.
|
|
206
|
+
process.env.XRAY_DEV_PATH = originalXrayEnv;
|
|
207
|
+
= originalStrrayEnv;
|
|
199
208
|
});
|
|
200
209
|
});
|
|
201
210
|
|
|
@@ -20,14 +20,14 @@ import fs from 'fs';
|
|
|
20
20
|
/**
|
|
21
21
|
* Resolve the correct framework root and MCP servers path.
|
|
22
22
|
* Priority:
|
|
23
|
-
* 1.
|
|
23
|
+
* 1. XRAY_DEV_PATH env var (explicit dev override)
|
|
24
24
|
* 2. The "xray" field in the nearest package.json that declares it (works in both source tree and installed package)
|
|
25
25
|
* 3. Safe fallback to node_modules/0xray/dist
|
|
26
26
|
*/
|
|
27
27
|
function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: string } {
|
|
28
28
|
// Highest priority: explicit environment override
|
|
29
|
-
if (process.env.
|
|
30
|
-
const devPath = process.env.
|
|
29
|
+
if (process.env.XRAY_DEV_PATH) {
|
|
30
|
+
const devPath: string = process.env.XRAY_DEV_PATH || "";
|
|
31
31
|
return {
|
|
32
32
|
frameworkRoot: devPath,
|
|
33
33
|
mcpServersPath: join(devPath, 'mcps'),
|