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.
Files changed (274) hide show
  1. package/.gitignore.default +59 -0
  2. package/.mcp.json +35 -0
  3. package/.opencode/codex.codex +1 -1
  4. package/.opencode/commands/dependency-audit.md +3 -3
  5. package/.opencode/commands/summary-logger.md +4 -4
  6. package/.opencode/enforcer-config.json +2 -2
  7. package/.opencode/hooks/post-commit +1 -1
  8. package/.opencode/init.sh +6 -0
  9. package/.plugin/plugin.json +11 -0
  10. package/AGENTS-consumer.md +46 -0
  11. package/AGENTS.md +8 -8
  12. package/LICENSE +1 -1
  13. package/README.md +8 -8
  14. package/SKILLS.md +140 -0
  15. package/dist/.gitignore.default +59 -0
  16. package/dist/AGENTS.md +8 -8
  17. package/dist/CHANGELOG.md +25 -0
  18. package/dist/LICENSE +1 -1
  19. package/dist/README.md +8 -8
  20. package/dist/SKILLS.md +140 -0
  21. package/dist/agents/index.js +3 -1
  22. package/dist/agents/registry.js +13 -0
  23. package/dist/analytics/routing-refiner.js +1 -1
  24. package/dist/architect/architectural-integrity.js +3 -3
  25. package/dist/benchmark/performance-benchmark.js +1 -2
  26. package/dist/cli/commands/antigravity-status.js +23 -23
  27. package/dist/cli/commands/credible-init.js +1 -1
  28. package/dist/cli/commands/hermes-install.js +8 -0
  29. package/dist/cli/commands/mcp-install.js +1 -1
  30. package/dist/cli/commands/openclaw-install.js +9 -0
  31. package/dist/cli/commands/opencode-install.js +22 -0
  32. package/dist/cli/commands/skill-install.js +39 -2
  33. package/dist/cli/commands/status.js +5 -0
  34. package/dist/cli/commands/storyteller.js +1 -1
  35. package/dist/cli/index.js +12 -6
  36. package/dist/core/activity-logger.js +4 -4
  37. package/dist/core/agent-spawn-gate.js +1 -1
  38. package/dist/core/boot-orchestrator.js +12 -13
  39. package/dist/core/bridge.mjs +4 -4
  40. package/dist/core/codex-formatter.js +1 -2
  41. package/dist/core/codex-injector.js +3 -3
  42. package/dist/core/config-loader.js +1 -2
  43. package/dist/core/config-paths.js +30 -23
  44. package/dist/core/context-loader.js +0 -3
  45. package/dist/core/features-config.js +1 -1
  46. package/dist/core/index.js +2 -2
  47. package/dist/core/logging-config.js +7 -7
  48. package/dist/core/orchestrator.js +1 -1
  49. package/dist/core/xray-activation.js +3 -4
  50. package/dist/delegation/agent-delegator.js +2 -2
  51. package/dist/enforcement/enforcer-tools.js +2 -2
  52. package/dist/enforcement/loaders/codex-loader.js +2 -2
  53. package/dist/execution/opencode-cli-invoker.js +1 -1
  54. package/dist/governance/governance-service.js +1 -1
  55. package/dist/governance/llm-governance-provider.js +14 -1
  56. package/dist/index.js +3 -5
  57. package/dist/inference/inference-cycle.js +11 -11
  58. package/dist/integrations/base/README.md +1 -1
  59. package/dist/integrations/enforcement-gate.js +2 -2
  60. package/dist/integrations/governance/index.js +1 -1
  61. package/dist/integrations/grok/grok-cli.js +20 -6
  62. package/dist/integrations/grok/hooks/pre-tool-use.js +3 -3
  63. package/dist/integrations/grok/plugin/0xray/.mcp.json +16 -4
  64. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  65. package/dist/integrations/hermes-agent/__init__.py +25 -14
  66. package/dist/integrations/hermes-agent/bridge.mjs +39 -4
  67. package/dist/integrations/hermes-agent/schemas.py +49 -0
  68. package/dist/integrations/hermes-agent/test_plugin.py +7 -7
  69. package/dist/integrations/hermes-agent/tools.py +107 -3
  70. package/dist/integrations/openclaw/README.md +6 -6
  71. package/dist/integrations/openclaw/config.js +1 -1
  72. package/dist/integrations/openclaw/index.js +2 -2
  73. package/dist/integrations/openclaw/types.js +3 -3
  74. package/dist/integrations/plugins/plugin-integration.js +1 -1
  75. package/dist/integrations/plugins/plugin-registry.js +1 -1
  76. package/dist/mcps/architect-tools.server.js +3 -2
  77. package/dist/mcps/auto-format.server.js +2 -2
  78. package/dist/mcps/boot-orchestrator.server.js +2 -2
  79. package/dist/mcps/config/config-loader.js +40 -9
  80. package/dist/mcps/enforcer-tools.server.js +2 -2
  81. package/dist/mcps/estimation.server.js +3 -2
  82. package/dist/mcps/framework-compliance-audit.server.js +2 -2
  83. package/dist/mcps/framework-help.server.js +3 -2
  84. package/dist/mcps/governance.server.js +8 -4
  85. package/dist/mcps/knowledge-skills/api-design.server.js +3 -2
  86. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +3 -2
  87. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +3 -3
  88. package/dist/mcps/knowledge-skills/code-analyzer.server.js +2 -2
  89. package/dist/mcps/knowledge-skills/code-review.server.js +2 -2
  90. package/dist/mcps/knowledge-skills/content-creator.server.js +3 -3
  91. package/dist/mcps/knowledge-skills/database-design.server.js +2 -2
  92. package/dist/mcps/knowledge-skills/devops-deployment.server.js +3 -2
  93. package/dist/mcps/knowledge-skills/git-workflow.server.js +3 -2
  94. package/dist/mcps/knowledge-skills/growth-strategist.server.js +3 -3
  95. package/dist/mcps/knowledge-skills/log-monitor.server.js +3 -3
  96. package/dist/mcps/knowledge-skills/mobile-development.server.js +3 -3
  97. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +3 -3
  98. package/dist/mcps/knowledge-skills/performance-optimization.server.js +2 -2
  99. package/dist/mcps/knowledge-skills/project-analysis.server.js +2 -2
  100. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +3 -2
  101. package/dist/mcps/knowledge-skills/security-audit.server.js +2 -2
  102. package/dist/mcps/knowledge-skills/seo-consultant.server.js +3 -2
  103. package/dist/mcps/knowledge-skills/session-management.server.js +3 -2
  104. package/dist/mcps/knowledge-skills/skill-invocation.server.js +105 -3
  105. package/dist/mcps/knowledge-skills/strategist.server.js +3 -3
  106. package/dist/mcps/knowledge-skills/tech-writer.server.js +3 -3
  107. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +3 -2
  108. package/dist/mcps/knowledge-skills/testing-strategy.server.js +2 -2
  109. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +3 -2
  110. package/dist/mcps/lint.server.js +2 -2
  111. package/dist/mcps/model-health-check.server.js +3 -2
  112. package/dist/mcps/orchestrator/server.js +2 -1
  113. package/dist/mcps/orchestrator.server.js +2 -1
  114. package/dist/mcps/performance-analysis.server.js +2 -2
  115. package/dist/mcps/processor-pipeline.server.js +3 -2
  116. package/dist/mcps/registry.json +1 -1
  117. package/dist/mcps/researcher.server.js +2 -2
  118. package/dist/mcps/security-scan.server.js +2 -2
  119. package/dist/mcps/state-manager.server.js +5 -5
  120. package/dist/metrics/agent-metrics.js +1 -1
  121. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
  122. package/dist/orchestrator/intelligent-commit-batcher.js +0 -1
  123. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +1 -1
  124. package/dist/orchestrator/orchestrator.js +1 -2
  125. package/dist/orchestrator/universal-registry-bridge.js +1 -1
  126. package/dist/postprocessor/PostProcessor.js +5 -5
  127. package/dist/postprocessor/services/RegressionAnalysisService.js +2 -2
  128. package/dist/postprocessor/triggers/GitHookTrigger.js +4 -4
  129. package/dist/processors/implementations/inference-improvement-processor.js +0 -1
  130. package/dist/processors/implementations/publish-preflight-processor.js +0 -1
  131. package/dist/processors/implementations/session-summary-processor.js +2 -2
  132. package/dist/processors/implementations/storytelling-trigger-processor.js +0 -1
  133. package/dist/public/about.html +6 -6
  134. package/dist/public/enterprise.html +1 -1
  135. package/dist/public/features.html +2 -2
  136. package/dist/public/index.html +4 -4
  137. package/dist/reporting/report-formatter.js +1 -1
  138. package/dist/scripts/activate-kernel-pipeline.js +2 -2
  139. package/dist/scripts/pre-command +1 -1
  140. package/dist/services/inference-tuner.js +1 -1
  141. package/dist/skills/api-design/SKILL.md +1 -1
  142. package/dist/skills/architect-tools/SKILL.md +1 -1
  143. package/dist/skills/architecture-patterns/SKILL.md +1 -1
  144. package/dist/skills/auto-format/SKILL.md +1 -1
  145. package/dist/skills/boot-orchestrator/SKILL.md +1 -1
  146. package/dist/skills/bug-triage/SKILL.md +1 -1
  147. package/dist/skills/code-analyzer/SKILL.md +1 -1
  148. package/dist/skills/code-review/SKILL.md +1 -1
  149. package/dist/skills/enforcer/SKILL.md +1 -1
  150. package/dist/skills/framework-compliance-audit/SKILL.md +1 -1
  151. package/dist/skills/git-workflow/SKILL.md +1 -1
  152. package/dist/skills/hermes-agent/SKILL.md +2 -2
  153. package/dist/skills/inference-improve/SKILL.md +1 -1
  154. package/dist/skills/lint/SKILL.md +1 -1
  155. package/dist/skills/log-monitor/SKILL.md +1 -1
  156. package/dist/skills/model-health-check/SKILL.md +1 -1
  157. package/dist/skills/multimodal-looker/SKILL.md +1 -1
  158. package/dist/skills/orchestrator/SKILL.md +1 -1
  159. package/dist/skills/performance-analysis/SKILL.md +1 -1
  160. package/dist/skills/performance-optimization/SKILL.md +1 -1
  161. package/dist/skills/processor-pipeline/SKILL.md +1 -1
  162. package/dist/skills/project-analysis/SKILL.md +1 -1
  163. package/dist/skills/refactoring-strategies/SKILL.md +1 -1
  164. package/dist/skills/registry.json +1 -1
  165. package/dist/skills/researcher/SKILL.md +1 -1
  166. package/dist/skills/security-audit/SKILL.md +1 -1
  167. package/dist/skills/security-scan/SKILL.md +1 -1
  168. package/dist/skills/session-management/SKILL.md +1 -1
  169. package/dist/skills/state-manager/SKILL.md +1 -1
  170. package/dist/skills/storyteller/SKILL.md +1 -1
  171. package/dist/skills/testing-best-practices/SKILL.md +1 -1
  172. package/dist/skills/testing-strategy/SKILL.md +1 -1
  173. package/dist/skills/ui-ux-design/SKILL.md +1 -1
  174. package/dist/state/index.js +0 -1
  175. package/dist/state/state-manager.js +1 -2
  176. package/dist/utils/import-resolver.js +1 -1
  177. package/dist/utils/path-resolver.js +2 -2
  178. package/package.json +10 -3
  179. package/scripts/hooks/pre-command +1 -1
  180. package/scripts/hooks/run-hook.js +2 -2
  181. package/scripts/node/auto-reflection-generator.mjs +30 -36
  182. package/scripts/node/govern-reflection.mjs +1 -1
  183. package/scripts/node/postinstall.cjs +37 -2
  184. package/scripts/node/setup-xai-oauth.mjs +244 -0
  185. package/scripts/node/universal-version-manager.js +8 -8
  186. package/scripts/node/version-manager.mjs +1 -1
  187. package/src/integrations/grok/plugin/0xray/.mcp.json +16 -4
  188. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  189. package/src/mcps/architect-tools.server.ts +2 -2
  190. package/src/mcps/auto-format.server.ts +2 -2
  191. package/src/mcps/boot-orchestrator.server.ts +2 -2
  192. package/src/mcps/config/__tests__/config-loader.test.ts +29 -33
  193. package/src/mcps/config/config-loader.ts +50 -11
  194. package/src/mcps/enforcer-tools.server.ts +2 -2
  195. package/src/mcps/estimation.server.ts +3 -2
  196. package/src/mcps/framework-compliance-audit.server.ts +2 -2
  197. package/src/mcps/framework-help.server.ts +3 -2
  198. package/src/mcps/governance.server.ts +8 -3
  199. package/src/mcps/knowledge-skills/api-design.server.ts +3 -2
  200. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +2 -2
  201. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +2 -2
  202. package/src/mcps/knowledge-skills/code-analyzer.server.ts +2 -2
  203. package/src/mcps/knowledge-skills/code-review.server.ts +2 -2
  204. package/src/mcps/knowledge-skills/content-creator.server.ts +3 -3
  205. package/src/mcps/knowledge-skills/database-design.server.ts +2 -2
  206. package/src/mcps/knowledge-skills/devops-deployment.server.ts +3 -2
  207. package/src/mcps/knowledge-skills/git-workflow.server.ts +3 -2
  208. package/src/mcps/knowledge-skills/growth-strategist.server.ts +3 -3
  209. package/src/mcps/knowledge-skills/log-monitor.server.ts +3 -3
  210. package/src/mcps/knowledge-skills/mobile-development.server.ts +3 -3
  211. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +3 -3
  212. package/src/mcps/knowledge-skills/performance-optimization.server.ts +2 -2
  213. package/src/mcps/knowledge-skills/project-analysis.server.ts +2 -2
  214. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +3 -2
  215. package/src/mcps/knowledge-skills/security-audit.server.ts +2 -2
  216. package/src/mcps/knowledge-skills/seo-consultant.server.ts +3 -2
  217. package/src/mcps/knowledge-skills/session-management.server.ts +3 -2
  218. package/src/mcps/knowledge-skills/skill-invocation.server.ts +113 -3
  219. package/src/mcps/knowledge-skills/strategist.server.ts +3 -3
  220. package/src/mcps/knowledge-skills/tech-writer.server.ts +3 -3
  221. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +3 -2
  222. package/src/mcps/knowledge-skills/testing-strategy.server.ts +2 -2
  223. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +3 -2
  224. package/src/mcps/lint.server.ts +2 -2
  225. package/src/mcps/model-health-check.server.ts +2 -2
  226. package/src/mcps/orchestrator/server.ts +2 -1
  227. package/src/mcps/orchestrator.server.ts +2 -1
  228. package/src/mcps/performance-analysis.server.ts +2 -2
  229. package/src/mcps/processor-pipeline.server.ts +3 -2
  230. package/src/mcps/registry.json +1 -1
  231. package/src/mcps/researcher.server.ts +2 -2
  232. package/src/mcps/security-scan.server.ts +2 -2
  233. package/src/mcps/state-manager.server.ts +5 -5
  234. package/src/opencode/codex.codex +1 -1
  235. package/src/opencode/commands/dependency-audit.md +3 -3
  236. package/src/opencode/commands/summary-logger.md +4 -4
  237. package/src/opencode/enforcer-config.json +2 -2
  238. package/src/skills/api-design/SKILL.md +1 -1
  239. package/src/skills/architect-tools/SKILL.md +1 -1
  240. package/src/skills/architecture-patterns/SKILL.md +1 -1
  241. package/src/skills/auto-format/SKILL.md +1 -1
  242. package/src/skills/boot-orchestrator/SKILL.md +1 -1
  243. package/src/skills/bug-triage/SKILL.md +1 -1
  244. package/src/skills/code-analyzer/SKILL.md +1 -1
  245. package/src/skills/code-review/SKILL.md +1 -1
  246. package/src/skills/enforcer/SKILL.md +1 -1
  247. package/src/skills/framework-compliance-audit/SKILL.md +1 -1
  248. package/src/skills/git-workflow/SKILL.md +1 -1
  249. package/src/skills/hermes-agent/SKILL.md +2 -2
  250. package/src/skills/inference-improve/SKILL.md +1 -1
  251. package/src/skills/lint/SKILL.md +1 -1
  252. package/src/skills/log-monitor/SKILL.md +1 -1
  253. package/src/skills/model-health-check/SKILL.md +1 -1
  254. package/src/skills/multimodal-looker/SKILL.md +1 -1
  255. package/src/skills/orchestrator/SKILL.md +1 -1
  256. package/src/skills/performance-analysis/SKILL.md +1 -1
  257. package/src/skills/performance-optimization/SKILL.md +1 -1
  258. package/src/skills/processor-pipeline/SKILL.md +1 -1
  259. package/src/skills/project-analysis/SKILL.md +1 -1
  260. package/src/skills/refactoring-strategies/SKILL.md +1 -1
  261. package/src/skills/registry.json +1 -1
  262. package/src/skills/researcher/SKILL.md +1 -1
  263. package/src/skills/security-audit/SKILL.md +1 -1
  264. package/src/skills/security-scan/SKILL.md +1 -1
  265. package/src/skills/session-management/SKILL.md +1 -1
  266. package/src/skills/state-manager/SKILL.md +1 -1
  267. package/src/skills/storyteller/SKILL.md +1 -1
  268. package/src/skills/testing-best-practices/SKILL.md +1 -1
  269. package/src/skills/testing-strategy/SKILL.md +1 -1
  270. package/src/skills/ui-ux-design/SKILL.md +1 -1
  271. package/xray/agents_template.md +46 -0
  272. package/xray/codex.json +598 -0
  273. package/dist/plugin/xray-codex-injection.js +0 -857
  274. /package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -0
