0xray 2.0.1 → 2.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 (286) hide show
  1. package/.opencode/codex.codex +1 -1
  2. package/.opencode/commands/dependency-audit.md +3 -3
  3. package/.opencode/enforcer-config.json +2 -2
  4. package/.opencode/hooks/post-commit +1 -1
  5. package/.opencode/init.sh +2 -2
  6. package/AGENTS.md +1 -1
  7. package/README.md +2 -2
  8. package/dist/AGENTS.md +1 -1
  9. package/dist/CHANGELOG.md +10 -0
  10. package/dist/README.md +2 -2
  11. package/dist/analytics/routing-refiner.js +1 -1
  12. package/dist/benchmark/performance-benchmark.d.ts +2 -2
  13. package/dist/benchmark/performance-benchmark.js +3 -3
  14. package/dist/cli/commands/hermes-install.js +4 -4
  15. package/dist/cli/commands/mcp-install.js +1 -1
  16. package/dist/cli/commands/openclaw-install.js +1 -1
  17. package/dist/cli/commands/plugin-commands.js +2 -2
  18. package/dist/cli/commands/publish-agent.js +5 -5
  19. package/dist/cli/commands/skill-install.js +1 -1
  20. package/dist/cli/commands/status.js +3 -3
  21. package/dist/cli/commands/storyteller.js +2 -2
  22. package/dist/cli/index.js +8 -8
  23. package/dist/cli/server.js +1 -1
  24. package/dist/core/agent-spawn-gate.d.ts +1 -1
  25. package/dist/core/agent-spawn-gate.js +1 -1
  26. package/dist/core/boot-orchestrator.d.ts +4 -4
  27. package/dist/core/boot-orchestrator.js +27 -27
  28. package/dist/core/bridge.mjs +22 -22
  29. package/dist/core/codex-formatter.js +2 -2
  30. package/dist/core/codex-injector.d.ts +4 -3
  31. package/dist/core/codex-injector.js +11 -10
  32. package/dist/core/config-loader.d.ts +5 -4
  33. package/dist/core/config-loader.js +4 -2
  34. package/dist/core/config-paths.d.ts +9 -8
  35. package/dist/core/config-paths.js +24 -23
  36. package/dist/core/context-loader.d.ts +4 -3
  37. package/dist/core/context-loader.js +7 -5
  38. package/dist/core/features-config.js +1 -1
  39. package/dist/core/index.d.ts +1 -1
  40. package/dist/core/index.js +1 -1
  41. package/dist/core/orchestrator.d.ts +1 -0
  42. package/dist/core/orchestrator.js +3 -2
  43. package/dist/core/system-prompt-generator.js +2 -2
  44. package/dist/core/xray-activation.d.ts +4 -4
  45. package/dist/core/xray-activation.js +29 -24
  46. package/dist/delegation/agent-delegator.d.ts +3 -3
  47. package/dist/delegation/agent-delegator.js +3 -3
  48. package/dist/delegation/metrics-aggregator.d.ts +11 -11
  49. package/dist/delegation/session-coordinator.d.ts +3 -3
  50. package/dist/delegation/voting-coordinator.d.ts +3 -3
  51. package/dist/enforcement/enforcer-tools.js +2 -2
  52. package/dist/enforcement/loaders/codex-loader.d.ts +1 -1
  53. package/dist/enforcement/loaders/codex-loader.js +2 -2
  54. package/dist/index.d.ts +5 -5
  55. package/dist/index.js +6 -6
  56. package/dist/inference/deploy-verifier.js +1 -1
  57. package/dist/inference/inference-cycle.js +7 -7
  58. package/dist/integrations/base/README.md +2 -2
  59. package/dist/integrations/governance/index.js +1 -1
  60. package/dist/integrations/grok/grok-cli.d.ts +1 -1
  61. package/dist/integrations/grok/grok-cli.js +6 -6
  62. package/dist/integrations/grok/hooks/pre-tool-use.js +1 -1
  63. package/dist/integrations/grok/plugin/0xray/.mcp.json +3 -3
  64. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  65. package/dist/integrations/hermes-agent/__init__.py +77 -71
  66. package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
  67. package/dist/integrations/hermes-agent/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc +0 -0
  68. package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
  69. package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313-pytest-9.0.2.pyc +0 -0
  70. package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313.pyc +0 -0
  71. package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
  72. package/dist/integrations/hermes-agent/after-install.md +14 -14
  73. package/dist/integrations/hermes-agent/bridge.mjs +14 -14
  74. package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +1 -0
  75. package/dist/integrations/hermes-agent/plugin.yaml +5 -5
  76. package/dist/integrations/hermes-agent/schemas.py +12 -12
  77. package/dist/integrations/hermes-agent/test_plugin.py +128 -125
  78. package/dist/integrations/hermes-agent/tools.py +85 -23
  79. package/dist/integrations/openclaw/README.md +16 -16
  80. package/dist/integrations/openclaw/api-server.d.ts +4 -4
  81. package/dist/integrations/openclaw/api-server.js +9 -9
  82. package/dist/integrations/openclaw/config.js +1 -1
  83. package/dist/integrations/openclaw/hooks/{strray-hooks.d.ts → xray-hooks.d.ts} +4 -4
  84. package/dist/integrations/openclaw/index.d.ts +4 -4
  85. package/dist/integrations/openclaw/index.js +4 -4
  86. package/dist/integrations/openclaw/types.d.ts +1 -1
  87. package/dist/integrations/plugins/plugin-registry.js +2 -2
  88. package/dist/mcps/architect-tools.server.d.ts +2 -2
  89. package/dist/mcps/architect-tools.server.js +4 -4
  90. package/dist/mcps/auto-format.server.d.ts +2 -2
  91. package/dist/mcps/auto-format.server.js +4 -4
  92. package/dist/mcps/boot-orchestrator.server.d.ts +2 -2
  93. package/dist/mcps/boot-orchestrator.server.js +4 -4
  94. package/dist/mcps/config/server-config-registry.d.ts +1 -1
  95. package/dist/mcps/config/server-config-registry.js +7 -7
  96. package/dist/mcps/connection/mcp-connection.js +1 -1
  97. package/dist/mcps/enforcer-tools.server.d.ts +2 -2
  98. package/dist/mcps/enforcer-tools.server.js +4 -4
  99. package/dist/mcps/estimation.server.js +1 -1
  100. package/dist/mcps/framework-compliance-audit.server.d.ts +2 -2
  101. package/dist/mcps/framework-compliance-audit.server.js +4 -4
  102. package/dist/mcps/framework-help.server.js +7 -7
  103. package/dist/mcps/governance.server.js +1 -1
  104. package/dist/mcps/in-process-skill-registry.js +6 -6
  105. package/dist/mcps/knowledge-skills/api-design.server.d.ts +2 -2
  106. package/dist/mcps/knowledge-skills/api-design.server.js +4 -4
  107. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +2 -2
  108. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +4 -4
  109. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
  110. package/dist/mcps/knowledge-skills/code-analyzer.server.js +1 -1
  111. package/dist/mcps/knowledge-skills/code-review.server.d.ts +2 -2
  112. package/dist/mcps/knowledge-skills/code-review.server.js +4 -4
  113. package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
  114. package/dist/mcps/knowledge-skills/database-design.server.d.ts +2 -2
  115. package/dist/mcps/knowledge-skills/database-design.server.js +4 -4
  116. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +2 -2
  117. package/dist/mcps/knowledge-skills/devops-deployment.server.js +4 -4
  118. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +2 -2
  119. package/dist/mcps/knowledge-skills/git-workflow.server.js +4 -4
  120. package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
  121. package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
  122. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +2 -2
  123. package/dist/mcps/knowledge-skills/mobile-development.server.js +4 -4
  124. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1 -1
  125. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +2 -2
  126. package/dist/mcps/knowledge-skills/performance-optimization.server.js +4 -4
  127. package/dist/mcps/knowledge-skills/project-analysis.server.js +1 -1
  128. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +2 -2
  129. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +4 -4
  130. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +2 -2
  131. package/dist/mcps/knowledge-skills/security-audit.server.js +4 -4
  132. package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
  133. package/dist/mcps/knowledge-skills/session-management.server.js +1 -1
  134. package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
  135. package/dist/mcps/knowledge-skills/strategist.server.js +1 -1
  136. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +2 -2
  137. package/dist/mcps/knowledge-skills/tech-writer.server.js +5 -5
  138. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +2 -2
  139. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +4 -4
  140. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +2 -2
  141. package/dist/mcps/knowledge-skills/testing-strategy.server.js +4 -4
  142. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +2 -2
  143. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +6 -6
  144. package/dist/mcps/lint.server.d.ts +2 -2
  145. package/dist/mcps/lint.server.js +6 -6
  146. package/dist/mcps/mcp-client.js +3 -3
  147. package/dist/mcps/model-health-check.server.d.ts +2 -2
  148. package/dist/mcps/model-health-check.server.js +4 -4
  149. package/dist/mcps/orchestrator/server.js +2 -2
  150. package/dist/mcps/performance-analysis.server.d.ts +2 -2
  151. package/dist/mcps/performance-analysis.server.js +4 -4
  152. package/dist/mcps/processor-pipeline.server.d.ts +2 -2
  153. package/dist/mcps/processor-pipeline.server.js +4 -4
  154. package/dist/mcps/registry.json +1 -1
  155. package/dist/mcps/researcher.server.d.ts +3 -3
  156. package/dist/mcps/researcher.server.js +5 -5
  157. package/dist/mcps/security-scan.server.d.ts +2 -2
  158. package/dist/mcps/security-scan.server.js +4 -4
  159. package/dist/mcps/simulation/server-simulations.js +3 -3
  160. package/dist/mcps/state-manager.server.js +1 -1
  161. package/dist/metrics/agent-metrics.d.ts +4 -4
  162. package/dist/metrics/agent-metrics.js +1 -1
  163. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +2 -2
  164. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
  165. package/dist/orchestrator/intelligent-commit-batcher.d.ts +1 -1
  166. package/dist/orchestrator/intelligent-commit-batcher.js +3 -3
  167. package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +3 -3
  168. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +9 -9
  169. package/dist/orchestrator/orchestrator.d.ts +3 -2
  170. package/dist/orchestrator/orchestrator.js +8 -6
  171. package/dist/orchestrator/universal-registry-bridge.js +1 -1
  172. package/dist/plugin/xray-codex-injection.d.ts +1 -1
  173. package/dist/plugin/xray-codex-injection.js +8 -7
  174. package/dist/postprocessor/PostProcessor.d.ts +2 -2
  175. package/dist/postprocessor/PostProcessor.js +1 -1
  176. package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +2 -2
  177. package/dist/postprocessor/services/RegressionAnalysisService.js +2 -2
  178. package/dist/postprocessor/triggers/GitHookTrigger.js +14 -14
  179. package/dist/processors/implementations/agents-md-validation-processor.js +2 -2
  180. package/dist/processors/implementations/inference-improvement-processor.js +2 -2
  181. package/dist/processors/implementations/log-protection-processor.d.ts +1 -1
  182. package/dist/processors/implementations/log-protection-processor.js +2 -2
  183. package/dist/processors/implementations/publish-preflight-processor.d.ts +1 -1
  184. package/dist/processors/implementations/publish-preflight-processor.js +3 -3
  185. package/dist/processors/implementations/regression-testing-processor.js +2 -2
  186. package/dist/processors/implementations/session-summary-processor.js +2 -2
  187. package/dist/processors/implementations/storytelling-trigger-processor.js +2 -2
  188. package/dist/processors/processor-manager.d.ts +2 -2
  189. package/dist/public/about.html +6 -6
  190. package/dist/public/enterprise.html +1 -1
  191. package/dist/public/features.html +2 -2
  192. package/dist/public/index.html +4 -4
  193. package/dist/reporting/report-formatter.js +1 -1
  194. package/dist/scripts/activate-kernel-pipeline.js +2 -2
  195. package/dist/scripts/pre-command +1 -1
  196. package/dist/services/inference-tuner.js +2 -2
  197. package/dist/session/session-cleanup-manager.d.ts +3 -3
  198. package/dist/session/session-monitor.d.ts +3 -3
  199. package/dist/session/session-state-manager.d.ts +3 -3
  200. package/dist/skills/hermes-agent/SKILL.md +12 -12
  201. package/dist/skills/registry.json +1 -1
  202. package/dist/skills/storyteller/SKILL.md +1 -1
  203. package/dist/skills/xray-orchestrator/SKILL.md +141 -0
  204. package/dist/skills/xray-orchestrator/index.d.ts +13 -0
  205. package/dist/skills/xray-orchestrator/index.js +224 -0
  206. package/dist/state/index.d.ts +2 -1
  207. package/dist/state/index.js +2 -1
  208. package/dist/state/state-manager.d.ts +2 -2
  209. package/dist/state/state-manager.js +5 -4
  210. package/dist/utils/import-resolver.js +1 -1
  211. package/dist/utils/path-resolver.js +2 -2
  212. package/dist/utils/token-manager.js +1 -1
  213. package/dist/validation/estimation-validator.js +1 -1
  214. package/package.json +2 -2
  215. package/scripts/hooks/pre-command +1 -1
  216. package/scripts/hooks/run-hook.js +2 -2
  217. package/scripts/node/auto-reflection-generator.mjs +2 -2
  218. package/scripts/node/postinstall.cjs +1 -1
  219. package/scripts/node/pre-publish-guard.js +16 -10
  220. package/scripts/node/release.js +6 -6
  221. package/scripts/node/release.mjs +11 -11
  222. package/scripts/node/universal-version-manager.js +2 -2
  223. package/scripts/node/version-manager.mjs +1 -1
  224. package/src/integrations/grok/plugin/0xray/.mcp.json +3 -3
  225. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  226. package/src/mcps/architect-tools.server.ts +4 -4
  227. package/src/mcps/auto-format.server.ts +4 -4
  228. package/src/mcps/boot-orchestrator.server.ts +4 -4
  229. package/src/mcps/config/server-config-registry.ts +7 -7
  230. package/src/mcps/connection/mcp-connection.ts +1 -1
  231. package/src/mcps/enforcer-tools.server.ts +4 -4
  232. package/src/mcps/estimation.server.ts +1 -1
  233. package/src/mcps/framework-compliance-audit.server.ts +4 -4
  234. package/src/mcps/framework-help.server.ts +7 -7
  235. package/src/mcps/governance.server.ts +1 -1
  236. package/src/mcps/in-process-skill-registry.ts +6 -6
  237. package/src/mcps/knowledge-skills/api-design.server.test.ts +8 -8
  238. package/src/mcps/knowledge-skills/api-design.server.ts +4 -4
  239. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +4 -4
  240. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +1 -1
  241. package/src/mcps/knowledge-skills/code-analyzer.server.ts +1 -1
  242. package/src/mcps/knowledge-skills/code-review.server.ts +4 -4
  243. package/src/mcps/knowledge-skills/content-creator.server.ts +1 -1
  244. package/src/mcps/knowledge-skills/database-design.server.ts +4 -4
  245. package/src/mcps/knowledge-skills/devops-deployment.server.ts +4 -4
  246. package/src/mcps/knowledge-skills/git-workflow.server.ts +4 -4
  247. package/src/mcps/knowledge-skills/growth-strategist.server.ts +1 -1
  248. package/src/mcps/knowledge-skills/log-monitor.server.ts +1 -1
  249. package/src/mcps/knowledge-skills/mobile-development.server.ts +4 -4
  250. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +1 -1
  251. package/src/mcps/knowledge-skills/performance-optimization.server.ts +4 -4
  252. package/src/mcps/knowledge-skills/project-analysis.server.ts +1 -1
  253. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +4 -4
  254. package/src/mcps/knowledge-skills/security-audit.server.test.ts +23 -23
  255. package/src/mcps/knowledge-skills/security-audit.server.ts +4 -4
  256. package/src/mcps/knowledge-skills/seo-consultant.server.ts +1 -1
  257. package/src/mcps/knowledge-skills/session-management.server.ts +1 -1
  258. package/src/mcps/knowledge-skills/skill-invocation.server.ts +1 -1
  259. package/src/mcps/knowledge-skills/strategist.server.ts +1 -1
  260. package/src/mcps/knowledge-skills/tech-writer.server.ts +5 -5
  261. package/src/mcps/knowledge-skills/testing-best-practices.server.test.ts +28 -28
  262. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +4 -4
  263. package/src/mcps/knowledge-skills/testing-strategy.server.test.ts +19 -19
  264. package/src/mcps/knowledge-skills/testing-strategy.server.ts +4 -4
  265. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +6 -6
  266. package/src/mcps/lint.server.ts +6 -6
  267. package/src/mcps/mcp-client.ts +3 -3
  268. package/src/mcps/model-health-check.server.ts +4 -4
  269. package/src/mcps/orchestrator/server.ts +2 -2
  270. package/src/mcps/performance-analysis.server.ts +4 -4
  271. package/src/mcps/processor-pipeline.server.ts +4 -4
  272. package/src/mcps/registry.json +1 -1
  273. package/src/mcps/researcher.server.ts +5 -5
  274. package/src/mcps/security-scan.server.ts +4 -4
  275. package/src/mcps/simulation/server-simulations.ts +3 -3
  276. package/src/mcps/state-manager.server.ts +1 -1
  277. package/src/opencode/codex.codex +1 -1
  278. package/src/opencode/commands/dependency-audit.md +3 -3
  279. package/src/opencode/enforcer-config.json +2 -2
  280. package/src/skills/hermes-agent/SKILL.md +12 -12
  281. package/src/skills/registry.json +1 -1
  282. package/src/skills/storyteller/SKILL.md +1 -1
  283. package/src/skills/xray-orchestrator/SKILL.md +141 -0
  284. package/src/skills/xray-orchestrator/index.ts +268 -0
  285. package/scripts/validate-stringray-comprehensive.js +0 -636
  286. /package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -0
