0xray 3.1.0 → 3.1.1
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/.gitignore.default +59 -0
- package/.mcp.json +35 -0
- package/.opencode/codex.codex +1 -1
- package/.opencode/commands/dependency-audit.md +3 -3
- package/.opencode/commands/summary-logger.md +4 -4
- package/.opencode/enforcer-config.json +2 -2
- package/.opencode/hooks/post-commit +1 -1
- package/.opencode/init.sh +6 -0
- package/.plugin/plugin.json +11 -0
- package/AGENTS-consumer.md +46 -0
- package/AGENTS.md +8 -8
- package/LICENSE +1 -1
- package/README.md +8 -8
- package/SKILLS.md +140 -0
- package/dist/.gitignore.default +59 -0
- package/dist/AGENTS.md +8 -8
- package/dist/CHANGELOG.md +25 -0
- package/dist/LICENSE +1 -1
- package/dist/README.md +8 -8
- package/dist/SKILLS.md +140 -0
- package/dist/agents/index.js +3 -1
- package/dist/agents/registry.js +13 -0
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/architect/architectural-integrity.js +3 -3
- package/dist/benchmark/performance-benchmark.js +1 -2
- package/dist/cli/commands/antigravity-status.js +23 -23
- package/dist/cli/commands/credible-init.js +1 -1
- package/dist/cli/commands/hermes-install.js +8 -0
- package/dist/cli/commands/mcp-install.js +1 -1
- package/dist/cli/commands/openclaw-install.js +9 -0
- package/dist/cli/commands/opencode-install.js +22 -0
- package/dist/cli/commands/skill-install.js +39 -2
- package/dist/cli/commands/status.js +5 -0
- package/dist/cli/commands/storyteller.js +1 -1
- package/dist/cli/index.js +12 -6
- package/dist/core/activity-logger.js +4 -4
- package/dist/core/agent-spawn-gate.js +1 -1
- package/dist/core/boot-orchestrator.js +12 -13
- package/dist/core/bridge.mjs +4 -4
- package/dist/core/codex-formatter.js +1 -2
- package/dist/core/codex-injector.js +3 -3
- package/dist/core/config-loader.js +1 -2
- package/dist/core/config-paths.js +30 -23
- package/dist/core/context-loader.js +0 -3
- package/dist/core/features-config.js +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/logging-config.js +7 -7
- package/dist/core/orchestrator.js +1 -1
- package/dist/core/xray-activation.js +3 -4
- package/dist/delegation/agent-delegator.js +2 -2
- package/dist/enforcement/enforcer-tools.js +2 -2
- package/dist/enforcement/loaders/codex-loader.js +2 -2
- package/dist/execution/opencode-cli-invoker.js +1 -1
- package/dist/governance/governance-service.js +1 -1
- package/dist/governance/llm-governance-provider.js +14 -1
- package/dist/index.js +3 -5
- package/dist/inference/inference-cycle.js +11 -11
- package/dist/integrations/base/README.md +1 -1
- package/dist/integrations/enforcement-gate.js +2 -2
- package/dist/integrations/governance/index.js +1 -1
- package/dist/integrations/grok/grok-cli.js +20 -6
- package/dist/integrations/grok/hooks/pre-tool-use.js +3 -3
- package/dist/integrations/grok/plugin/0xray/.mcp.json +16 -4
- package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/dist/integrations/hermes-agent/__init__.py +25 -14
- package/dist/integrations/hermes-agent/bridge.mjs +39 -4
- package/dist/integrations/hermes-agent/schemas.py +49 -0
- package/dist/integrations/hermes-agent/test_plugin.py +7 -7
- package/dist/integrations/hermes-agent/tools.py +107 -3
- package/dist/integrations/openclaw/README.md +6 -6
- package/dist/integrations/openclaw/config.js +1 -1
- package/dist/integrations/openclaw/index.js +2 -2
- package/dist/integrations/openclaw/types.js +3 -3
- package/dist/integrations/plugins/plugin-integration.js +1 -1
- package/dist/integrations/plugins/plugin-registry.js +1 -1
- package/dist/mcps/architect-tools.server.js +3 -2
- package/dist/mcps/auto-format.server.js +2 -2
- package/dist/mcps/boot-orchestrator.server.js +2 -2
- package/dist/mcps/config/config-loader.js +40 -9
- package/dist/mcps/enforcer-tools.server.js +2 -2
- package/dist/mcps/estimation.server.js +3 -2
- package/dist/mcps/framework-compliance-audit.server.js +2 -2
- package/dist/mcps/framework-help.server.js +3 -2
- package/dist/mcps/governance.server.js +8 -4
- package/dist/mcps/knowledge-skills/api-design.server.js +3 -2
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +3 -2
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +3 -3
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +2 -2
- package/dist/mcps/knowledge-skills/code-review.server.js +2 -2
- package/dist/mcps/knowledge-skills/content-creator.server.js +3 -3
- package/dist/mcps/knowledge-skills/database-design.server.js +2 -2
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +3 -2
- package/dist/mcps/knowledge-skills/git-workflow.server.js +3 -2
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +3 -3
- package/dist/mcps/knowledge-skills/log-monitor.server.js +3 -3
- package/dist/mcps/knowledge-skills/mobile-development.server.js +3 -3
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +3 -3
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +2 -2
- package/dist/mcps/knowledge-skills/project-analysis.server.js +2 -2
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +3 -2
- package/dist/mcps/knowledge-skills/security-audit.server.js +2 -2
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +3 -2
- package/dist/mcps/knowledge-skills/session-management.server.js +3 -2
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +105 -3
- package/dist/mcps/knowledge-skills/strategist.server.js +3 -3
- package/dist/mcps/knowledge-skills/tech-writer.server.js +3 -3
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +3 -2
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +2 -2
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +3 -2
- package/dist/mcps/lint.server.js +2 -2
- package/dist/mcps/model-health-check.server.js +3 -2
- package/dist/mcps/orchestrator/server.js +2 -1
- package/dist/mcps/orchestrator.server.js +2 -1
- package/dist/mcps/performance-analysis.server.js +2 -2
- package/dist/mcps/processor-pipeline.server.js +3 -2
- package/dist/mcps/registry.json +1 -1
- package/dist/mcps/researcher.server.js +2 -2
- package/dist/mcps/security-scan.server.js +2 -2
- package/dist/mcps/state-manager.server.js +5 -5
- package/dist/metrics/agent-metrics.js +1 -1
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
- package/dist/orchestrator/intelligent-commit-batcher.js +0 -1
- package/dist/orchestrator/multi-agent-orchestration-coordinator.js +1 -1
- package/dist/orchestrator/orchestrator.js +1 -2
- package/dist/orchestrator/universal-registry-bridge.js +1 -1
- package/dist/postprocessor/PostProcessor.js +5 -5
- package/dist/postprocessor/services/RegressionAnalysisService.js +2 -2
- package/dist/postprocessor/triggers/GitHookTrigger.js +4 -4
- package/dist/processors/implementations/inference-improvement-processor.js +0 -1
- package/dist/processors/implementations/publish-preflight-processor.js +0 -1
- package/dist/processors/implementations/session-summary-processor.js +2 -2
- package/dist/processors/implementations/storytelling-trigger-processor.js +0 -1
- 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 +1 -1
- package/dist/skills/api-design/SKILL.md +1 -1
- package/dist/skills/architect-tools/SKILL.md +1 -1
- package/dist/skills/architecture-patterns/SKILL.md +1 -1
- package/dist/skills/auto-format/SKILL.md +1 -1
- package/dist/skills/boot-orchestrator/SKILL.md +1 -1
- package/dist/skills/bug-triage/SKILL.md +1 -1
- package/dist/skills/code-analyzer/SKILL.md +1 -1
- package/dist/skills/code-review/SKILL.md +1 -1
- package/dist/skills/enforcer/SKILL.md +1 -1
- package/dist/skills/framework-compliance-audit/SKILL.md +1 -1
- package/dist/skills/git-workflow/SKILL.md +1 -1
- package/dist/skills/hermes-agent/SKILL.md +2 -2
- package/dist/skills/inference-improve/SKILL.md +1 -1
- package/dist/skills/lint/SKILL.md +1 -1
- package/dist/skills/log-monitor/SKILL.md +1 -1
- package/dist/skills/model-health-check/SKILL.md +1 -1
- package/dist/skills/multimodal-looker/SKILL.md +1 -1
- package/dist/skills/orchestrator/SKILL.md +1 -1
- package/dist/skills/performance-analysis/SKILL.md +1 -1
- package/dist/skills/performance-optimization/SKILL.md +1 -1
- package/dist/skills/processor-pipeline/SKILL.md +1 -1
- package/dist/skills/project-analysis/SKILL.md +1 -1
- package/dist/skills/refactoring-strategies/SKILL.md +1 -1
- package/dist/skills/registry.json +1 -1
- package/dist/skills/researcher/SKILL.md +1 -1
- package/dist/skills/security-audit/SKILL.md +1 -1
- package/dist/skills/security-scan/SKILL.md +1 -1
- package/dist/skills/session-management/SKILL.md +1 -1
- package/dist/skills/state-manager/SKILL.md +1 -1
- package/dist/skills/storyteller/SKILL.md +1 -1
- package/dist/skills/testing-best-practices/SKILL.md +1 -1
- package/dist/skills/testing-strategy/SKILL.md +1 -1
- package/dist/skills/ui-ux-design/SKILL.md +1 -1
- package/dist/state/index.js +0 -1
- package/dist/state/state-manager.js +1 -2
- package/dist/utils/import-resolver.js +1 -1
- package/dist/utils/path-resolver.js +2 -2
- package/package.json +10 -3
- package/scripts/hooks/pre-command +1 -1
- package/scripts/hooks/run-hook.js +2 -2
- package/scripts/node/auto-reflection-generator.mjs +30 -36
- package/scripts/node/govern-reflection.mjs +1 -1
- package/scripts/node/postinstall.cjs +37 -2
- package/scripts/node/setup-xai-oauth.mjs +244 -0
- package/scripts/node/universal-version-manager.js +8 -8
- package/scripts/node/version-manager.mjs +1 -1
- package/src/integrations/grok/plugin/0xray/.mcp.json +16 -4
- package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/src/mcps/architect-tools.server.ts +2 -2
- package/src/mcps/auto-format.server.ts +2 -2
- package/src/mcps/boot-orchestrator.server.ts +2 -2
- package/src/mcps/config/__tests__/config-loader.test.ts +29 -33
- package/src/mcps/config/config-loader.ts +50 -11
- package/src/mcps/enforcer-tools.server.ts +2 -2
- package/src/mcps/estimation.server.ts +3 -2
- package/src/mcps/framework-compliance-audit.server.ts +2 -2
- package/src/mcps/framework-help.server.ts +3 -2
- package/src/mcps/governance.server.ts +8 -3
- package/src/mcps/knowledge-skills/api-design.server.ts +3 -2
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +2 -2
- package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +2 -2
- package/src/mcps/knowledge-skills/code-analyzer.server.ts +2 -2
- package/src/mcps/knowledge-skills/code-review.server.ts +2 -2
- package/src/mcps/knowledge-skills/content-creator.server.ts +3 -3
- package/src/mcps/knowledge-skills/database-design.server.ts +2 -2
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +3 -2
- package/src/mcps/knowledge-skills/git-workflow.server.ts +3 -2
- package/src/mcps/knowledge-skills/growth-strategist.server.ts +3 -3
- package/src/mcps/knowledge-skills/log-monitor.server.ts +3 -3
- package/src/mcps/knowledge-skills/mobile-development.server.ts +3 -3
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +3 -3
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +2 -2
- package/src/mcps/knowledge-skills/project-analysis.server.ts +2 -2
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +3 -2
- package/src/mcps/knowledge-skills/security-audit.server.ts +2 -2
- package/src/mcps/knowledge-skills/seo-consultant.server.ts +3 -2
- package/src/mcps/knowledge-skills/session-management.server.ts +3 -2
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +113 -3
- package/src/mcps/knowledge-skills/strategist.server.ts +3 -3
- package/src/mcps/knowledge-skills/tech-writer.server.ts +3 -3
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +3 -2
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +2 -2
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +3 -2
- package/src/mcps/lint.server.ts +2 -2
- package/src/mcps/model-health-check.server.ts +2 -2
- package/src/mcps/orchestrator/server.ts +2 -1
- package/src/mcps/orchestrator.server.ts +2 -1
- package/src/mcps/performance-analysis.server.ts +2 -2
- package/src/mcps/processor-pipeline.server.ts +3 -2
- package/src/mcps/registry.json +1 -1
- package/src/mcps/researcher.server.ts +2 -2
- package/src/mcps/security-scan.server.ts +2 -2
- package/src/mcps/state-manager.server.ts +5 -5
- package/src/opencode/codex.codex +1 -1
- package/src/opencode/commands/dependency-audit.md +3 -3
- package/src/opencode/commands/summary-logger.md +4 -4
- package/src/opencode/enforcer-config.json +2 -2
- package/src/skills/api-design/SKILL.md +1 -1
- package/src/skills/architect-tools/SKILL.md +1 -1
- package/src/skills/architecture-patterns/SKILL.md +1 -1
- package/src/skills/auto-format/SKILL.md +1 -1
- package/src/skills/boot-orchestrator/SKILL.md +1 -1
- package/src/skills/bug-triage/SKILL.md +1 -1
- package/src/skills/code-analyzer/SKILL.md +1 -1
- package/src/skills/code-review/SKILL.md +1 -1
- package/src/skills/enforcer/SKILL.md +1 -1
- package/src/skills/framework-compliance-audit/SKILL.md +1 -1
- package/src/skills/git-workflow/SKILL.md +1 -1
- package/src/skills/hermes-agent/SKILL.md +2 -2
- package/src/skills/inference-improve/SKILL.md +1 -1
- package/src/skills/lint/SKILL.md +1 -1
- package/src/skills/log-monitor/SKILL.md +1 -1
- package/src/skills/model-health-check/SKILL.md +1 -1
- package/src/skills/multimodal-looker/SKILL.md +1 -1
- package/src/skills/orchestrator/SKILL.md +1 -1
- package/src/skills/performance-analysis/SKILL.md +1 -1
- package/src/skills/performance-optimization/SKILL.md +1 -1
- package/src/skills/processor-pipeline/SKILL.md +1 -1
- package/src/skills/project-analysis/SKILL.md +1 -1
- package/src/skills/refactoring-strategies/SKILL.md +1 -1
- package/src/skills/registry.json +1 -1
- package/src/skills/researcher/SKILL.md +1 -1
- package/src/skills/security-audit/SKILL.md +1 -1
- package/src/skills/security-scan/SKILL.md +1 -1
- package/src/skills/session-management/SKILL.md +1 -1
- package/src/skills/state-manager/SKILL.md +1 -1
- package/src/skills/storyteller/SKILL.md +1 -1
- package/src/skills/testing-best-practices/SKILL.md +1 -1
- package/src/skills/testing-strategy/SKILL.md +1 -1
- package/src/skills/ui-ux-design/SKILL.md +1 -1
- package/xray/agents_template.md +46 -0
- package/xray/codex.json +598 -0
- package/dist/plugin/xray-codex-injection.js +0 -857
- /package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -0
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
|
+
import * as fs from "fs";
|
|
9
10
|
import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
|
|
10
11
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
11
12
|
class XrayDevOpsDeploymentServer {
|
|
12
13
|
server;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.server = new Server({
|
|
15
|
-
name: "devops-deployment", version: "1.
|
|
16
|
+
name: "devops-deployment", version: "3.1.0",
|
|
16
17
|
}, {
|
|
17
18
|
capabilities: {
|
|
18
19
|
tools: {},
|
|
@@ -1173,7 +1174,7 @@ spec:
|
|
|
1173
1174
|
}
|
|
1174
1175
|
}
|
|
1175
1176
|
// Run the server if this file is executed directly
|
|
1176
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1177
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
1177
1178
|
const server = new XrayDevOpsDeploymentServer();
|
|
1178
1179
|
server.run().catch(() => { });
|
|
1179
1180
|
}
|
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import * as fs from "fs";
|
|
10
11
|
import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
|
|
11
12
|
class XrayGitWorkflowServer {
|
|
12
13
|
server;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.server = new Server({
|
|
15
|
-
name: "git-workflow", version: "1.
|
|
16
|
+
name: "git-workflow", version: "3.1.0",
|
|
16
17
|
}, {
|
|
17
18
|
capabilities: {
|
|
18
19
|
tools: {},
|
|
@@ -108,7 +109,7 @@ class XrayGitWorkflowServer {
|
|
|
108
109
|
});
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
112
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
112
113
|
const server = new XrayGitWorkflowServer();
|
|
113
114
|
server.run().catch(() => { });
|
|
114
115
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
-
import * as
|
|
10
|
+
import * as fs from "fs";
|
|
11
11
|
import { fileURLToPath } from "url";
|
|
12
12
|
class MarketingExpertServer {
|
|
13
13
|
server;
|
|
@@ -93,7 +93,7 @@ class MarketingExpertServer {
|
|
|
93
93
|
},
|
|
94
94
|
];
|
|
95
95
|
constructor() {
|
|
96
|
-
this.server = new Server({ name: "growth-strategist", version: "1.
|
|
96
|
+
this.server = new Server({ name: "growth-strategist", version: "3.1.0" }, { capabilities: { tools: {} } });
|
|
97
97
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
98
98
|
tools: this.tools,
|
|
99
99
|
}));
|
|
@@ -353,7 +353,7 @@ class MarketingExpertServer {
|
|
|
353
353
|
await this.server.connect(transport);
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
|
-
const entryPoint =
|
|
356
|
+
const entryPoint = fs.realpathSync(process.argv[1] ?? "");
|
|
357
357
|
if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
|
|
358
358
|
const server = new MarketingExpertServer();
|
|
359
359
|
server.run();
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
9
9
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
10
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
11
|
-
import * as
|
|
11
|
+
import * as fs from "fs";
|
|
12
12
|
import { fileURLToPath } from "url";
|
|
13
13
|
class LogMonitorServer {
|
|
14
14
|
server;
|
|
@@ -60,7 +60,7 @@ class LogMonitorServer {
|
|
|
60
60
|
},
|
|
61
61
|
];
|
|
62
62
|
constructor() {
|
|
63
|
-
this.server = new Server({ name: "log-monitor", version: "1.
|
|
63
|
+
this.server = new Server({ name: "log-monitor", version: "3.1.0" }, { capabilities: { tools: {} } });
|
|
64
64
|
this.setupToolHandlers();
|
|
65
65
|
}
|
|
66
66
|
setupToolHandlers() {
|
|
@@ -443,7 +443,7 @@ ${analysis.recommendations.map((r) => `- ${r}`).join("\n")}
|
|
|
443
443
|
await this.server.connect(transport);
|
|
444
444
|
}
|
|
445
445
|
}
|
|
446
|
-
const entryPoint =
|
|
446
|
+
const entryPoint = fs.realpathSync(process.argv[1] ?? "");
|
|
447
447
|
if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
|
|
448
448
|
const server = new LogMonitorServer();
|
|
449
449
|
server.run();
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
-
import * as
|
|
10
|
+
import * as fs from "fs";
|
|
11
11
|
import { fileURLToPath } from "url";
|
|
12
12
|
class XrayMobileDevelopmentServer {
|
|
13
13
|
server;
|
|
14
14
|
constructor() {
|
|
15
15
|
this.server = new Server({
|
|
16
|
-
name: "mobile-development", version: "1.
|
|
16
|
+
name: "mobile-development", version: "3.1.0",
|
|
17
17
|
}, {
|
|
18
18
|
capabilities: {
|
|
19
19
|
tools: {},
|
|
@@ -517,7 +517,7 @@ class HomePage extends StatelessWidget {
|
|
|
517
517
|
await this.server.connect(transport);
|
|
518
518
|
}
|
|
519
519
|
}
|
|
520
|
-
const entryPoint =
|
|
520
|
+
const entryPoint = fs.realpathSync(process.argv[1] ?? "");
|
|
521
521
|
if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
|
|
522
522
|
const server = new XrayMobileDevelopmentServer();
|
|
523
523
|
server.start().catch(() => { });
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
11
11
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
12
12
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
13
|
-
import * as
|
|
13
|
+
import * as fs from "fs";
|
|
14
14
|
import { fileURLToPath } from "url";
|
|
15
15
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
16
16
|
/* ============================================================================
|
|
@@ -19,7 +19,7 @@ import { frameworkLogger } from "../../core/framework-logger.js";
|
|
|
19
19
|
class MultimodalLookerServer {
|
|
20
20
|
server;
|
|
21
21
|
constructor() {
|
|
22
|
-
this.server = new Server({ name: "multimodal-looker", version: "1.
|
|
22
|
+
this.server = new Server({ name: "multimodal-looker", version: "3.1.0" }, { capabilities: { tools: {} } });
|
|
23
23
|
this.setupToolHandlers();
|
|
24
24
|
}
|
|
25
25
|
/* --------------------------------------------------------------------------
|
|
@@ -1056,7 +1056,7 @@ class MultimodalLookerServer {
|
|
|
1056
1056
|
await this.server.connect(transport);
|
|
1057
1057
|
}
|
|
1058
1058
|
}
|
|
1059
|
-
const entryPoint =
|
|
1059
|
+
const entryPoint = fs.realpathSync(process.argv[1] ?? "");
|
|
1060
1060
|
if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
|
|
1061
1061
|
const server = new MultimodalLookerServer();
|
|
1062
1062
|
server.run().catch((err) => frameworkLogger.log('multimodal-looker', 'run-error', 'error', { error: String(err) }));
|
|
@@ -16,7 +16,7 @@ class XrayPerformanceOptimizationServer {
|
|
|
16
16
|
startTime;
|
|
17
17
|
constructor() {
|
|
18
18
|
this.server = new Server({
|
|
19
|
-
name: "performance-optimization", version: "1.
|
|
19
|
+
name: "performance-optimization", version: "3.1.0",
|
|
20
20
|
}, {
|
|
21
21
|
capabilities: {
|
|
22
22
|
tools: {},
|
|
@@ -1578,7 +1578,7 @@ ${result.recommendations.slice(0, 5).map((r, i) => `${i + 1}. ${r}`).join("\n")
|
|
|
1578
1578
|
});
|
|
1579
1579
|
}
|
|
1580
1580
|
}
|
|
1581
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1581
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
1582
1582
|
const server = new XrayPerformanceOptimizationServer();
|
|
1583
1583
|
server.run().catch((error) => {
|
|
1584
1584
|
frameworkLogger.log("mcp/performance-optimization", "run", "error", { error: String(error) });
|
|
@@ -14,7 +14,7 @@ class ProjectAnalysisServer {
|
|
|
14
14
|
server;
|
|
15
15
|
constructor() {
|
|
16
16
|
this.server = new Server({
|
|
17
|
-
name: "project-analysis", version: "1.
|
|
17
|
+
name: "project-analysis", version: "3.1.0",
|
|
18
18
|
}, {
|
|
19
19
|
capabilities: {
|
|
20
20
|
tools: {},
|
|
@@ -804,7 +804,7 @@ class ProjectAnalysisServer {
|
|
|
804
804
|
}
|
|
805
805
|
}
|
|
806
806
|
// Start the server if run directly
|
|
807
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
807
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
808
808
|
const server = new ProjectAnalysisServer();
|
|
809
809
|
server.run().catch((error) => frameworkLogger.log("mcps/project-analysis", "run", "error", { error: String(error) }));
|
|
810
810
|
}
|
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
|
+
import * as fs from "fs";
|
|
9
10
|
import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
|
|
10
11
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
11
12
|
class XrayRefactoringStrategiesServer {
|
|
12
13
|
server;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.server = new Server({
|
|
15
|
-
name: "refactoring-strategies", version: "1.
|
|
16
|
+
name: "refactoring-strategies", version: "3.1.0",
|
|
16
17
|
}, {
|
|
17
18
|
capabilities: {
|
|
18
19
|
tools: {},
|
|
@@ -789,7 +790,7 @@ class XrayRefactoringStrategiesServer {
|
|
|
789
790
|
}
|
|
790
791
|
}
|
|
791
792
|
// Run the server if this file is executed directly
|
|
792
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
793
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
793
794
|
const server = new XrayRefactoringStrategiesServer();
|
|
794
795
|
server.run().catch(() => { });
|
|
795
796
|
}
|
|
@@ -15,7 +15,7 @@ class XraySecurityAuditServer {
|
|
|
15
15
|
server;
|
|
16
16
|
constructor() {
|
|
17
17
|
this.server = new Server({
|
|
18
|
-
name: "security-audit", version: "1.
|
|
18
|
+
name: "security-audit", version: "3.1.0",
|
|
19
19
|
}, {
|
|
20
20
|
capabilities: {
|
|
21
21
|
tools: {},
|
|
@@ -809,7 +809,7 @@ class XraySecurityAuditServer {
|
|
|
809
809
|
}
|
|
810
810
|
}
|
|
811
811
|
// Run the server if this file is executed directly
|
|
812
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
812
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
813
813
|
const server = new XraySecurityAuditServer();
|
|
814
814
|
server.run().catch(() => { });
|
|
815
815
|
}
|
|
@@ -8,11 +8,12 @@
|
|
|
8
8
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
9
9
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
10
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
11
|
+
import * as fs from "fs";
|
|
11
12
|
import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
|
|
12
13
|
class SEOSpecialistServer {
|
|
13
14
|
server;
|
|
14
15
|
constructor() {
|
|
15
|
-
this.server = new Server({ name: "seo-consultant", version: "1.
|
|
16
|
+
this.server = new Server({ name: "seo-consultant", version: "3.1.0" }, { capabilities: { tools: {} } });
|
|
16
17
|
this.setupToolHandlers();
|
|
17
18
|
}
|
|
18
19
|
setupToolHandlers() {
|
|
@@ -930,7 +931,7 @@ Sitemap: ${baseUrl}/sitemap.xml`;
|
|
|
930
931
|
});
|
|
931
932
|
}
|
|
932
933
|
}
|
|
933
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
934
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
934
935
|
const server = new SEOSpecialistServer();
|
|
935
936
|
server.run().catch(() => { });
|
|
936
937
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import * as fs from "fs";
|
|
10
11
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
11
12
|
class SessionManagementServer {
|
|
12
13
|
server;
|
|
@@ -132,7 +133,7 @@ class SessionManagementServer {
|
|
|
132
133
|
},
|
|
133
134
|
];
|
|
134
135
|
constructor() {
|
|
135
|
-
this.server = new Server({ name: "session-management", version: "1.
|
|
136
|
+
this.server = new Server({ name: "session-management", version: "3.1.0" }, { capabilities: { tools: {} } });
|
|
136
137
|
this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
137
138
|
tools: this.tools,
|
|
138
139
|
}));
|
|
@@ -463,7 +464,7 @@ class SessionManagementServer {
|
|
|
463
464
|
});
|
|
464
465
|
}
|
|
465
466
|
}
|
|
466
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
467
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
467
468
|
const server = new SessionManagementServer();
|
|
468
469
|
server.run().catch((error) => frameworkLogger.log("mcps/session-management", "run", "error", { error: String(error) }));
|
|
469
470
|
}
|
|
@@ -3,16 +3,17 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
3
3
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
4
4
|
import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js";
|
|
5
5
|
import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from "@modelcontextprotocol/sdk/types.js";
|
|
6
|
-
import * as
|
|
6
|
+
import * as fs from "fs";
|
|
7
7
|
import { fileURLToPath } from "url";
|
|
8
8
|
import { randomUUID } from "crypto";
|
|
9
9
|
import { mcpClientManager } from "../mcp-client.js";
|
|
10
10
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
11
|
+
import { skillInstallCommand, skillRegistryCommand } from "../../cli/commands/skill-install.js";
|
|
11
12
|
class SkillInvocationServer {
|
|
12
13
|
server;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.server = new Server({
|
|
15
|
-
name: "xray/skill-invocation", version: "1.
|
|
16
|
+
name: "xray/skill-invocation", version: "3.1.0",
|
|
16
17
|
}, {
|
|
17
18
|
capabilities: {
|
|
18
19
|
tools: {},
|
|
@@ -274,6 +275,61 @@ class SkillInvocationServer {
|
|
|
274
275
|
required: ["storyType"],
|
|
275
276
|
},
|
|
276
277
|
},
|
|
278
|
+
{
|
|
279
|
+
name: "install-skill",
|
|
280
|
+
description: "Install skills from the registry or any git repo",
|
|
281
|
+
inputSchema: {
|
|
282
|
+
type: "object",
|
|
283
|
+
properties: {
|
|
284
|
+
source: {
|
|
285
|
+
type: "string",
|
|
286
|
+
description: "Source name or git URL to install skills from",
|
|
287
|
+
},
|
|
288
|
+
path: {
|
|
289
|
+
type: "string",
|
|
290
|
+
description: "Subdirectory in repo containing skills",
|
|
291
|
+
},
|
|
292
|
+
force: {
|
|
293
|
+
type: "boolean",
|
|
294
|
+
description: "Reinstall even if already installed",
|
|
295
|
+
},
|
|
296
|
+
},
|
|
297
|
+
required: ["source"],
|
|
298
|
+
},
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
name: "skill-registry-list",
|
|
302
|
+
description: "List all available skill registry sources",
|
|
303
|
+
inputSchema: {
|
|
304
|
+
type: "object",
|
|
305
|
+
properties: {},
|
|
306
|
+
},
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
name: "skill-registry-add",
|
|
310
|
+
description: "Add a new source to the skills registry",
|
|
311
|
+
inputSchema: {
|
|
312
|
+
type: "object",
|
|
313
|
+
properties: {
|
|
314
|
+
name: { type: "string", description: "Unique source name" },
|
|
315
|
+
url: { type: "string", description: "Repository URL" },
|
|
316
|
+
desc: { type: "string", description: "Short description" },
|
|
317
|
+
license: { type: "string", description: "License type" },
|
|
318
|
+
},
|
|
319
|
+
required: ["name", "url"],
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
name: "skill-registry-remove",
|
|
324
|
+
description: "Remove a source from the skills registry",
|
|
325
|
+
inputSchema: {
|
|
326
|
+
type: "object",
|
|
327
|
+
properties: {
|
|
328
|
+
name: { type: "string", description: "Source name to remove" },
|
|
329
|
+
},
|
|
330
|
+
required: ["name"],
|
|
331
|
+
},
|
|
332
|
+
},
|
|
277
333
|
],
|
|
278
334
|
};
|
|
279
335
|
});
|
|
@@ -308,6 +364,14 @@ class SkillInvocationServer {
|
|
|
308
364
|
return await this.handleSkillDocumentationGeneration(args);
|
|
309
365
|
case "skill-storyteller":
|
|
310
366
|
return await this.handleSkillStoryteller(args);
|
|
367
|
+
case "install-skill":
|
|
368
|
+
return await this.handleInstallSkill(args);
|
|
369
|
+
case "skill-registry-list":
|
|
370
|
+
return await this.handleSkillRegistryList();
|
|
371
|
+
case "skill-registry-add":
|
|
372
|
+
return await this.handleSkillRegistryAdd(args);
|
|
373
|
+
case "skill-registry-remove":
|
|
374
|
+
return await this.handleSkillRegistryRemove(args);
|
|
311
375
|
default:
|
|
312
376
|
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
313
377
|
}
|
|
@@ -626,6 +690,44 @@ class SkillInvocationServer {
|
|
|
626
690
|
],
|
|
627
691
|
};
|
|
628
692
|
}
|
|
693
|
+
async captureConsole(fn) {
|
|
694
|
+
const chunks = [];
|
|
695
|
+
const origLog = console.log;
|
|
696
|
+
console.log = (...args) => chunks.push(args.map(String).join(" "));
|
|
697
|
+
try {
|
|
698
|
+
await fn();
|
|
699
|
+
}
|
|
700
|
+
finally {
|
|
701
|
+
console.log = origLog;
|
|
702
|
+
}
|
|
703
|
+
return chunks.join("\n");
|
|
704
|
+
}
|
|
705
|
+
async handleInstallSkill(args) {
|
|
706
|
+
const opts = {};
|
|
707
|
+
if (args.path !== undefined)
|
|
708
|
+
opts.path = args.path;
|
|
709
|
+
if (args.force !== undefined)
|
|
710
|
+
opts.force = args.force;
|
|
711
|
+
const output = await this.captureConsole(() => skillInstallCommand(args.source, opts));
|
|
712
|
+
return { content: [{ type: "text", text: output || "Skill installation completed." }] };
|
|
713
|
+
}
|
|
714
|
+
async handleSkillRegistryList() {
|
|
715
|
+
const output = await this.captureConsole(() => skillRegistryCommand("list"));
|
|
716
|
+
return { content: [{ type: "text", text: output || "No registry sources configured." }] };
|
|
717
|
+
}
|
|
718
|
+
async handleSkillRegistryAdd(args) {
|
|
719
|
+
const registryArgs = { name: args.name, url: args.url };
|
|
720
|
+
if (args.desc !== undefined)
|
|
721
|
+
registryArgs.desc = args.desc;
|
|
722
|
+
if (args.license !== undefined)
|
|
723
|
+
registryArgs.license = args.license;
|
|
724
|
+
const output = await this.captureConsole(() => skillRegistryCommand("add", registryArgs));
|
|
725
|
+
return { content: [{ type: "text", text: output || "Source added." }] };
|
|
726
|
+
}
|
|
727
|
+
async handleSkillRegistryRemove(args) {
|
|
728
|
+
const output = await this.captureConsole(() => skillRegistryCommand("remove", { name: args.name }));
|
|
729
|
+
return { content: [{ type: "text", text: output || "Source removed." }] };
|
|
730
|
+
}
|
|
629
731
|
async run() {
|
|
630
732
|
const transport = new StdioServerTransport();
|
|
631
733
|
await this.server.connect(transport);
|
|
@@ -706,7 +808,7 @@ class SkillInvocationServer {
|
|
|
706
808
|
}
|
|
707
809
|
}
|
|
708
810
|
// Start the server if this file is run directly
|
|
709
|
-
const entryPoint =
|
|
811
|
+
const entryPoint = fs.realpathSync(process.argv[1] ?? "");
|
|
710
812
|
if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
|
|
711
813
|
// If --port or MCP_PORT is set, use HTTP transport (for Grok CLI compatibility)
|
|
712
814
|
const cliPort = process.argv.find((a) => a.startsWith("--port="))?.split("=")[1];
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
-
import * as
|
|
10
|
+
import * as fs from "fs";
|
|
11
11
|
import { fileURLToPath } from "url";
|
|
12
12
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
13
13
|
class StrategistServer {
|
|
@@ -78,7 +78,7 @@ class StrategistServer {
|
|
|
78
78
|
];
|
|
79
79
|
constructor() {
|
|
80
80
|
this.server = new Server({
|
|
81
|
-
name: "xray/strategist", version: "1.
|
|
81
|
+
name: "xray/strategist", version: "3.1.0",
|
|
82
82
|
}, {
|
|
83
83
|
capabilities: {
|
|
84
84
|
tools: {},
|
|
@@ -209,7 +209,7 @@ class StrategistServer {
|
|
|
209
209
|
await frameworkLogger.log("mcp-strategist", "server-started", "success");
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
|
-
const entryPoint =
|
|
212
|
+
const entryPoint = fs.realpathSync(process.argv[1] ?? "");
|
|
213
213
|
if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
|
|
214
214
|
const server = new StrategistServer();
|
|
215
215
|
server.start().catch((error) => frameworkLogger.log("mcps/strategist", "run", "error", { error: String(error) }));
|
|
@@ -14,7 +14,7 @@ class XrayDocumentationGenerationServer {
|
|
|
14
14
|
server;
|
|
15
15
|
constructor() {
|
|
16
16
|
this.server = new Server({
|
|
17
|
-
name: "documentation-generation", version: "1.
|
|
17
|
+
name: "documentation-generation", version: "3.1.0",
|
|
18
18
|
}, {
|
|
19
19
|
capabilities: {
|
|
20
20
|
tools: {},
|
|
@@ -727,7 +727,7 @@ class XrayDocumentationGenerationServer {
|
|
|
727
727
|
openapi: "3.0.0",
|
|
728
728
|
info: {
|
|
729
729
|
title: "API Documentation",
|
|
730
|
-
version: "1.
|
|
730
|
+
version: "3.1.0",
|
|
731
731
|
description: "Generated API documentation",
|
|
732
732
|
},
|
|
733
733
|
servers: [
|
|
@@ -1184,7 +1184,7 @@ class XrayDocumentationGenerationServer {
|
|
|
1184
1184
|
}
|
|
1185
1185
|
}
|
|
1186
1186
|
// Run the server if this file is executed directly
|
|
1187
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1187
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
1188
1188
|
const server = new XrayDocumentationGenerationServer();
|
|
1189
1189
|
server.run().catch(() => { });
|
|
1190
1190
|
}
|
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
|
+
import * as fs from "fs";
|
|
9
10
|
import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
|
|
10
11
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
11
12
|
class XrayTestingBestPracticesServer {
|
|
12
13
|
server;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.server = new Server({
|
|
15
|
-
name: "testing-best-practices", version: "1.
|
|
16
|
+
name: "testing-best-practices", version: "3.1.0",
|
|
16
17
|
}, {
|
|
17
18
|
capabilities: {
|
|
18
19
|
tools: {},
|
|
@@ -859,7 +860,7 @@ class XrayTestingBestPracticesServer {
|
|
|
859
860
|
}
|
|
860
861
|
}
|
|
861
862
|
// Run the server if this file is executed directly
|
|
862
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
863
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
863
864
|
const server = new XrayTestingBestPracticesServer();
|
|
864
865
|
server.run().catch(() => { });
|
|
865
866
|
}
|
|
@@ -16,7 +16,7 @@ class XrayTestingStrategyServer {
|
|
|
16
16
|
server;
|
|
17
17
|
constructor() {
|
|
18
18
|
this.server = new Server({
|
|
19
|
-
name: "testing-strategy", version: "1.
|
|
19
|
+
name: "testing-strategy", version: "3.1.0",
|
|
20
20
|
}, {
|
|
21
21
|
capabilities: {
|
|
22
22
|
tools: {},
|
|
@@ -820,7 +820,7 @@ describe("${pathModule.basename(sourceFile, ".ts")}", () => {${testCases}
|
|
|
820
820
|
}
|
|
821
821
|
}
|
|
822
822
|
// Start the server if run directly
|
|
823
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
823
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
824
824
|
const server = new XrayTestingStrategyServer();
|
|
825
825
|
server.run().catch(() => { });
|
|
826
826
|
}
|
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import * as fs from "fs";
|
|
10
11
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
11
12
|
class XrayUIUXDesignServer {
|
|
12
13
|
server;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.server = new Server({
|
|
15
|
-
name: "ui-ux-design", version: "1.
|
|
16
|
+
name: "ui-ux-design", version: "3.1.0",
|
|
16
17
|
}, {
|
|
17
18
|
capabilities: {
|
|
18
19
|
tools: {},
|
|
@@ -1531,7 +1532,7 @@ Available: ${Object.keys(system.components).length} component types
|
|
|
1531
1532
|
}
|
|
1532
1533
|
}
|
|
1533
1534
|
// Run the server if this file is executed directly
|
|
1534
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1535
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
1535
1536
|
const server = new XrayUIUXDesignServer();
|
|
1536
1537
|
server.run().catch((error) => frameworkLogger.log("mcps/ui-ux-design", "run", "error", { error: String(error) }));
|
|
1537
1538
|
}
|
package/dist/mcps/lint.server.js
CHANGED
|
@@ -13,7 +13,7 @@ class XrayLintServer {
|
|
|
13
13
|
server;
|
|
14
14
|
constructor() {
|
|
15
15
|
this.server = new Server({
|
|
16
|
-
name: "lint", version: "1.
|
|
16
|
+
name: "lint", version: "3.1.0",
|
|
17
17
|
}, {
|
|
18
18
|
capabilities: {
|
|
19
19
|
tools: {},
|
|
@@ -374,7 +374,7 @@ ${checkResults.details.map((d) => `• ${d}`).join("\n")}
|
|
|
374
374
|
}
|
|
375
375
|
}
|
|
376
376
|
// Start the server if run directly
|
|
377
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
377
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
378
378
|
const server = new XrayLintServer();
|
|
379
379
|
server.run().catch((error) => frameworkLogger.log("mcps/lint", "run", "error", { error: String(error) }));
|
|
380
380
|
}
|
|
@@ -7,12 +7,13 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
|
7
7
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
8
8
|
import { modelRouter } from "../core/model-router.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import fs from "fs";
|
|
10
11
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
11
12
|
class XrayModelHealthCheckServer {
|
|
12
13
|
server;
|
|
13
14
|
constructor() {
|
|
14
15
|
this.server = new Server({
|
|
15
|
-
name: "model-health-check", version: "1.
|
|
16
|
+
name: "model-health-check", version: "3.1.0",
|
|
16
17
|
}, {
|
|
17
18
|
capabilities: {
|
|
18
19
|
tools: {},
|
|
@@ -221,7 +222,7 @@ class XrayModelHealthCheckServer {
|
|
|
221
222
|
}
|
|
222
223
|
}
|
|
223
224
|
// Start the server if this file is run directly
|
|
224
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
225
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
225
226
|
const server = new XrayModelHealthCheckServer();
|
|
226
227
|
server.start().catch((error) => frameworkLogger.log("mcps/model-health-check", "run", "error", { error: String(error) }));
|
|
227
228
|
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
8
8
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
10
|
+
import * as fs from 'fs';
|
|
10
11
|
import { frameworkLogger } from '../../core/framework-logger.js';
|
|
11
12
|
import { XrayStateManager } from '../../state/state-manager.js';
|
|
12
13
|
import { MultiAgentOrchestrationCoordinator } from '../../orchestrator/multi-agent-orchestration-coordinator.js';
|
|
@@ -294,7 +295,7 @@ export function createOrchestratorServer() {
|
|
|
294
295
|
return serverInstance;
|
|
295
296
|
}
|
|
296
297
|
// Run if called directly
|
|
297
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
298
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
298
299
|
const server = createOrchestratorServer();
|
|
299
300
|
server.start().catch((error) => {
|
|
300
301
|
frameworkLogger.log('orchestrator.server', 'fatal-error', 'error', {
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @deprecated Use src/mcps/orchestrator/server.ts instead
|
|
8
8
|
*/
|
|
9
|
+
import * as fs from 'fs';
|
|
9
10
|
import { frameworkLogger } from '../core/framework-logger.js';
|
|
10
11
|
export { OrchestratorServer, createOrchestratorServer } from './orchestrator/server.js';
|
|
11
12
|
// Run if called directly
|
|
12
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
13
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
13
14
|
const { createOrchestratorServer } = await import('./orchestrator/server.js');
|
|
14
15
|
const server = createOrchestratorServer();
|
|
15
16
|
server.start().catch((error) => {
|