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
@@ -8,11 +8,12 @@ import {
8
8
  ListToolsRequestSchema,
9
9
  McpError,
10
10
  } from "@modelcontextprotocol/sdk/types.js";
11
- import * as path from "path";
11
+ import * as fs from "fs";
12
12
  import { fileURLToPath } from "url";
13
13
  import { randomUUID } from "crypto";
14
14
  import { mcpClientManager } from "../mcp-client.js";
15
15
  import { frameworkLogger } from "../../core/framework-logger.js";
16
+ import { skillInstallCommand, skillRegistryCommand } from "../../cli/commands/skill-install.js";
16
17
 
17
18
  interface ListSkillsArgs {
18
19
  category?: "all" | "core" | "registry" | "knowledge";
@@ -90,7 +91,7 @@ class SkillInvocationServer {
90
91
  constructor() {
91
92
  this.server = new Server(
92
93
  {
93
- name: "xray/skill-invocation", version: "1.22.67",
94
+ name: "xray/skill-invocation", version: "3.1.0",
94
95
  },
95
96
  {
96
97
  capabilities: {
@@ -363,6 +364,61 @@ class SkillInvocationServer {
363
364
  required: ["storyType"],
364
365
  },
365
366
  },
367
+ {
368
+ name: "install-skill",
369
+ description: "Install skills from the registry or any git repo",
370
+ inputSchema: {
371
+ type: "object",
372
+ properties: {
373
+ source: {
374
+ type: "string",
375
+ description: "Source name or git URL to install skills from",
376
+ },
377
+ path: {
378
+ type: "string",
379
+ description: "Subdirectory in repo containing skills",
380
+ },
381
+ force: {
382
+ type: "boolean",
383
+ description: "Reinstall even if already installed",
384
+ },
385
+ },
386
+ required: ["source"],
387
+ },
388
+ },
389
+ {
390
+ name: "skill-registry-list",
391
+ description: "List all available skill registry sources",
392
+ inputSchema: {
393
+ type: "object",
394
+ properties: {},
395
+ },
396
+ },
397
+ {
398
+ name: "skill-registry-add",
399
+ description: "Add a new source to the skills registry",
400
+ inputSchema: {
401
+ type: "object",
402
+ properties: {
403
+ name: { type: "string", description: "Unique source name" },
404
+ url: { type: "string", description: "Repository URL" },
405
+ desc: { type: "string", description: "Short description" },
406
+ license: { type: "string", description: "License type" },
407
+ },
408
+ required: ["name", "url"],
409
+ },
410
+ },
411
+ {
412
+ name: "skill-registry-remove",
413
+ description: "Remove a source from the skills registry",
414
+ inputSchema: {
415
+ type: "object",
416
+ properties: {
417
+ name: { type: "string", description: "Source name to remove" },
418
+ },
419
+ required: ["name"],
420
+ },
421
+ },
366
422
  ],
367
423
  };
368
424
  });
@@ -399,6 +455,14 @@ class SkillInvocationServer {
399
455
  return await this.handleSkillDocumentationGeneration(args as unknown as DocumentationGenerationArgs);
400
456
  case "skill-storyteller":
401
457
  return await this.handleSkillStoryteller(args as unknown as StorytellerArgs);
458
+ case "install-skill":
459
+ return await this.handleInstallSkill(args as unknown as { source: string; path?: string; force?: boolean });
460
+ case "skill-registry-list":
461
+ return await this.handleSkillRegistryList();
462
+ case "skill-registry-add":
463
+ return await this.handleSkillRegistryAdd(args as unknown as { name: string; url: string; desc?: string; license?: string });
464
+ case "skill-registry-remove":
465
+ return await this.handleSkillRegistryRemove(args as unknown as { name: string });
402
466
  default:
403
467
  throw new McpError(
404
468
  ErrorCode.MethodNotFound,
@@ -824,6 +888,52 @@ class SkillInvocationServer {
824
888
  };
825
889
  }
826
890
 
891
+ private async captureConsole(fn: () => Promise<void>): Promise<string> {
892
+ const chunks: string[] = [];
893
+ const origLog = console.log;
894
+ console.log = (...args: unknown[]) => chunks.push(args.map(String).join(" "));
895
+ try {
896
+ await fn();
897
+ } finally {
898
+ console.log = origLog;
899
+ }
900
+ return chunks.join("\n");
901
+ }
902
+
903
+ private async handleInstallSkill(args: { source: string; path?: string; force?: boolean }) {
904
+ const opts: { path?: string; force?: boolean } = {};
905
+ if (args.path !== undefined) opts.path = args.path;
906
+ if (args.force !== undefined) opts.force = args.force;
907
+ const output = await this.captureConsole(() =>
908
+ skillInstallCommand(args.source, opts)
909
+ );
910
+ return { content: [{ type: "text", text: output || "Skill installation completed." }] };
911
+ }
912
+
913
+ private async handleSkillRegistryList() {
914
+ const output = await this.captureConsole(() =>
915
+ skillRegistryCommand("list")
916
+ );
917
+ return { content: [{ type: "text", text: output || "No registry sources configured." }] };
918
+ }
919
+
920
+ private async handleSkillRegistryAdd(args: { name: string; url: string; desc?: string; license?: string }) {
921
+ const registryArgs: Record<string, string> = { name: args.name, url: args.url };
922
+ if (args.desc !== undefined) registryArgs.desc = args.desc;
923
+ if (args.license !== undefined) registryArgs.license = args.license;
924
+ const output = await this.captureConsole(() =>
925
+ skillRegistryCommand("add", registryArgs)
926
+ );
927
+ return { content: [{ type: "text", text: output || "Source added." }] };
928
+ }
929
+
930
+ private async handleSkillRegistryRemove(args: { name: string }) {
931
+ const output = await this.captureConsole(() =>
932
+ skillRegistryCommand("remove", { name: args.name })
933
+ );
934
+ return { content: [{ type: "text", text: output || "Source removed." }] };
935
+ }
936
+
827
937
  async run(): Promise<void> {
828
938
  const transport = new StdioServerTransport();
829
939
  await this.server.connect(transport);
@@ -917,7 +1027,7 @@ class SkillInvocationServer {
917
1027
  }
918
1028
 
919
1029
  // Start the server if this file is run directly
920
- const entryPoint = path.resolve(process.argv[1] ?? "");
1030
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
921
1031
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
922
1032
  // If --port or MCP_PORT is set, use HTTP transport (for Grok CLI compatibility)
923
1033
  const cliPort = process.argv.find((a) => a.startsWith("--port="))?.split("=")[1];
@@ -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
  import { frameworkLogger } from "../../core/framework-logger.js";
17
17
 
@@ -110,7 +110,7 @@ class StrategistServer {
110
110
  constructor() {
111
111
  this.server = new Server(
112
112
  {
113
- name: "xray/strategist", version: "1.22.67",
113
+ name: "xray/strategist", version: "3.1.0",
114
114
  },
115
115
  {
116
116
  capabilities: {
@@ -258,7 +258,7 @@ class StrategistServer {
258
258
  }
259
259
  }
260
260
 
261
- const entryPoint = path.resolve(process.argv[1] ?? "");
261
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
262
262
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
263
263
  const server = new StrategistServer();
264
264
  server.start().catch((error) => frameworkLogger.log("mcps/strategist", "run", "error", { error: String(error) }));
@@ -166,7 +166,7 @@ class XrayDocumentationGenerationServer {
166
166
  constructor() {
167
167
  this.server = new Server(
168
168
  {
169
- name: "documentation-generation", version: "1.22.67",
169
+ name: "documentation-generation", version: "3.1.0",
170
170
  },
171
171
  {
172
172
  capabilities: {
@@ -1053,7 +1053,7 @@ class XrayDocumentationGenerationServer {
1053
1053
  openapi: "3.0.0",
1054
1054
  info: {
1055
1055
  title: "API Documentation",
1056
- version: "1.22.67",
1056
+ version: "3.1.0",
1057
1057
  description: "Generated API documentation",
1058
1058
  },
1059
1059
  servers: [
@@ -1630,7 +1630,7 @@ class XrayDocumentationGenerationServer {
1630
1630
  }
1631
1631
 
1632
1632
  // Run the server if this file is executed directly
1633
- if (import.meta.url === `file://${process.argv[1]}`) {
1633
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1634
1634
  const server = new XrayDocumentationGenerationServer();
1635
1635
  server.run().catch(() => {});
1636
1636
  }
@@ -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 {
@@ -209,7 +210,7 @@ class XrayTestingBestPracticesServer {
209
210
  constructor() {
210
211
  this.server = new Server(
211
212
  {
212
- name: "testing-best-practices", version: "1.22.67",
213
+ name: "testing-best-practices", version: "3.1.0",
213
214
  },
214
215
  {
215
216
  capabilities: {
@@ -1224,7 +1225,7 @@ class XrayTestingBestPracticesServer {
1224
1225
  }
1225
1226
 
1226
1227
  // Run the server if this file is executed directly
1227
- if (import.meta.url === `file://${process.argv[1]}`) {
1228
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1228
1229
  const server = new XrayTestingBestPracticesServer();
1229
1230
  server.run().catch(() => {});
1230
1231
  }
@@ -135,7 +135,7 @@ class XrayTestingStrategyServer {
135
135
  constructor() {
136
136
  this.server = new Server(
137
137
  {
138
- name: "testing-strategy", version: "1.22.67",
138
+ name: "testing-strategy", version: "3.1.0",
139
139
  },
140
140
  {
141
141
  capabilities: {
@@ -1164,7 +1164,7 @@ describe("${pathModule.basename(sourceFile, ".ts")}", () => {${testCases}
1164
1164
  }
1165
1165
 
1166
1166
  // Start the server if run directly
1167
- if (import.meta.url === `file://${process.argv[1]}`) {
1167
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1168
1168
  const server = new XrayTestingStrategyServer();
1169
1169
  server.run().catch(() => {});
1170
1170
  }
@@ -12,6 +12,7 @@ import {
12
12
  ListToolsRequestSchema,
13
13
  type CallToolResult,
14
14
  } from "@modelcontextprotocol/sdk/types.js";
15
+ import * as fs from "fs";
15
16
  import { frameworkLogger } from "../../core/framework-logger.js";
16
17
 
17
18
  interface UIDesignAnalysis {
@@ -192,7 +193,7 @@ class XrayUIUXDesignServer {
192
193
  constructor() {
193
194
  this.server = new Server(
194
195
  {
195
- name: "ui-ux-design", version: "1.22.67",
196
+ name: "ui-ux-design", version: "3.1.0",
196
197
  },
197
198
  {
198
199
  capabilities: {
@@ -2068,7 +2069,7 @@ Available: ${Object.keys(system.components).length} component types
2068
2069
  }
2069
2070
 
2070
2071
  // Run the server if this file is executed directly
2071
- if (import.meta.url === `file://${process.argv[1]}`) {
2072
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
2072
2073
  const server = new XrayUIUXDesignServer();
2073
2074
  server.run().catch((error) => frameworkLogger.log("mcps/ui-ux-design", "run", "error", { error: String(error) }));
2074
2075
  }
@@ -39,7 +39,7 @@ class XrayLintServer {
39
39
  constructor() {
40
40
  this.server = new Server(
41
41
  {
42
- name: "lint", version: "1.22.67",
42
+ name: "lint", version: "3.1.0",
43
43
  },
44
44
  {
45
45
  capabilities: {
@@ -475,7 +475,7 @@ ${checkResults.details.map((d) => `• ${d}`).join("\n")}
475
475
  }
476
476
 
477
477
  // Start the server if run directly
478
- if (import.meta.url === `file://${process.argv[1]}`) {
478
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
479
479
  const server = new XrayLintServer();
480
480
  server.run().catch((error) => frameworkLogger.log("mcps/lint", "run", "error", { error: String(error) }));
481
481
  }
@@ -42,7 +42,7 @@ class XrayModelHealthCheckServer {
42
42
  constructor() {
43
43
  this.server = new Server(
44
44
  {
45
- name: "model-health-check", version: "1.22.67",
45
+ name: "model-health-check", version: "3.1.0",
46
46
  },
47
47
  {
48
48
  capabilities: {
@@ -284,7 +284,7 @@ class XrayModelHealthCheckServer {
284
284
  }
285
285
 
286
286
  // Start the server if this file is run directly
287
- if (import.meta.url === `file://${process.argv[1]}`) {
287
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
288
288
  const server = new XrayModelHealthCheckServer();
289
289
  server.start().catch((error) => frameworkLogger.log("mcps/model-health-check", "run", "error", { error: String(error) }));
290
290
  }
@@ -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 { XrayStateManager } from '../../state/state-manager.js';
16
17
  import { MultiAgentOrchestrationCoordinator } from '../../orchestrator/multi-agent-orchestration-coordinator.js';
@@ -377,7 +378,7 @@ export function createOrchestratorServer(): OrchestratorServer {
377
378
  }
378
379
 
379
380
  // Run if called directly
380
- if (import.meta.url === `file://${process.argv[1]}`) {
381
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
381
382
  const server = createOrchestratorServer();
382
383
  server.start().catch((error) => {
383
384
  frameworkLogger.log('orchestrator.server', 'fatal-error', 'error', {
@@ -7,6 +7,7 @@
7
7
  * @deprecated Use src/mcps/orchestrator/server.ts instead
8
8
  */
9
9
 
10
+ import * as fs from 'fs';
10
11
  import { frameworkLogger } from '../core/framework-logger.js';
11
12
 
12
13
  export { OrchestratorServer, createOrchestratorServer } from './orchestrator/server.js';
@@ -24,7 +25,7 @@ export type {
24
25
  } from './orchestrator/types.js';
25
26
 
26
27
  // Run if called directly
27
- if (import.meta.url === `file://${process.argv[1]}`) {
28
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
28
29
  const { createOrchestratorServer } = await import('./orchestrator/server.js');
29
30
  const server = createOrchestratorServer();
30
31
  server.start().catch((error) => {
@@ -64,7 +64,7 @@ class XrayPerformanceAnalysisServer {
64
64
  constructor() {
65
65
  this.server = new Server(
66
66
  {
67
- name: "performance-analysis", version: "1.22.67",
67
+ name: "performance-analysis", version: "3.1.0",
68
68
  },
69
69
  {
70
70
  capabilities: {
@@ -707,7 +707,7 @@ ${results.recommendations.map((r) => `• 💡 ${r}`).join("\n") || "No recommen
707
707
  }
708
708
 
709
709
  // Start the server if run directly
710
- if (import.meta.url === `file://${process.argv[1]}`) {
710
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
711
711
  const server = new XrayPerformanceAnalysisServer();
712
712
  server.run().catch((error) => frameworkLogger.log("mcps/performance-analysis", "run", "error", { error: String(error) }));
713
713
  }
@@ -10,6 +10,7 @@ import {
10
10
  CallToolRequestSchema,
11
11
  ListToolsRequestSchema,
12
12
  } from "@modelcontextprotocol/sdk/types.js";
13
+ import * as fs from "fs";
13
14
  import { frameworkLogger } from "../core/framework-logger.js";
14
15
  import { CodexLoader } from "../enforcement/loaders/codex-loader.js";
15
16
  import type { RuleDefinition, RuleValidationContext } from "../enforcement/types.js";
@@ -107,7 +108,7 @@ class XrayProcessorPipelineServer {
107
108
  this.codexLoader = new CodexLoader();
108
109
  this.server = new Server(
109
110
  {
110
- name: "processor-pipeline", version: "1.22.67",
111
+ name: "processor-pipeline", version: "3.1.0",
111
112
  },
112
113
  {
113
114
  capabilities: {
@@ -770,7 +771,7 @@ ${complianceResults.actions.map((a: string) => `• 🔧 ${a}`).join("\n") || "N
770
771
  }
771
772
 
772
773
  // Start the server if run directly
773
- if (import.meta.url === `file://${process.argv[1]}`) {
774
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
774
775
  const server = new XrayProcessorPipelineServer();
775
776
  server.run().catch((error) => frameworkLogger.log("mcps/processor-pipeline", "run", "error", { error: String(error) }));
776
777
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.22.67",
2
+ "version": "3.1.0",
3
3
  "description": "0xRay Community MCPs Registry - curated API-focused MCP servers",
4
4
  "sources": [
5
5
  {
@@ -55,7 +55,7 @@ class XrayLibrarianServer {
55
55
  constructor() {
56
56
  this.server = new Server(
57
57
  {
58
- name: "researcher", version: "1.22.67",
58
+ name: "researcher", version: "3.1.0",
59
59
  },
60
60
  {
61
61
  capabilities: {
@@ -572,7 +572,7 @@ class XrayLibrarianServer {
572
572
  }
573
573
 
574
574
  // Run the server if this file is executed directly
575
- if (import.meta.url === `file://${process.argv[1]}`) {
575
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
576
576
  const server = new XrayLibrarianServer();
577
577
  server.run().catch((error) => frameworkLogger.log("mcps/researcher", "run", "error", { error: String(error) }));
578
578
  }
@@ -45,7 +45,7 @@ class XraySecurityScanServer {
45
45
  constructor() {
46
46
  this.server = new Server(
47
47
  {
48
- name: "security-scan", version: "1.22.67",
48
+ name: "security-scan", version: "3.1.0",
49
49
  },
50
50
  {
51
51
  capabilities: {
@@ -643,7 +643,7 @@ ${results.recommendations.map((r) => `• ${r}`).join("\n") || "No recommendatio
643
643
  }
644
644
 
645
645
  // Start the server if run directly
646
- if (import.meta.url === `file://${process.argv[1]}`) {
646
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
647
647
  const server = new XraySecurityScanServer();
648
648
  server.run().catch((error) => frameworkLogger.log("mcps/security-scan", "run", "error", { error: String(error) }));
649
649
  }
@@ -62,7 +62,7 @@ interface ValidationResult {
62
62
 
63
63
  type StateValue = string | number | boolean | object | null | undefined;
64
64
 
65
- class StrRayStateManagerServer {
65
+ class XrayStateManagerServer {
66
66
  private server: Server;
67
67
  private state: Map<string, unknown> = new Map();
68
68
  private stateFile: string;
@@ -71,7 +71,7 @@ class StrRayStateManagerServer {
71
71
  constructor() {
72
72
  this.server = new Server(
73
73
  {
74
- name: "state-manager", version: "1.22.67",
74
+ name: "state-manager", version: "3.1.0",
75
75
  },
76
76
  {
77
77
  capabilities: {
@@ -769,9 +769,9 @@ ${results.repairedKeys.length > 0 ? `**Repaired Keys:**\n${results.repairedKeys.
769
769
  }
770
770
 
771
771
  // Start the server if run directly
772
- if (import.meta.url === `file://${process.argv[1]}`) {
773
- const server = new StrRayStateManagerServer();
772
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
773
+ const server = new XrayStateManagerServer();
774
774
  server.run().catch((error) => frameworkLogger.log("mcps/state-manager", "run", "error", { error: String(error) }));
775
775
  }
776
776
 
777
- export { StrRayStateManagerServer };
777
+ export { XrayStateManagerServer };
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.22.67",
2
+ "version": "3.1.0",
3
3
  "terms": [
4
4
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
5
5
  ],
@@ -69,7 +69,7 @@ Comprehensive dependency analysis and security audit for all project dependencie
69
69
  "vulnerabilities": [
70
70
  {
71
71
  "package": "lodash",
72
- "version": "1.22.67",
72
+ "version": "3.1.0",
73
73
  "severity": "high",
74
74
  "cve": "CVE-2021-23337",
75
75
  "description": "Command injection vulnerability"
@@ -85,14 +85,14 @@ Security-focused format for CI/CD integration:
85
85
 
86
86
  ```json
87
87
  {
88
- "version": "1.22.67",
88
+ "version": "3.1.0",
89
89
  "$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
90
90
  "runs": [
91
91
  {
92
92
  "tool": {
93
93
  "driver": {
94
94
  "name": "Dependency Audit",
95
- "version": "1.22.67"
95
+ "version": "3.1.0"
96
96
  }
97
97
  },
98
98
  "results": [...]
@@ -47,17 +47,17 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
47
47
  PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
48
48
  REFACTORING_LOG="${PROJECT_ROOT}/docs/REFACTORING_LOG.md"
49
49
 
50
- # Check if summary content is provided via environment variable or stdin (XRAY_ primary + STRRAY_ min compat fallback per Scope Rule)
50
+ # Check if summary content is provided via environment variable or stdin (XRAY_ primary)
51
51
 
52
52
  if [ -n "$XRAY_SUMMARY_CONTENT" ]; then
53
53
  SUMMARY_CONTENT="$XRAY_SUMMARY_CONTENT"
54
- elif [ -n "$STRRAY_SUMMARY_CONTENT" ]; then
55
- SUMMARY_CONTENT="$STRRAY_SUMMARY_CONTENT"
54
+ elif [ -n "$XRAY_SUMMARY_CONTENT" ]; then
55
+ SUMMARY_CONTENT="$XRAY_SUMMARY_CONTENT"
56
56
  elif [ ! -t 0 ]; then
57
57
  # Read from stdin
58
58
  SUMMARY_CONTENT=$(cat)
59
59
  else
60
- echo "❌ No summary content provided. Use XRAY_SUMMARY_CONTENT (or STRRAY_ compat) environment variable or pipe content."
60
+ echo "❌ No summary content provided. Use XRAY_SUMMARY_CONTENT environment variable or pipe content."
61
61
  echo "Usage:"
62
62
  echo " export XRAY_SUMMARY_CONTENT='summary content' && bash .opencode/commands/summary-logger.md"
63
63
  echo " echo 'summary content' | bash .opencode/commands/summary-logger.md"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "framework": "xray 2.0",
3
- "version": "1.22.67",
3
+ "version": "3.1.0",
4
4
  "description": "Codex-compliant framework configuration for Credible UI project",
5
5
  "thresholds": {
6
6
  "bundleSize": {
@@ -220,7 +220,7 @@
220
220
  }
221
221
  },
222
222
  "codex": {
223
- "version": "1.22.67",
223
+ "version": "3.1.0",
224
224
  "terms": [
225
225
  1,
226
226
  2,
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: api-design
4
4
  description: RESTful API design and validation
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [design, api, design]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: architect-tools
4
4
  description: System design and technical architecture tools
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [design, architect, tools]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: architecture-patterns
4
4
  description: Software architecture patterns and best practices
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [design, architecture, patterns]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: auto-format
4
4
  description: Automated code formatting and style consistency
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [formatting, auto, format]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: boot-orchestrator
4
4
  description: Framework initialization and boot orchestration
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [infrastructure, boot, orchestrator]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: bug-triage
4
4
  description: Bug triage, debugging analysis, and issue prioritization
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [debugging, bug-fix, triage, error-analysis]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: code-analyzer
4
4
  description: Deep code analysis, metrics extraction, and pattern detection (CONSOLIDATED - combines analyzer, explore, and original code-analyzer)
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [analysis, metrics, code-quality, patterns]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: code-review
4
4
  description: Perform comprehensive code quality assessment and provide improvement suggestions
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [review, quality, assessment, improvement]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: enforcer
4
4
  description: Codex compliance validation and error prevention
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [quality, enforcer]
@@ -2,7 +2,7 @@
2
2
  source: framework
3
3
  name: framework-compliance-audit
4
4
  description: Framework compliance auditing and validation
5
- author: StrRay Framework
5
+ author: Xray Framework
6
6
  version: 1.0.0
7
7
  schema_version: "1.0"
8
8
  tags: [compliance, framework, compliance, audit]