@@ -92,7 +92,7 @@ interface ShutdownFrameworkArgs {
92
92
  saveState?: boolean;
93
93
  }
94
94
 
95
- class StringRayBootOrchestratorServer {
95
+ class XrayBootOrchestratorServer {
96
96
  private server: Server;
97
97
  private bootStatus: {
98
98
  initialized: boolean;
@@ -120,7 +120,7 @@ class StringRayBootOrchestratorServer {
120
120
  constructor() {
121
121
  this.server = new Server(
122
122
  {
123
- name: "boot-orchestrator", version: "2.0.0",
123
+ name: "boot-orchestrator", version: "2.0.1",
124
124
  },
125
125
  {
126
126
  capabilities: {
@@ -1075,8 +1075,8 @@ ${results.warnings.length > 0 ? `**Warnings:**\n${results.warnings.map((w: strin
1075
1075
 
1076
1076
  // Start the server if run directly
1077
1077
  if (import.meta.url === `file://${process.argv[1]}`) {
1078
- const server = new StringRayBootOrchestratorServer();
1078
+ const server = new XrayBootOrchestratorServer();
1079
1079
  server.run().catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
1080
1080
  }
1081
1081
 
1082
- export { StringRayBootOrchestratorServer };
1082
+ export { XrayBootOrchestratorServer };
@@ -21,7 +21,7 @@ import fs from 'fs';
21
21
  * Resolve the correct framework root and MCP servers path.
22
22
  * Priority:
23
23
  * 1. STRRAY_DEV_PATH env var (explicit dev override)
24
- * 2. The "strray" field in the nearest package.json that declares it (works in both source tree and installed package)
24
+ * 2. The "xray" field in the nearest package.json that declares it (works in both source tree and installed package)
25
25
  * 3. Safe fallback to node_modules/0xray/dist
26
26
  */
27
27
  function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: string } {
@@ -34,7 +34,7 @@ function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: strin
34
34
  };
35
35
  }
36
36
 
37
- // Walk upward from this module to find the package that owns the "strray" config
37
+ // Walk upward from this module to find the package that owns the "xray" config
38
38
  let currentDir = dirname(fileURLToPath(import.meta.url));
39
39
 
40
40
  // Safety limit to avoid walking the entire filesystem
@@ -44,10 +44,10 @@ function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: strin
44
44
  if (fs.existsSync(pkgPath)) {
45
45
  try {
46
46
  const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
47
- if (pkg.name === '0xray' && pkg.strray) {
48
- const strrayCfg = pkg.strray as Record<string, string>;
47
+ if (pkg.name === '0xray' && pkg.xray) {
48
+ const xrayCfg = pkg.xray as Record<string, string>;
49
49
  const frameworkRoot = currentDir;
50
- const declaredMcp = strrayCfg.mcpServersPath || (strrayCfg.dist ? join(strrayCfg.dist, 'mcps') : 'dist/mcps');
50
+ const declaredMcp = xrayCfg.mcpServersPath || (xrayCfg.dist ? join(xrayCfg.dist, 'mcps') : 'dist/mcps');
51
51
  return {
52
52
  frameworkRoot,
53
53
  mcpServersPath: join(frameworkRoot, declaredMcp),
@@ -65,7 +65,7 @@ function resolveFrameworkPaths(): { frameworkRoot: string; mcpServersPath: strin
65
65
  // Final fallback (should almost never be reached)
66
66
  const fallback = 'node_modules/0xray/dist';
67
67
  frameworkLogger.log('server-config-registry', 'using-fallback-path', 'warning', {
68
- reason: 'Could not locate strray package.json with "strray" field',
68
+ reason: 'Could not locate xray package.json with "xray" field',
69
69
  fallback,
70
70
  });
71
71
  return {
@@ -367,7 +367,7 @@ export class ServerConfigRegistry {
367
367
  /**
368
368
  * Create a dynamic configuration for an unknown server
369
369
  * Uses the knowledge-skills directory as default location.
370
- * Now respects the "strray" field declared in package.json.
370
+ * Now respects the "xray" field declared in package.json.
371
371
  */
372
372
  createDynamicConfig(serverName: string): IServerConfig {
373
373
  // Validate serverName against path traversal attacks
@@ -77,7 +77,7 @@ export class McpConnection extends EventEmitter implements IMcpConnection {
77
77
  protocolVersion: MCP_PROTOCOL_VERSION,
78
78
  capabilities: {},
79
79
  clientInfo: {
80
- name: 'strray-mcp-client',
80
+ name: 'xray-mcp-client',
81
81
  version: '1.7.5',
82
82
  },
83
83
  },
@@ -138,13 +138,13 @@ interface SecurityScanResults {
138
138
  promptValidation?: { isSafe: boolean; riskLevel: string; violations: string[] } | { error: string };
139
139
  }
140
140
 
141
- class StringRayEnforcerToolsServer {
141
+ class XrayEnforcerToolsServer {
142
142
  private server: Server;
143
143
 
144
144
  constructor() {
145
145
  this.server = new Server(
146
146
  {
147
- name: "enforcer", version: "2.0.0",
147
+ name: "enforcer", version: "2.0.1",
148
148
  },
149
149
  {
150
150
  capabilities: {
@@ -1099,8 +1099,8 @@ class StringRayEnforcerToolsServer {
1099
1099
  }
1100
1100
 
1101
1101
  if (import.meta.url === `file://${process.argv[1]}`) {
1102
- const server = new StringRayEnforcerToolsServer();
1102
+ const server = new XrayEnforcerToolsServer();
1103
1103
  server.run().catch((error) => frameworkLogger.log("mcps/enforcer", "run", "error", { error: String(error) }));
1104
1104
  }
1105
1105
 
1106
- export default StringRayEnforcerToolsServer;
1106
+ export default XrayEnforcerToolsServer;
@@ -24,7 +24,7 @@ class EstimationServer {
24
24
  constructor() {
25
25
  this.server = new Server(
26
26
  {
27
- name: "estimation-validator", version: "2.0.0",
27
+ name: "estimation-validator", version: "2.0.1",
28
28
  },
29
29
  {
30
30
  capabilities: { tools: {} },
@@ -33,13 +33,13 @@ interface AuditResults {
33
33
  summary: string;
34
34
  }
35
35
 
36
- class StringRayFrameworkComplianceAuditServer {
36
+ class XrayFrameworkComplianceAuditServer {
37
37
  private server: Server;
38
38
 
39
39
  constructor() {
40
40
  this.server = new Server(
41
41
  {
42
- name: "framework-compliance-audit", version: "2.0.0",
42
+ name: "framework-compliance-audit", version: "2.0.1",
43
43
  },
44
44
  {
45
45
  capabilities: {
@@ -628,8 +628,8 @@ ${results.recommendations.map((r) => `• 💡 ${r}`).join("\n")}
628
628
 
629
629
  // Start the server if run directly
630
630
  if (import.meta.url === `file://${process.argv[1]}`) {
631
- const server = new StringRayFrameworkComplianceAuditServer();
631
+ const server = new XrayFrameworkComplianceAuditServer();
632
632
  server.run().catch((error) => frameworkLogger.log("mcps/framework-compliance-audit", "run", "error", { error: String(error) }));
633
633
  }
634
634
 
635
- export { StringRayFrameworkComplianceAuditServer };
635
+ export { XrayFrameworkComplianceAuditServer };
@@ -22,7 +22,7 @@ class FrameworkHelpServer {
22
22
  constructor() {
23
23
  this.server = new Server(
24
24
  {
25
- name: "xray/framework-help", version: "2.0.0",
25
+ name: "xray/framework-help", version: "2.0.1",
26
26
  },
27
27
  {
28
28
  capabilities: {
@@ -40,7 +40,7 @@ class FrameworkHelpServer {
40
40
  return {
41
41
  tools: [
42
42
  {
43
- name: "strray_get_capabilities",
43
+ name: "xray_get_capabilities",
44
44
  description:
45
45
  "Get comprehensive list of all 0xRay framework capabilities, commands, and available tools",
46
46
  inputSchema: {
@@ -63,7 +63,7 @@ class FrameworkHelpServer {
63
63
  },
64
64
  },
65
65
  {
66
- name: "strray_get_commands",
66
+ name: "xray_get_commands",
67
67
  description:
68
68
  "Get list of available 0xRay commands and their usage",
69
69
  inputSchema: {
@@ -84,7 +84,7 @@ class FrameworkHelpServer {
84
84
  },
85
85
  },
86
86
  {
87
- name: "strray_explain_capability",
87
+ name: "xray_explain_capability",
88
88
  description:
89
89
  "Get detailed explanation of a specific 0xRay capability",
90
90
  inputSchema: {
@@ -108,11 +108,11 @@ class FrameworkHelpServer {
108
108
 
109
109
  try {
110
110
  switch (name) {
111
- case "strray_get_capabilities":
111
+ case "xray_get_capabilities":
112
112
  return this.handleGetCapabilities(args);
113
- case "strray_get_commands":
113
+ case "xray_get_commands":
114
114
  return this.handleGetCommands(args);
115
- case "strray_explain_capability":
115
+ case "xray_explain_capability":
116
116
  return this.handleExplainCapability(args);
117
117
  default:
118
118
  throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
@@ -68,7 +68,7 @@ class GovernanceServer {
68
68
  constructor() {
69
69
  this.server = new Server(
70
70
  {
71
- name: "governance", version: "2.0.0",
71
+ name: "governance", version: "2.0.1",
72
72
  },
73
73
  {
74
74
  capabilities: {
@@ -1,6 +1,6 @@
1
- import { StringRayCodeReviewServer } from "./knowledge-skills/code-review.server.js";
2
- import { StringRaySecurityAuditServer } from "./knowledge-skills/security-audit.server.js";
3
- import { StringRayLibrarianServer } from "./researcher.server.js";
1
+ import { XrayCodeReviewServer } from "./knowledge-skills/code-review.server.js";
2
+ import { XraySecurityAuditServer } from "./knowledge-skills/security-audit.server.js";
3
+ import { XrayLibrarianServer } from "./researcher.server.js";
4
4
 
5
5
  interface AnalyzeProposalArgs {
6
6
  proposalTitle?: string;
@@ -25,7 +25,7 @@ const instances = new Map<string, InProcessSkillHandler>();
25
25
 
26
26
  function getCodeReview(): InProcessSkillHandler {
27
27
  if (!instances.has("code-review")) {
28
- const server = new StringRayCodeReviewServer();
28
+ const server = new XrayCodeReviewServer();
29
29
  instances.set("code-review", {
30
30
  analyzeProposal: (args) => server.analyzeProposal(args) as Promise<AnalyzeProposalResult>,
31
31
  });
@@ -35,7 +35,7 @@ function getCodeReview(): InProcessSkillHandler {
35
35
 
36
36
  function getSecurityAudit(): InProcessSkillHandler {
37
37
  if (!instances.has("security-audit")) {
38
- const server = new StringRaySecurityAuditServer();
38
+ const server = new XraySecurityAuditServer();
39
39
  instances.set("security-audit", {
40
40
  analyzeProposal: (args) => server.analyzeProposal(args) as Promise<AnalyzeProposalResult>,
41
41
  });
@@ -45,7 +45,7 @@ function getSecurityAudit(): InProcessSkillHandler {
45
45
 
46
46
  function getResearcher(): InProcessSkillHandler {
47
47
  if (!instances.has("researcher")) {
48
- const server = new StringRayLibrarianServer();
48
+ const server = new XrayLibrarianServer();
49
49
  instances.set("researcher", {
50
50
  analyzeProposal: (args) => server.analyzeProposal(args) as Promise<AnalyzeProposalResult>,
51
51
  });
@@ -3,35 +3,35 @@
3
3
  */
4
4
 
5
5
  import { describe, it, expect, beforeEach } from "vitest";
6
- import StringRayApiDesignServer from "./api-design.server";
6
+ import XrayApiDesignServer from "./api-design.server";
7
7
 
8
8
  describe("api-design.server integration", () => {
9
9
  describe("module exports", () => {
10
10
  it("should export a server class", () => {
11
- expect(StringRayApiDesignServer).toBeDefined();
12
- expect(typeof StringRayApiDesignServer).toBe("function");
11
+ expect(XrayApiDesignServer).toBeDefined();
12
+ expect(typeof XrayApiDesignServer).toBe("function");
13
13
  });
14
14
 
15
15
  it("should be able to instantiate the server", () => {
16
- const server = new StringRayApiDesignServer();
16
+ const server = new XrayApiDesignServer();
17
17
  expect(server).toBeDefined();
18
18
  });
19
19
 
20
20
  it("should have run method", () => {
21
- const server = new StringRayApiDesignServer();
21
+ const server = new XrayApiDesignServer();
22
22
  expect(typeof server.run).toBe("function");
23
23
  });
24
24
  });
25
25
 
26
26
  describe("server structure", () => {
27
- let server: StringRayApiDesignServer;
27
+ let server: XrayApiDesignServer;
28
28
 
29
29
  beforeEach(() => {
30
- server = new StringRayApiDesignServer();
30
+ server = new XrayApiDesignServer();
31
31
  });
32
32
 
33
33
  it("should instantiate correctly", () => {
34
- expect(server).toBeInstanceOf(StringRayApiDesignServer);
34
+ expect(server).toBeInstanceOf(XrayApiDesignServer);
35
35
  });
36
36
 
37
37
  it("should have run async method", () => {
@@ -25,13 +25,13 @@ interface ValidateApiDesignArgs {
25
25
  standards?: string[];
26
26
  }
27
27
 
28
- class StringRayApiDesignServer {
28
+ class XrayApiDesignServer {
29
29
  private server: Server;
30
30
 
31
31
  constructor() {
32
32
  this.server = new Server(
33
33
  {
34
- name: "api-design", version: "2.0.0",
34
+ name: "api-design", version: "2.0.1",
35
35
  },
36
36
  {
37
37
  capabilities: {
@@ -153,8 +153,8 @@ class StringRayApiDesignServer {
153
153
  }
154
154
 
155
155
  if (import.meta.url === `file://${process.argv[1]}`) {
156
- const server = new StringRayApiDesignServer();
156
+ const server = new XrayApiDesignServer();
157
157
  server.run().catch(() => {});
158
158
  }
159
159
 
160
- export default StringRayApiDesignServer;
160
+ export default XrayApiDesignServer;
@@ -27,13 +27,13 @@ interface RecommendPatternsArgs {
27
27
  scale?: string;
28
28
  }
29
29
 
30
- class StringRayArchitecturePatternsServer {
30
+ class XrayArchitecturePatternsServer {
31
31
  private server: Server;
32
32
 
33
33
  constructor() {
34
34
  this.server = new Server(
35
35
  {
36
- name: "architecture-patterns", version: "2.0.0",
36
+ name: "architecture-patterns", version: "2.0.1",
37
37
  },
38
38
  {
39
39
  capabilities: {
@@ -145,8 +145,8 @@ class StringRayArchitecturePatternsServer {
145
145
  }
146
146
 
147
147
  if (import.meta.url === `file://${process.argv[1]}`) {
148
- const server = new StringRayArchitecturePatternsServer();
148
+ const server = new XrayArchitecturePatternsServer();
149
149
  server.run().catch(() => {});
150
150
  }
151
151
 
152
- export default StringRayArchitecturePatternsServer;
152
+ export default XrayArchitecturePatternsServer;
@@ -81,7 +81,7 @@ class BugTriageSpecialistServer {
81
81
 
82
82
  constructor() {
83
83
  this.server = new Server(
84
- { name: "bug-triage-specialist", version: "2.0.0" },
84
+ { name: "bug-triage-specialist", version: "2.0.1" },
85
85
  { capabilities: { tools: {} } },
86
86
  );
87
87
  this.setupToolHandlers();
@@ -303,7 +303,7 @@ class CodeAnalyzerServer {
303
303
 
304
304
  constructor() {
305
305
  this.server = new Server(
306
- { name: "code-analyzer", version: "2.0.0" },
306
+ { name: "code-analyzer", version: "2.0.1" },
307
307
  { capabilities: { tools: {} } },
308
308
  );
309
309
 
@@ -74,13 +74,13 @@ interface StandardsViolation {
74
74
  severity: "high" | "medium" | "low";
75
75
  }
76
76
 
77
- class StringRayCodeReviewServer {
77
+ class XrayCodeReviewServer {
78
78
  private server: Server;
79
79
 
80
80
  constructor() {
81
81
  this.server = new Server(
82
82
  {
83
- name: "code-review", version: "2.0.0",
83
+ name: "code-review", version: "2.0.1",
84
84
  },
85
85
  {
86
86
  capabilities: {
@@ -1125,8 +1125,8 @@ class StringRayCodeReviewServer {
1125
1125
 
1126
1126
  // Run the server if this file is executed directly
1127
1127
  if (import.meta.url === `file://${process.argv[1]}`) {
1128
- const server = new StringRayCodeReviewServer();
1128
+ const server = new XrayCodeReviewServer();
1129
1129
  server.run().catch(() => {});
1130
1130
  }
1131
1131
 
1132
- export { StringRayCodeReviewServer };
1132
+ export { XrayCodeReviewServer };
@@ -102,7 +102,7 @@ class SEOCopywriterServer {
102
102
 
103
103
  constructor() {
104
104
  this.server = new Server(
105
- { name: "content-creator", version: "2.0.0" },
105
+ { name: "content-creator", version: "2.0.1" },
106
106
  { capabilities: { tools: {} } },
107
107
  );
108
108
 
@@ -111,13 +111,13 @@ interface SchemaComparison {
111
111
  hasDataLoss: boolean;
112
112
  }
113
113
 
114
- class StringRayDatabaseDesignServer {
114
+ class XrayDatabaseDesignServer {
115
115
  private server: Server;
116
116
 
117
117
  constructor() {
118
118
  this.server = new Server(
119
119
  {
120
- name: "database-design", version: "2.0.0",
120
+ name: "database-design", version: "2.0.1",
121
121
  },
122
122
  {
123
123
  capabilities: {
@@ -1193,8 +1193,8 @@ class StringRayDatabaseDesignServer {
1193
1193
 
1194
1194
  // Run the server if this file is executed directly
1195
1195
  if (import.meta.url === `file://${process.argv[1]}`) {
1196
- const server = new StringRayDatabaseDesignServer();
1196
+ const server = new XrayDatabaseDesignServer();
1197
1197
  server.run().catch(() => {});
1198
1198
  }
1199
1199
 
1200
- export { StringRayDatabaseDesignServer };
1200
+ export { XrayDatabaseDesignServer };
@@ -206,13 +206,13 @@ interface OptimizationRoadmap {
206
206
  finalMetrics: DeploymentMetricsInput;
207
207
  }
208
208
 
209
- class StringRayDevOpsDeploymentServer {
209
+ class XrayDevOpsDeploymentServer {
210
210
  private server: Server;
211
211
 
212
212
  constructor() {
213
213
  this.server = new Server(
214
214
  {
215
- name: "devops-deployment", version: "2.0.0",
215
+ name: "devops-deployment", version: "2.0.1",
216
216
  },
217
217
  {
218
218
  capabilities: {
@@ -1615,8 +1615,8 @@ spec:
1615
1615
 
1616
1616
  // Run the server if this file is executed directly
1617
1617
  if (import.meta.url === `file://${process.argv[1]}`) {
1618
- const server = new StringRayDevOpsDeploymentServer();
1618
+ const server = new XrayDevOpsDeploymentServer();
1619
1619
  server.run().catch(() => {});
1620
1620
  }
1621
1621
 
1622
- export { StringRayDevOpsDeploymentServer };
1622
+ export { XrayDevOpsDeploymentServer };
@@ -26,13 +26,13 @@ interface RecommendBranchingStrategyArgs {
26
26
  releaseFrequency?: string;
27
27
  }
28
28
 
29
- class StringRayGitWorkflowServer {
29
+ class XrayGitWorkflowServer {
30
30
  private server: Server;
31
31
 
32
32
  constructor() {
33
33
  this.server = new Server(
34
34
  {
35
- name: "git-workflow", version: "2.0.0",
35
+ name: "git-workflow", version: "2.0.1",
36
36
  },
37
37
  {
38
38
  capabilities: {
@@ -145,8 +145,8 @@ class StringRayGitWorkflowServer {
145
145
  }
146
146
 
147
147
  if (import.meta.url === `file://${process.argv[1]}`) {
148
- const server = new StringRayGitWorkflowServer();
148
+ const server = new XrayGitWorkflowServer();
149
149
  server.run().catch(() => {});
150
150
  }
151
151
 
152
- export default StringRayGitWorkflowServer;
152
+ export default XrayGitWorkflowServer;
@@ -111,7 +111,7 @@ class MarketingExpertServer {
111
111
 
112
112
  constructor() {
113
113
  this.server = new Server(
114
- { name: "growth-strategist", version: "2.0.0" },
114
+ { name: "growth-strategist", version: "2.0.1" },
115
115
  { capabilities: { tools: {} } },
116
116
  );
117
117
 
@@ -117,7 +117,7 @@ class LogMonitorServer {
117
117
 
118
118
  constructor() {
119
119
  this.server = new Server(
120
- { name: "log-monitor", version: "2.0.0" },
120
+ { name: "log-monitor", version: "2.0.1" },
121
121
  { capabilities: { tools: {} } },
122
122
  );
123
123
  this.setupToolHandlers();
@@ -107,13 +107,13 @@ interface AppStoreMetadataArgs {
107
107
  features?: string[];
108
108
  }
109
109
 
110
- class StringRayMobileDevelopmentServer {
110
+ class XrayMobileDevelopmentServer {
111
111
  private server: Server;
112
112
 
113
113
  constructor() {
114
114
  this.server = new Server(
115
115
  {
116
- name: "mobile-development", version: "2.0.0",
116
+ name: "mobile-development", version: "2.0.1",
117
117
  },
118
118
  {
119
119
  capabilities: {
@@ -665,8 +665,8 @@ class HomePage extends StatelessWidget {
665
665
 
666
666
  const entryPoint = path.resolve(process.argv[1] ?? "");
667
667
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
668
- const server = new StringRayMobileDevelopmentServer();
668
+ const server = new XrayMobileDevelopmentServer();
669
669
  server.start().catch(() => {});
670
670
  }
671
671
 
672
- export { StringRayMobileDevelopmentServer };
672
+ export { XrayMobileDevelopmentServer };
@@ -167,7 +167,7 @@ class MultimodalLookerServer {
167
167
 
168
168
  constructor() {
169
169
  this.server = new Server(
170
- { name: "multimodal-looker", version: "2.0.0" },
170
+ { name: "multimodal-looker", version: "2.0.1" },
171
171
  { capabilities: { tools: {} } },
172
172
  );
173
173
  this.setupToolHandlers();
@@ -217,14 +217,14 @@ interface McpToolResponse {
217
217
  data?: Record<string, unknown>;
218
218
  }
219
219
 
220
- class StringRayPerformanceOptimizationServer {
220
+ class XrayPerformanceOptimizationServer {
221
221
  private server: Server;
222
222
  private startTime: number;
223
223
 
224
224
  constructor() {
225
225
  this.server = new Server(
226
226
  {
227
- name: "performance-optimization", version: "2.0.0",
227
+ name: "performance-optimization", version: "2.0.1",
228
228
  },
229
229
  {
230
230
  capabilities: {
@@ -2056,10 +2056,10 @@ ${result.recommendations.slice(0, 5).map((r, i) => `${i + 1}. ${r}`).join("\n")
2056
2056
  }
2057
2057
 
2058
2058
  if (import.meta.url === `file://${process.argv[1]}`) {
2059
- const server = new StringRayPerformanceOptimizationServer();
2059
+ const server = new XrayPerformanceOptimizationServer();
2060
2060
  server.run().catch((error) => {
2061
2061
  frameworkLogger.log("mcp/performance-optimization", "run", "error", { error: String(error) });
2062
2062
  });
2063
2063
  }
2064
2064
 
2065
- export { StringRayPerformanceOptimizationServer };
2065
+ export { XrayPerformanceOptimizationServer };
@@ -142,7 +142,7 @@ class ProjectAnalysisServer {
142
142
  constructor() {
143
143
  this.server = new Server(
144
144
  {
145
- name: "project-analysis", version: "2.0.0",
145
+ name: "project-analysis", version: "2.0.1",
146
146
  },
147
147
  {
148
148
  capabilities: {
@@ -154,13 +154,13 @@ interface RollbackPlan {
154
154
  emergencyProcedures: string[];
155
155
  }
156
156
 
157
- class StringRayRefactoringStrategiesServer {
157
+ class XrayRefactoringStrategiesServer {
158
158
  private server: Server;
159
159
 
160
160
  constructor() {
161
161
  this.server = new Server(
162
162
  {
163
- name: "refactoring-strategies", version: "2.0.0",
163
+ name: "refactoring-strategies", version: "2.0.1",
164
164
  },
165
165
  {
166
166
  capabilities: {
@@ -1085,8 +1085,8 @@ class StringRayRefactoringStrategiesServer {
1085
1085
 
1086
1086
  // Run the server if this file is executed directly
1087
1087
  if (import.meta.url === `file://${process.argv[1]}`) {
1088
- const server = new StringRayRefactoringStrategiesServer();
1088
+ const server = new XrayRefactoringStrategiesServer();
1089
1089
  server.run().catch(() => {});
1090
1090
  }
1091
1091
 
1092
- export { StringRayRefactoringStrategiesServer };
1092
+ export { XrayRefactoringStrategiesServer };