0xray 2.1.1 → 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 +3 -2
- package/README.md +12 -11
- package/dist/AGENTS.md +3 -2
- 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 +14 -10
- package/scripts/node/setup.cjs +32 -0
- 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/agents_template.md +109 -0
- package/xray/codex.json +598 -0
- package/xray/config.json +26 -0
- package/xray/features.json +132 -0
- package/xray/integrations.json +23 -0
- package/xray/routing-mappings.json +752 -0
- package/xray/workflow_state.json +28 -0
- 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
|
@@ -3,104 +3,63 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Automated code formatting hook with Prettier and framework-specific formatters
|
|
5
5
|
*/
|
|
6
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
7
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
8
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
9
6
|
import { execFileSync } from "child_process";
|
|
10
7
|
import fs from "fs";
|
|
11
8
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
10
|
+
class XrayAutoFormatServer extends XrayKnowledgeSkillBase {
|
|
14
11
|
constructor() {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
28
|
-
return {
|
|
29
|
-
tools: [
|
|
30
|
-
{
|
|
31
|
-
name: "auto-format",
|
|
32
|
-
description: "Automated code formatting hook with Prettier and framework-specific formatters",
|
|
33
|
-
inputSchema: {
|
|
34
|
-
type: "object",
|
|
35
|
-
properties: {
|
|
36
|
-
files: {
|
|
37
|
-
type: "array",
|
|
38
|
-
items: { type: "string" },
|
|
39
|
-
description: "Specific files to format (optional - formats all if empty)",
|
|
40
|
-
},
|
|
41
|
-
formatters: {
|
|
42
|
-
type: "array",
|
|
43
|
-
items: {
|
|
44
|
-
type: "string",
|
|
45
|
-
enum: ["prettier", "eslint", "typescript", "all"],
|
|
46
|
-
},
|
|
47
|
-
default: ["all"],
|
|
48
|
-
description: "Formatters to apply",
|
|
49
|
-
},
|
|
50
|
-
checkOnly: {
|
|
51
|
-
type: "boolean",
|
|
52
|
-
default: false,
|
|
53
|
-
description: "Only check formatting without applying changes",
|
|
54
|
-
},
|
|
55
|
-
},
|
|
12
|
+
super("auto-format", "2.0.1");
|
|
13
|
+
this.tools = [
|
|
14
|
+
{
|
|
15
|
+
name: "auto-format",
|
|
16
|
+
description: "Automated code formatting hook with Prettier and framework-specific formatters",
|
|
17
|
+
inputSchema: {
|
|
18
|
+
type: "object",
|
|
19
|
+
properties: {
|
|
20
|
+
files: {
|
|
21
|
+
type: "array",
|
|
22
|
+
items: { type: "string" },
|
|
23
|
+
description: "Specific files to format (optional - formats all if empty)",
|
|
56
24
|
},
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
type: "object",
|
|
63
|
-
properties: {
|
|
64
|
-
files: {
|
|
65
|
-
type: "array",
|
|
66
|
-
items: { type: "string" },
|
|
67
|
-
description: "Files to check formatting for",
|
|
68
|
-
},
|
|
25
|
+
formatters: {
|
|
26
|
+
type: "array",
|
|
27
|
+
items: {
|
|
28
|
+
type: "string",
|
|
29
|
+
enum: ["prettier", "eslint", "typescript", "all"],
|
|
69
30
|
},
|
|
31
|
+
default: ["all"],
|
|
32
|
+
description: "Formatters to apply",
|
|
33
|
+
},
|
|
34
|
+
checkOnly: {
|
|
35
|
+
type: "boolean",
|
|
36
|
+
default: false,
|
|
37
|
+
description: "Only check formatting without applying changes",
|
|
70
38
|
},
|
|
71
39
|
},
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
default:
|
|
85
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
frameworkLogger.log("mcps/auto-format", "tool-call", "error", {
|
|
90
|
-
tool: name,
|
|
91
|
-
error: String(error),
|
|
92
|
-
});
|
|
93
|
-
return {
|
|
94
|
-
content: [
|
|
95
|
-
{
|
|
96
|
-
type: "text",
|
|
97
|
-
text: `Error executing tool '${name}': ${error instanceof Error ? error.message : String(error)}`,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "format-check",
|
|
44
|
+
description: "Check if code is properly formatted without making changes",
|
|
45
|
+
inputSchema: {
|
|
46
|
+
type: "object",
|
|
47
|
+
properties: {
|
|
48
|
+
files: {
|
|
49
|
+
type: "array",
|
|
50
|
+
items: { type: "string" },
|
|
51
|
+
description: "Files to check formatting for",
|
|
98
52
|
},
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
this.handlers = {
|
|
58
|
+
"auto-format": async (args) => this.handleAutoFormat(args),
|
|
59
|
+
"format-check": async (args) => this.handleFormatCheck(args),
|
|
60
|
+
};
|
|
61
|
+
this.setupToolHandlers();
|
|
62
|
+
frameworkLogger.log("mcps/auto-format", "initialize", "info");
|
|
104
63
|
}
|
|
105
64
|
async handleAutoFormat(args) {
|
|
106
65
|
const files = args.files || [];
|
|
@@ -399,15 +358,10 @@ ${checkResults.details.map((d) => `• ${d}`).join("\n")}
|
|
|
399
358
|
- Errors: ${errorCount}
|
|
400
359
|
- Formatters Applied: ${Object.keys(results.changes).length}`;
|
|
401
360
|
}
|
|
402
|
-
async run() {
|
|
403
|
-
const transport = new StdioServerTransport();
|
|
404
|
-
await this.server.connect(transport);
|
|
405
|
-
frameworkLogger.log("mcps/auto-format", "start", "info");
|
|
406
|
-
}
|
|
407
361
|
}
|
|
408
362
|
// Start the server if run directly
|
|
409
363
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
410
364
|
const server = new XrayAutoFormatServer();
|
|
411
|
-
server.run().catch((error) => frameworkLogger.log("mcps/auto-format", "run", "error", { error: String(error) }));
|
|
365
|
+
server.run("auto-format").catch((error) => frameworkLogger.log("mcps/auto-format", "run", "error", { error: String(error) }));
|
|
412
366
|
}
|
|
413
367
|
export { XrayAutoFormatServer };
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Advanced initialization orchestration with dependency management and health monitoring
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
7
|
+
declare class XrayBootOrchestratorServer extends XrayKnowledgeSkillBase {
|
|
8
8
|
private bootStatus;
|
|
9
9
|
private bootSequence;
|
|
10
10
|
constructor();
|
|
11
11
|
private initializeDependencies;
|
|
12
|
-
private setupToolHandlers;
|
|
13
12
|
private handleExecuteBootSequence;
|
|
14
13
|
private handleGetBootStatus;
|
|
15
14
|
private handleInitializeComponent;
|
|
@@ -44,6 +43,5 @@ declare class XrayBootOrchestratorServer {
|
|
|
44
43
|
private formatBootResults;
|
|
45
44
|
private formatComponentStatus;
|
|
46
45
|
private formatOverallStatus;
|
|
47
|
-
run(): Promise<void>;
|
|
48
46
|
}
|
|
49
47
|
export { XrayBootOrchestratorServer };
|
|
@@ -3,16 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Advanced initialization orchestration with dependency management and health monitoring
|
|
5
5
|
*/
|
|
6
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
7
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
8
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
9
6
|
import { execSync } from "child_process";
|
|
10
7
|
import fs from "fs";
|
|
11
8
|
import path from "path";
|
|
12
9
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
13
10
|
import { resolveLogDir, resolveStateDir } from "../core/config-paths.js";
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
12
|
+
class XrayBootOrchestratorServer extends XrayKnowledgeSkillBase {
|
|
16
13
|
bootStatus;
|
|
17
14
|
// Boot sequence in dependency order
|
|
18
15
|
bootSequence = [
|
|
@@ -29,13 +26,7 @@ class XrayBootOrchestratorServer {
|
|
|
29
26
|
"framework-hooks",
|
|
30
27
|
];
|
|
31
28
|
constructor() {
|
|
32
|
-
|
|
33
|
-
name: "boot-orchestrator", version: "2.0.1",
|
|
34
|
-
}, {
|
|
35
|
-
capabilities: {
|
|
36
|
-
tools: {},
|
|
37
|
-
},
|
|
38
|
-
});
|
|
29
|
+
super("boot-orchestrator", "2.0.1");
|
|
39
30
|
this.bootStatus = {
|
|
40
31
|
initialized: false,
|
|
41
32
|
startTime: Date.now(),
|
|
@@ -45,6 +36,75 @@ class XrayBootOrchestratorServer {
|
|
|
45
36
|
};
|
|
46
37
|
// Initialize dependency map
|
|
47
38
|
this.initializeDependencies();
|
|
39
|
+
this.tools = [
|
|
40
|
+
{
|
|
41
|
+
name: "execute-boot-sequence",
|
|
42
|
+
description: "Execute the complete 0xRay boot sequence with dependency resolution",
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: "object",
|
|
45
|
+
properties: {
|
|
46
|
+
config: { type: "object" },
|
|
47
|
+
skipHealthChecks: { type: "boolean", default: false },
|
|
48
|
+
parallelInit: { type: "boolean", default: true },
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "get-boot-status",
|
|
54
|
+
description: "Get comprehensive boot orchestrator status and health",
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: "object",
|
|
57
|
+
properties: {
|
|
58
|
+
detailed: { type: "boolean", default: false },
|
|
59
|
+
component: { type: "string" },
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "initialize-component",
|
|
65
|
+
description: "Initialize a specific framework component",
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: "object",
|
|
68
|
+
properties: {
|
|
69
|
+
component: {
|
|
70
|
+
type: "string",
|
|
71
|
+
enum: this.bootSequence,
|
|
72
|
+
},
|
|
73
|
+
force: { type: "boolean", default: false },
|
|
74
|
+
},
|
|
75
|
+
required: ["component"],
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: "validate-boot-dependencies",
|
|
80
|
+
description: "Validate all boot dependencies and prerequisites",
|
|
81
|
+
inputSchema: {
|
|
82
|
+
type: "object",
|
|
83
|
+
properties: {
|
|
84
|
+
fix: { type: "boolean", default: false },
|
|
85
|
+
verbose: { type: "boolean", default: false },
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "shutdown-framework",
|
|
91
|
+
description: "Gracefully shutdown framework components",
|
|
92
|
+
inputSchema: {
|
|
93
|
+
type: "object",
|
|
94
|
+
properties: {
|
|
95
|
+
force: { type: "boolean", default: false },
|
|
96
|
+
saveState: { type: "boolean", default: true },
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
];
|
|
101
|
+
this.handlers = {
|
|
102
|
+
"execute-boot-sequence": async (args) => this.handleExecuteBootSequence(args),
|
|
103
|
+
"get-boot-status": async (args) => this.handleGetBootStatus(args),
|
|
104
|
+
"initialize-component": async (args) => this.handleInitializeComponent(args),
|
|
105
|
+
"validate-boot-dependencies": async (args) => this.handleValidateBootDependencies(args),
|
|
106
|
+
"shutdown-framework": async (args) => this.handleShutdownFramework(args),
|
|
107
|
+
};
|
|
48
108
|
this.setupToolHandlers();
|
|
49
109
|
void frameworkLogger.log("mcps/boot-orchestrator", "initialize", "info");
|
|
50
110
|
}
|
|
@@ -88,93 +148,6 @@ class XrayBootOrchestratorServer {
|
|
|
88
148
|
"orchestrator",
|
|
89
149
|
]);
|
|
90
150
|
}
|
|
91
|
-
setupToolHandlers() {
|
|
92
|
-
// List available tools
|
|
93
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
94
|
-
return {
|
|
95
|
-
tools: [
|
|
96
|
-
{
|
|
97
|
-
name: "execute-boot-sequence",
|
|
98
|
-
description: "Execute the complete 0xRay boot sequence with dependency resolution",
|
|
99
|
-
inputSchema: {
|
|
100
|
-
type: "object",
|
|
101
|
-
properties: {
|
|
102
|
-
config: { type: "object" },
|
|
103
|
-
skipHealthChecks: { type: "boolean", default: false },
|
|
104
|
-
parallelInit: { type: "boolean", default: true },
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
name: "get-boot-status",
|
|
110
|
-
description: "Get comprehensive boot orchestrator status and health",
|
|
111
|
-
inputSchema: {
|
|
112
|
-
type: "object",
|
|
113
|
-
properties: {
|
|
114
|
-
detailed: { type: "boolean", default: false },
|
|
115
|
-
component: { type: "string" },
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: "initialize-component",
|
|
121
|
-
description: "Initialize a specific framework component",
|
|
122
|
-
inputSchema: {
|
|
123
|
-
type: "object",
|
|
124
|
-
properties: {
|
|
125
|
-
component: {
|
|
126
|
-
type: "string",
|
|
127
|
-
enum: this.bootSequence,
|
|
128
|
-
},
|
|
129
|
-
force: { type: "boolean", default: false },
|
|
130
|
-
},
|
|
131
|
-
required: ["component"],
|
|
132
|
-
},
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
name: "validate-boot-dependencies",
|
|
136
|
-
description: "Validate all boot dependencies and prerequisites",
|
|
137
|
-
inputSchema: {
|
|
138
|
-
type: "object",
|
|
139
|
-
properties: {
|
|
140
|
-
fix: { type: "boolean", default: false },
|
|
141
|
-
verbose: { type: "boolean", default: false },
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
name: "shutdown-framework",
|
|
147
|
-
description: "Gracefully shutdown framework components",
|
|
148
|
-
inputSchema: {
|
|
149
|
-
type: "object",
|
|
150
|
-
properties: {
|
|
151
|
-
force: { type: "boolean", default: false },
|
|
152
|
-
saveState: { type: "boolean", default: true },
|
|
153
|
-
},
|
|
154
|
-
},
|
|
155
|
-
},
|
|
156
|
-
],
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
// Handle tool calls
|
|
160
|
-
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
161
|
-
const { name, arguments: args } = request.params;
|
|
162
|
-
switch (name) {
|
|
163
|
-
case "execute-boot-sequence":
|
|
164
|
-
return await this.handleExecuteBootSequence(args);
|
|
165
|
-
case "get-boot-status":
|
|
166
|
-
return await this.handleGetBootStatus(args);
|
|
167
|
-
case "initialize-component":
|
|
168
|
-
return await this.handleInitializeComponent(args);
|
|
169
|
-
case "validate-boot-dependencies":
|
|
170
|
-
return await this.handleValidateBootDependencies(args);
|
|
171
|
-
case "shutdown-framework":
|
|
172
|
-
return await this.handleShutdownFramework(args);
|
|
173
|
-
default:
|
|
174
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
151
|
async handleExecuteBootSequence(args) {
|
|
179
152
|
const config = args.config || {};
|
|
180
153
|
const skipHealthChecks = args.skipHealthChecks || false;
|
|
@@ -839,15 +812,10 @@ ${results.warnings.length > 0 ? `**Warnings:**\n${results.warnings.map((w) => `
|
|
|
839
812
|
}
|
|
840
813
|
return response;
|
|
841
814
|
}
|
|
842
|
-
async run() {
|
|
843
|
-
const transport = new StdioServerTransport();
|
|
844
|
-
await this.server.connect(transport);
|
|
845
|
-
frameworkLogger.log("mcps/boot-orchestrator", "start", "success");
|
|
846
|
-
}
|
|
847
815
|
}
|
|
848
816
|
// Start the server if run directly
|
|
849
817
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
850
818
|
const server = new XrayBootOrchestratorServer();
|
|
851
|
-
server.run().catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
|
|
819
|
+
server.run("boot-orchestrator").catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
|
|
852
820
|
}
|
|
853
821
|
export { XrayBootOrchestratorServer };
|
|
@@ -16,14 +16,14 @@ import fs from 'fs';
|
|
|
16
16
|
/**
|
|
17
17
|
* Resolve the correct framework root and MCP servers path.
|
|
18
18
|
* Priority:
|
|
19
|
-
* 1.
|
|
19
|
+
* 1. XRAY_DEV_PATH env var (explicit dev override)
|
|
20
20
|
* 2. The "xray" field in the nearest package.json that declares it (works in both source tree and installed package)
|
|
21
21
|
* 3. Safe fallback to node_modules/0xray/dist
|
|
22
22
|
*/
|
|
23
23
|
function resolveFrameworkPaths() {
|
|
24
24
|
// Highest priority: explicit environment override
|
|
25
|
-
if (process.env.
|
|
26
|
-
const devPath = process.env.
|
|
25
|
+
if (process.env.XRAY_DEV_PATH) {
|
|
26
|
+
const devPath = process.env.XRAY_DEV_PATH || "";
|
|
27
27
|
return {
|
|
28
28
|
frameworkRoot: devPath,
|
|
29
29
|
mcpServersPath: join(devPath, 'mcps'),
|
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* Converts enforcer-tools.ts functions into MCP server tools
|
|
5
5
|
* Provides rule enforcement and validation capabilities via MCP protocol
|
|
6
6
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
8
|
+
declare class XrayEnforcerToolsServer extends XrayKnowledgeSkillBase {
|
|
9
9
|
constructor();
|
|
10
|
-
private setupToolHandlers;
|
|
11
10
|
private ruleValidation;
|
|
12
11
|
private codexEnforcement;
|
|
13
12
|
private contextAnalysisValidation;
|
|
@@ -21,7 +20,6 @@ declare class XrayEnforcerToolsServer {
|
|
|
21
20
|
private performQualityGateCheck;
|
|
22
21
|
private simulateEnforcementStatus;
|
|
23
22
|
private performPreCommitValidation;
|
|
24
|
-
run(): Promise<void>;
|
|
25
23
|
private securityScan;
|
|
26
24
|
}
|
|
27
25
|
export default XrayEnforcerToolsServer;
|