@@ -39,7 +39,7 @@ class XrayFrameworkComplianceAuditServer {
39
39
  constructor() {
40
40
  this.server = new Server(
41
41
  {
42
- name: "framework-compliance-audit", version: "1.22.67",
42
+ name: "framework-compliance-audit", version: "3.1.0",
43
43
  },
44
44
  {
45
45
  capabilities: {
@@ -627,7 +627,7 @@ ${results.recommendations.map((r) => `• 💡 ${r}`).join("\n")}
627
627
  }
628
628
 
629
629
  // Start the server if run directly
630
- if (import.meta.url === `file://${process.argv[1]}`) {
630
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
631
631
  const server = new XrayFrameworkComplianceAuditServer();
632
632
  server.run().catch((error) => frameworkLogger.log("mcps/framework-compliance-audit", "run", "error", { error: String(error) }));
633
633
  }
@@ -6,6 +6,7 @@ import {
6
6
  ListToolsRequestSchema,
7
7
  McpError,
8
8
  } from "@modelcontextprotocol/sdk/types.js";
9
+ import * as fs from "fs";
9
10
  import { frameworkLogger } from "../core/framework-logger.js";
10
11
  import { AGENT_REGISTRY, getActiveAgents } from "../agents/registry.js";
11
12
 
@@ -22,7 +23,7 @@ class FrameworkHelpServer {
22
23
  constructor() {
23
24
  this.server = new Server(
24
25
  {
25
- name: "xray/framework-help", version: "1.22.67",
26
+ name: "xray/framework-help", version: "3.1.0",
26
27
  },
27
28
  {
28
29
  capabilities: {
@@ -459,7 +460,7 @@ ${items.map(([name, desc]) => `- **${name}**: ${desc}`).join("\n")}
459
460
  }
460
461
 
461
462
  // Auto-start if this file is run directly - conditional server initialization for development/testing
462
- if (import.meta.url === `file://${process.argv[1]}`) {
463
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
463
464
  const server = new FrameworkHelpServer();
464
465
  server.start().catch((error) => frameworkLogger.log("mcps/framework-help", "run", "error", { error: String(error) }));
465
466
  }
@@ -68,7 +68,7 @@ class GovernanceServer {
68
68
  constructor() {
69
69
  this.server = new Server(
70
70
  {
71
- name: "governance", version: "1.22.67",
71
+ name: "governance", version: "3.1.0",
72
72
  },
73
73
  {
74
74
  capabilities: {
@@ -475,7 +475,12 @@ class GovernanceServer {
475
475
  async runHttp(port: number = parseInt(process.env.MCP_PORT ?? "3100", 10)): Promise<void> {
476
476
  await this.initializeGovernance();
477
477
 
478
- const app = createMcpExpressApp();
478
+ const mcpHost = process.env.MCP_HOST || "127.0.0.1";
479
+ const allowedHosts = process.env.MCP_ALLOWED_HOSTS?.split(",");
480
+ const app = createMcpExpressApp({
481
+ host: mcpHost,
482
+ ...(allowedHosts ? { allowedHosts } : {}),
483
+ });
479
484
  const transport = new StreamableHTTPServerTransport({
480
485
  sessionIdGenerator: () => randomUUID(),
481
486
  });
@@ -527,7 +532,7 @@ class GovernanceServer {
527
532
  }
528
533
 
529
534
  // Start the server if this file is run directly
530
- const entryPoint = path.resolve(process.argv[1] ?? "");
535
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
531
536
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
532
537
  // If --port or MCP_PORT is set, use HTTP transport (for Grok CLI compatibility)
533
538
  const cliPort = process.argv.find((a) => a.startsWith("--port="))?.split("=")[1];
@@ -11,6 +11,7 @@ import {
11
11
  CallToolRequestSchema,
12
12
  ListToolsRequestSchema,
13
13
  } from "@modelcontextprotocol/sdk/types.js";
14
+ import * as fs from "fs";
14
15
  import { frameworkLogger } from "../../core/framework-logger.js";
15
16
  import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
16
17
 
@@ -31,7 +32,7 @@ class XrayApiDesignServer {
31
32
  constructor() {
32
33
  this.server = new Server(
33
34
  {
34
- name: "api-design", version: "1.22.67",
35
+ name: "api-design", version: "3.1.0",
35
36
  },
36
37
  {
37
38
  capabilities: {
@@ -152,7 +153,7 @@ class XrayApiDesignServer {
152
153
  }
153
154
  }
154
155
 
155
- if (import.meta.url === `file://${process.argv[1]}`) {
156
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
156
157
  const server = new XrayApiDesignServer();
157
158
  server.run().catch(() => {});
158
159
  }
@@ -33,7 +33,7 @@ class XrayArchitecturePatternsServer {
33
33
  constructor() {
34
34
  this.server = new Server(
35
35
  {
36
- name: "architecture-patterns", version: "1.22.67",
36
+ name: "architecture-patterns", version: "3.1.0",
37
37
  },
38
38
  {
39
39
  capabilities: {
@@ -144,7 +144,7 @@ class XrayArchitecturePatternsServer {
144
144
  }
145
145
  }
146
146
 
147
- if (import.meta.url === `file://${process.argv[1]}`) {
147
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
148
148
  const server = new XrayArchitecturePatternsServer();
149
149
  server.run().catch(() => {});
150
150
  }
@@ -81,7 +81,7 @@ class BugTriageSpecialistServer {
81
81
 
82
82
  constructor() {
83
83
  this.server = new Server(
84
- { name: "bug-triage-specialist", version: "1.22.67" },
84
+ { name: "bug-triage-specialist", version: "3.1.0" },
85
85
  { capabilities: { tools: {} } },
86
86
  );
87
87
  this.setupToolHandlers();
@@ -615,7 +615,7 @@ class BugTriageSpecialistServer {
615
615
  }
616
616
  }
617
617
 
618
- const entryPoint = path.resolve(process.argv[1] ?? "");
618
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
619
619
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
620
620
  const server = new BugTriageSpecialistServer();
621
621
  server.run();
@@ -303,7 +303,7 @@ class CodeAnalyzerServer {
303
303
 
304
304
  constructor() {
305
305
  this.server = new Server(
306
- { name: "code-analyzer", version: "1.22.67" },
306
+ { name: "code-analyzer", version: "3.1.0" },
307
307
  { capabilities: { tools: {} } },
308
308
  );
309
309
 
@@ -587,5 +587,5 @@ class CodeAnalyzerServer {
587
587
  }
588
588
  }
589
589
 
590
- if (import.meta.url === `file://${process.argv[1]}`) { new CodeAnalyzerServer().run().catch(() => {}); }
590
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) { new CodeAnalyzerServer().run().catch(() => {}); }
591
591
  export default CodeAnalyzerServer;
@@ -81,7 +81,7 @@ class XrayCodeReviewServer {
81
81
  constructor() {
82
82
  this.server = new Server(
83
83
  {
84
- name: "code-review", version: "1.22.67",
84
+ name: "code-review", version: "3.1.0",
85
85
  },
86
86
  {
87
87
  capabilities: {
@@ -1109,7 +1109,7 @@ class XrayCodeReviewServer {
1109
1109
  }
1110
1110
 
1111
1111
  // Run the server if this file is executed directly
1112
- if (import.meta.url === `file://${process.argv[1]}`) {
1112
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1113
1113
  const server = new XrayCodeReviewServer();
1114
1114
  server.run().catch(() => {});
1115
1115
  }
@@ -11,7 +11,7 @@ import {
11
11
  CallToolRequestSchema,
12
12
  ListToolsRequestSchema,
13
13
  } from "@modelcontextprotocol/sdk/types.js";
14
- import * as path from "path";
14
+ import * as fs from "fs";
15
15
  import { fileURLToPath } from "url";
16
16
 
17
17
  interface Tool {
@@ -102,7 +102,7 @@ class SEOCopywriterServer {
102
102
 
103
103
  constructor() {
104
104
  this.server = new Server(
105
- { name: "content-creator", version: "1.22.67" },
105
+ { name: "content-creator", version: "3.1.0" },
106
106
  { capabilities: { tools: {} } },
107
107
  );
108
108
 
@@ -291,7 +291,7 @@ class SEOCopywriterServer {
291
291
  }
292
292
  }
293
293
 
294
- const entryPoint = path.resolve(process.argv[1] ?? "");
294
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
295
295
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
296
296
  const server = new SEOCopywriterServer();
297
297
  server.run();
@@ -117,7 +117,7 @@ class XrayDatabaseDesignServer {
117
117
  constructor() {
118
118
  this.server = new Server(
119
119
  {
120
- name: "database-design", version: "1.22.67",
120
+ name: "database-design", version: "3.1.0",
121
121
  },
122
122
  {
123
123
  capabilities: {
@@ -1192,7 +1192,7 @@ class XrayDatabaseDesignServer {
1192
1192
  }
1193
1193
 
1194
1194
  // Run the server if this file is executed directly
1195
- if (import.meta.url === `file://${process.argv[1]}`) {
1195
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1196
1196
  const server = new XrayDatabaseDesignServer();
1197
1197
  server.run().catch(() => {});
1198
1198
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
9
9
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
10
+ import * as fs from "fs";
10
11
  import { frameworkLogger } from "../../core/framework-logger.js";
11
12
  import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
12
13
  import {
@@ -212,7 +213,7 @@ class XrayDevOpsDeploymentServer {
212
213
  constructor() {
213
214
  this.server = new Server(
214
215
  {
215
- name: "devops-deployment", version: "1.22.67",
216
+ name: "devops-deployment", version: "3.1.0",
216
217
  },
217
218
  {
218
219
  capabilities: {
@@ -1614,7 +1615,7 @@ spec:
1614
1615
  }
1615
1616
 
1616
1617
  // Run the server if this file is executed directly
1617
- if (import.meta.url === `file://${process.argv[1]}`) {
1618
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1618
1619
  const server = new XrayDevOpsDeploymentServer();
1619
1620
  server.run().catch(() => {});
1620
1621
  }
@@ -11,6 +11,7 @@ import {
11
11
  CallToolRequestSchema,
12
12
  ListToolsRequestSchema,
13
13
  } from "@modelcontextprotocol/sdk/types.js";
14
+ import * as fs from "fs";
14
15
  import { frameworkLogger } from "../../core/framework-logger.js";
15
16
  import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
16
17
 
@@ -32,7 +33,7 @@ class XrayGitWorkflowServer {
32
33
  constructor() {
33
34
  this.server = new Server(
34
35
  {
35
- name: "git-workflow", version: "1.22.67",
36
+ name: "git-workflow", version: "3.1.0",
36
37
  },
37
38
  {
38
39
  capabilities: {
@@ -144,7 +145,7 @@ class XrayGitWorkflowServer {
144
145
  }
145
146
  }
146
147
 
147
- if (import.meta.url === `file://${process.argv[1]}`) {
148
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
148
149
  const server = new XrayGitWorkflowServer();
149
150
  server.run().catch(() => {});
150
151
  }
@@ -11,7 +11,7 @@ import {
11
11
  CallToolRequestSchema,
12
12
  ListToolsRequestSchema,
13
13
  } from "@modelcontextprotocol/sdk/types.js";
14
- import * as path from "path";
14
+ import * as fs from "fs";
15
15
  import { fileURLToPath } from "url";
16
16
 
17
17
  interface Tool {
@@ -111,7 +111,7 @@ class MarketingExpertServer {
111
111
 
112
112
  constructor() {
113
113
  this.server = new Server(
114
- { name: "growth-strategist", version: "1.22.67" },
114
+ { name: "growth-strategist", version: "3.1.0" },
115
115
  { capabilities: { tools: {} } },
116
116
  );
117
117
 
@@ -404,7 +404,7 @@ class MarketingExpertServer {
404
404
  }
405
405
  }
406
406
 
407
- const entryPoint = path.resolve(process.argv[1] ?? "");
407
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
408
408
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
409
409
  const server = new MarketingExpertServer();
410
410
  server.run();
@@ -12,7 +12,7 @@ import {
12
12
  CallToolRequestSchema,
13
13
  ListToolsRequestSchema,
14
14
  } from "@modelcontextprotocol/sdk/types.js";
15
- import * as path from "path";
15
+ import * as fs from "fs";
16
16
  import { fileURLToPath } from "url";
17
17
 
18
18
  interface LogEntry {
@@ -117,7 +117,7 @@ class LogMonitorServer {
117
117
 
118
118
  constructor() {
119
119
  this.server = new Server(
120
- { name: "log-monitor", version: "1.22.67" },
120
+ { name: "log-monitor", version: "3.1.0" },
121
121
  { capabilities: { tools: {} } },
122
122
  );
123
123
  this.setupToolHandlers();
@@ -610,7 +610,7 @@ ${analysis.recommendations.map((r) => `- ${r}`).join("\n")}
610
610
  }
611
611
  }
612
612
 
613
- const entryPoint = path.resolve(process.argv[1] ?? "");
613
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
614
614
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
615
615
  const server = new LogMonitorServer();
616
616
  server.run();
@@ -11,7 +11,7 @@ import {
11
11
  CallToolRequestSchema,
12
12
  ListToolsRequestSchema,
13
13
  } from "@modelcontextprotocol/sdk/types.js";
14
- import * as path from "path";
14
+ import * as fs from "fs";
15
15
  import { fileURLToPath } from "url";
16
16
 
17
17
  interface IOSBlueprint {
@@ -113,7 +113,7 @@ class XrayMobileDevelopmentServer {
113
113
  constructor() {
114
114
  this.server = new Server(
115
115
  {
116
- name: "mobile-development", version: "1.22.67",
116
+ name: "mobile-development", version: "3.1.0",
117
117
  },
118
118
  {
119
119
  capabilities: {
@@ -663,7 +663,7 @@ class HomePage extends StatelessWidget {
663
663
  }
664
664
  }
665
665
 
666
- const entryPoint = path.resolve(process.argv[1] ?? "");
666
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
667
667
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
668
668
  const server = new XrayMobileDevelopmentServer();
669
669
  server.start().catch(() => {});
@@ -14,7 +14,7 @@ import {
14
14
  CallToolRequestSchema,
15
15
  ListToolsRequestSchema,
16
16
  } from "@modelcontextprotocol/sdk/types.js";
17
- import * as path from "path";
17
+ import * as fs from "fs";
18
18
  import { fileURLToPath } from "url";
19
19
  import { frameworkLogger } from "../../core/framework-logger.js";
20
20
 
@@ -167,7 +167,7 @@ class MultimodalLookerServer {
167
167
 
168
168
  constructor() {
169
169
  this.server = new Server(
170
- { name: "multimodal-looker", version: "1.22.67" },
170
+ { name: "multimodal-looker", version: "3.1.0" },
171
171
  { capabilities: { tools: {} } },
172
172
  );
173
173
  this.setupToolHandlers();
@@ -1492,7 +1492,7 @@ class MultimodalLookerServer {
1492
1492
  }
1493
1493
  }
1494
1494
 
1495
- const entryPoint = path.resolve(process.argv[1] ?? "");
1495
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
1496
1496
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
1497
1497
  const server = new MultimodalLookerServer();
1498
1498
  server.run().catch((err) => frameworkLogger.log('multimodal-looker', 'run-error', 'error', { error: String(err) }));
@@ -224,7 +224,7 @@ class XrayPerformanceOptimizationServer {
224
224
  constructor() {
225
225
  this.server = new Server(
226
226
  {
227
- name: "performance-optimization", version: "1.22.67",
227
+ name: "performance-optimization", version: "3.1.0",
228
228
  },
229
229
  {
230
230
  capabilities: {
@@ -2055,7 +2055,7 @@ ${result.recommendations.slice(0, 5).map((r, i) => `${i + 1}. ${r}`).join("\n")
2055
2055
  }
2056
2056
  }
2057
2057
 
2058
- if (import.meta.url === `file://${process.argv[1]}`) {
2058
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
2059
2059
  const server = new XrayPerformanceOptimizationServer();
2060
2060
  server.run().catch((error) => {
2061
2061
  frameworkLogger.log("mcp/performance-optimization", "run", "error", { error: String(error) });
@@ -142,7 +142,7 @@ class ProjectAnalysisServer {
142
142
  constructor() {
143
143
  this.server = new Server(
144
144
  {
145
- name: "project-analysis", version: "1.22.67",
145
+ name: "project-analysis", version: "3.1.0",
146
146
  },
147
147
  {
148
148
  capabilities: {
@@ -1103,7 +1103,7 @@ class ProjectAnalysisServer {
1103
1103
  }
1104
1104
 
1105
1105
  // Start the server if run directly
1106
- if (import.meta.url === `file://${process.argv[1]}`) {
1106
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1107
1107
  const server = new ProjectAnalysisServer();
1108
1108
  server.run().catch((error: unknown) => frameworkLogger.log("mcps/project-analysis", "run", "error", { error: String(error) }));
1109
1109
  }
@@ -7,6 +7,7 @@
7
7
 
8
8
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
9
9
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
10
+ import * as fs from "fs";
10
11
  import { frameworkLogger } from "../../core/framework-logger.js";
11
12
  import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
12
13
  import {
@@ -160,7 +161,7 @@ class XrayRefactoringStrategiesServer {
160
161
  constructor() {
161
162
  this.server = new Server(
162
163
  {
163
- name: "refactoring-strategies", version: "1.22.67",
164
+ name: "refactoring-strategies", version: "3.1.0",
164
165
  },
165
166
  {
166
167
  capabilities: {
@@ -1084,7 +1085,7 @@ class XrayRefactoringStrategiesServer {
1084
1085
  }
1085
1086
 
1086
1087
  // Run the server if this file is executed directly
1087
- if (import.meta.url === `file://${process.argv[1]}`) {
1088
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1088
1089
  const server = new XrayRefactoringStrategiesServer();
1089
1090
  server.run().catch(() => {});
1090
1091
  }
@@ -91,7 +91,7 @@ class XraySecurityAuditServer {
91
91
  constructor() {
92
92
  this.server = new Server(
93
93
  {
94
- name: "security-audit", version: "1.22.67",
94
+ name: "security-audit", version: "3.1.0",
95
95
  },
96
96
  {
97
97
  capabilities: {
@@ -1166,7 +1166,7 @@ class XraySecurityAuditServer {
1166
1166
  }
1167
1167
 
1168
1168
  // Run the server if this file is executed directly
1169
- if (import.meta.url === `file://${process.argv[1]}`) {
1169
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1170
1170
  const server = new XraySecurityAuditServer();
1171
1171
  server.run().catch(() => {});
1172
1172
  }
@@ -12,6 +12,7 @@ import {
12
12
  CallToolRequestSchema,
13
13
  ListToolsRequestSchema,
14
14
  } from "@modelcontextprotocol/sdk/types.js";
15
+ import * as fs from "fs";
15
16
  import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
16
17
 
17
18
  interface SEOIssue {
@@ -69,7 +70,7 @@ class SEOSpecialistServer {
69
70
 
70
71
  constructor() {
71
72
  this.server = new Server(
72
- { name: "seo-consultant", version: "1.22.67" },
73
+ { name: "seo-consultant", version: "3.1.0" },
73
74
  { capabilities: { tools: {} } },
74
75
  );
75
76
 
@@ -1152,7 +1153,7 @@ Sitemap: ${baseUrl}/sitemap.xml`;
1152
1153
  }
1153
1154
  }
1154
1155
 
1155
- if (import.meta.url === `file://${process.argv[1]}`) {
1156
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1156
1157
  const server = new SEOSpecialistServer();
1157
1158
  server.run().catch(() => {});
1158
1159
  }
@@ -11,6 +11,7 @@ import {
11
11
  CallToolRequestSchema,
12
12
  ListToolsRequestSchema,
13
13
  } from "@modelcontextprotocol/sdk/types.js";
14
+ import * as fs from "fs";
14
15
  import { frameworkLogger } from "../../core/framework-logger.js";
15
16
 
16
17
  interface Tool {
@@ -161,7 +162,7 @@ class SessionManagementServer {
161
162
 
162
163
  constructor() {
163
164
  this.server = new Server(
164
- { name: "session-management", version: "1.22.67" },
165
+ { name: "session-management", version: "3.1.0" },
165
166
  { capabilities: { tools: {} } },
166
167
  );
167
168
 
@@ -568,7 +569,7 @@ class SessionManagementServer {
568
569
  }
569
570
  }
570
571
 
571
- if (import.meta.url === `file://${process.argv[1]}`) {
572
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
572
573
  const server = new SessionManagementServer();
573
574
  server.run().catch((error) => frameworkLogger.log("mcps/session-management", "run", "error", { error: String(error) }));
574
575
  }