0xray 3.1.0 → 3.2.0

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 (437) 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/auto-format.md +3 -3
  5. package/.opencode/commands/auto-summary-capture.md +2 -2
  6. package/.opencode/commands/dependency-audit.md +3 -3
  7. package/.opencode/commands/enforcer-daily-scan.md +3 -3
  8. package/.opencode/commands/framework-compliance-audit.md +4 -4
  9. package/.opencode/commands/interactive-validator.md +2 -2
  10. package/.opencode/commands/job-summary-logger.md +2 -2
  11. package/.opencode/commands/mode-switch.md +1 -1
  12. package/.opencode/commands/model-health-check.md +2 -2
  13. package/.opencode/commands/performance-analysis.md +2 -2
  14. package/.opencode/commands/pre-commit-introspection.md +3 -3
  15. package/.opencode/commands/security-scan.md +3 -3
  16. package/.opencode/commands/sisyphus-validation.md +3 -3
  17. package/.opencode/commands/summary-logger.md +6 -6
  18. package/.opencode/enforcer-config.json +2 -2
  19. package/.opencode/hooks/post-commit +1 -1
  20. package/.opencode/init.sh +6 -0
  21. package/.plugin/plugin.json +11 -0
  22. package/AGENTS-consumer.md +46 -0
  23. package/AGENTS.md +2 -12
  24. package/LICENSE +1 -1
  25. package/README.md +6 -6
  26. package/SKILLS.md +140 -0
  27. package/dist/.gitignore.default +59 -0
  28. package/dist/AGENTS.md +2 -12
  29. package/dist/CHANGELOG.md +54 -0
  30. package/dist/LICENSE +1 -1
  31. package/dist/README.md +6 -6
  32. package/dist/SKILLS.md +140 -0
  33. package/dist/agents/index.js +3 -1
  34. package/dist/agents/registry.js +13 -0
  35. package/dist/analytics/consent-manager.js +0 -1
  36. package/dist/analytics/emerging-pattern-detector.js +0 -1
  37. package/dist/analytics/pattern-learning-engine.js +0 -1
  38. package/dist/analytics/pattern-performance-tracker.js +0 -1
  39. package/dist/analytics/predictive-analytics.js +0 -1
  40. package/dist/analytics/prompt-pattern-analyzer.js +0 -1
  41. package/dist/analytics/routing-performance-analyzer.js +0 -1
  42. package/dist/analytics/routing-refiner.js +1 -2
  43. package/dist/analytics/simple-pattern-analyzer.js +0 -1
  44. package/dist/architect/architectural-integrity.js +3 -3
  45. package/dist/benchmark/performance-benchmark.js +1 -2
  46. package/dist/cli/commands/antigravity-status.js +23 -23
  47. package/dist/cli/commands/archive-logs.js +0 -1
  48. package/dist/cli/commands/credible-init.js +1 -1
  49. package/dist/cli/commands/hermes-install.js +8 -0
  50. package/dist/cli/commands/mcp-install.js +1 -1
  51. package/dist/cli/commands/openclaw-install.js +9 -0
  52. package/dist/cli/commands/opencode-install.js +35 -0
  53. package/dist/cli/commands/plugin-commands.js +0 -1
  54. package/dist/cli/commands/skill-install.js +39 -2
  55. package/dist/cli/commands/status.js +16 -13
  56. package/dist/cli/commands/storyteller.js +1 -1
  57. package/dist/cli/index.js +14 -13
  58. package/dist/core/activity-logger.js +4 -5
  59. package/dist/core/adaptive-kernel.js +0 -1
  60. package/dist/core/agent-spawn-gate.js +1 -1
  61. package/dist/core/boot-orchestrator.js +14 -25
  62. package/dist/core/bridge.mjs +4 -5
  63. package/dist/core/codex-formatter.js +1 -3
  64. package/dist/core/codex-injector.js +3 -4
  65. package/dist/core/config-loader.js +36 -29
  66. package/dist/core/config-paths.js +30 -23
  67. package/dist/core/context-loader.js +0 -4
  68. package/dist/core/context-validator.js +0 -1
  69. package/dist/core/features-config.js +38 -2
  70. package/dist/core/index.js +2 -2
  71. package/dist/core/kernel-patterns.js +0 -1
  72. package/dist/core/logging-config.js +7 -7
  73. package/dist/core/model-router.js +23 -64
  74. package/dist/core/orchestrator.js +1 -1
  75. package/dist/core/system-prompt-generator.js +0 -1
  76. package/dist/core/xray-activation.js +3 -4
  77. package/dist/delegation/agent-delegator.js +2 -3
  78. package/dist/delegation/agent-expertise.js +0 -1
  79. package/dist/delegation/analytics/index.js +0 -1
  80. package/dist/delegation/analytics/learning-engine.js +0 -1
  81. package/dist/delegation/analytics/outcome-tracker.js +0 -1
  82. package/dist/delegation/analytics/routing-analytics.js +0 -1
  83. package/dist/delegation/ast-code-parser.js +0 -1
  84. package/dist/delegation/complexity-analyzer.js +0 -1
  85. package/dist/delegation/dependency-graph-builder.js +0 -1
  86. package/dist/delegation/index.js +0 -1
  87. package/dist/delegation/metrics-aggregator.js +0 -1
  88. package/dist/delegation/session-coordinator.js +0 -1
  89. package/dist/delegation/strategy-selector.js +0 -1
  90. package/dist/delegation/voting-coordinator.js +0 -1
  91. package/dist/delegation/voting-types.js +0 -1
  92. package/dist/delegation/weighted-voting-aggregator.js +0 -1
  93. package/dist/enforcement/core/index.js +0 -1
  94. package/dist/enforcement/core/rule-executor.js +0 -1
  95. package/dist/enforcement/core/rule-hierarchy.js +0 -1
  96. package/dist/enforcement/core/rule-registry.js +0 -1
  97. package/dist/enforcement/core/violation-fixer.js +0 -1
  98. package/dist/enforcement/enforcer-tools.js +2 -2
  99. package/dist/enforcement/index.js +0 -1
  100. package/dist/enforcement/loaders/agent-triage-loader.js +0 -1
  101. package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -1
  102. package/dist/enforcement/loaders/base-loader.js +0 -1
  103. package/dist/enforcement/loaders/codex-loader.js +2 -3
  104. package/dist/enforcement/loaders/index.js +0 -1
  105. package/dist/enforcement/loaders/loader-orchestrator.js +0 -1
  106. package/dist/enforcement/loaders/processor-loader.js +0 -1
  107. package/dist/enforcement/types.js +0 -1
  108. package/dist/enforcement/validators/architecture-validators.js +0 -1
  109. package/dist/enforcement/validators/base-validator.js +0 -1
  110. package/dist/enforcement/validators/code-quality-validators.js +0 -1
  111. package/dist/enforcement/validators/index.js +0 -1
  112. package/dist/enforcement/validators/security-validators.js +0 -1
  113. package/dist/enforcement/validators/testing-validators.js +0 -1
  114. package/dist/enforcement/validators/validator-registry.js +0 -1
  115. package/dist/execution/opencode-cli-invoker.js +1 -1
  116. package/dist/governance/codex-policy.service.js +0 -1
  117. package/dist/governance/governance-service.js +1 -1
  118. package/dist/governance/llm-governance-provider.js +14 -1
  119. package/dist/index.js +3 -5
  120. package/dist/inference/inference-agent-invoker.js +67 -0
  121. package/dist/inference/inference-applier.js +178 -0
  122. package/dist/inference/inference-cycle.js +52 -828
  123. package/dist/inference/inference-proposal-generator.js +149 -0
  124. package/dist/infrastructure/iac-validator.js +465 -0
  125. package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
  126. package/dist/integrations/base/ExampleIntegration.js +0 -1
  127. package/dist/integrations/base/Integration.js +0 -1
  128. package/dist/integrations/base/README.md +1 -1
  129. package/dist/integrations/base/index.js +0 -1
  130. package/dist/integrations/base/registry.js +0 -1
  131. package/dist/integrations/base/types.js +0 -1
  132. package/dist/integrations/enforcement-gate.js +5 -5
  133. package/dist/integrations/governance/governance-client.js +0 -1
  134. package/dist/integrations/governance/index.js +11 -19
  135. package/dist/integrations/governance/types.js +0 -1
  136. package/dist/integrations/grok/grok-cli.js +20 -6
  137. package/dist/integrations/grok/hooks/pre-tool-use.js +3 -3
  138. package/dist/integrations/grok/plugin/0xray/.mcp.json +16 -4
  139. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  140. package/dist/integrations/hermes-agent/__init__.py +29 -14
  141. package/dist/integrations/hermes-agent/bridge.mjs +76 -4
  142. package/dist/integrations/hermes-agent/schemas.py +49 -0
  143. package/dist/integrations/hermes-agent/test_plugin.py +7 -7
  144. package/dist/integrations/hermes-agent/tools.py +107 -3
  145. package/dist/integrations/openclaw/README.md +6 -6
  146. package/dist/integrations/openclaw/api-server.js +0 -1
  147. package/dist/integrations/openclaw/client.js +0 -1
  148. package/dist/integrations/openclaw/config.js +1 -2
  149. package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -1
  150. package/dist/integrations/openclaw/index.js +2 -3
  151. package/dist/integrations/openclaw/types.js +3 -4
  152. package/dist/integrations/plugins/index.js +0 -1
  153. package/dist/integrations/plugins/plugin-integration.js +1 -2
  154. package/dist/integrations/plugins/plugin-registry.js +1 -2
  155. package/dist/mcps/agent-resolver.js +0 -1
  156. package/dist/mcps/architect-tools.server.js +121 -186
  157. package/dist/mcps/auto-format.server.js +57 -75
  158. package/dist/mcps/boot-orchestrator.server.js +68 -86
  159. package/dist/mcps/config/config-loader.js +46 -9
  160. package/dist/mcps/config/plugin-server-registry.js +0 -1
  161. package/dist/mcps/enforcer-tools.server.js +208 -274
  162. package/dist/mcps/estimation.server.js +65 -108
  163. package/dist/mcps/framework-compliance-audit.server.js +53 -82
  164. package/dist/mcps/framework-help.server.js +73 -90
  165. package/dist/mcps/governance.server.js +104 -152
  166. package/dist/mcps/knowledge-skills/api-design.server.js +35 -66
  167. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +35 -66
  168. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +125 -165
  169. package/dist/mcps/knowledge-skills/code-analyzer.server.js +211 -238
  170. package/dist/mcps/knowledge-skills/code-review.server.js +109 -143
  171. package/dist/mcps/knowledge-skills/content-creator.server.js +205 -227
  172. package/dist/mcps/knowledge-skills/database-design.server.js +117 -151
  173. package/dist/mcps/knowledge-skills/devops-deployment.server.js +125 -158
  174. package/dist/mcps/knowledge-skills/git-workflow.server.js +36 -68
  175. package/dist/mcps/knowledge-skills/growth-strategist.server.js +303 -325
  176. package/dist/mcps/knowledge-skills/log-monitor.server.js +141 -161
  177. package/dist/mcps/knowledge-skills/mobile-development.server.js +172 -202
  178. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +124 -160
  179. package/dist/mcps/knowledge-skills/performance-optimization.server.js +89 -139
  180. package/dist/mcps/knowledge-skills/project-analysis.server.js +132 -219
  181. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +117 -151
  182. package/dist/mcps/knowledge-skills/security-audit.server.js +17 -144
  183. package/dist/mcps/knowledge-skills/seo-consultant.server.js +22 -214
  184. package/dist/mcps/knowledge-skills/session-management.server.js +15 -91
  185. package/dist/mcps/knowledge-skills/skill-invocation.server.js +83 -359
  186. package/dist/mcps/knowledge-skills/strategist.server.js +12 -57
  187. package/dist/mcps/knowledge-skills/tech-writer.server.js +18 -193
  188. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +20 -192
  189. package/dist/mcps/knowledge-skills/testing-strategy.server.js +19 -157
  190. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +24 -297
  191. package/dist/mcps/lint.server.js +51 -92
  192. package/dist/mcps/model-health-check.server.js +34 -61
  193. package/dist/mcps/orchestrator/aside-context.js +207 -0
  194. package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
  195. package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
  196. package/dist/mcps/orchestrator/handlers/task-handler.js +5 -0
  197. package/dist/mcps/orchestrator/index.js +5 -0
  198. package/dist/mcps/orchestrator/server.js +65 -9
  199. package/dist/mcps/orchestrator.server.js +2 -1
  200. package/dist/mcps/performance-analysis.server.js +57 -88
  201. package/dist/mcps/processor-pipeline.server.js +70 -100
  202. package/dist/mcps/registry.json +1 -1
  203. package/dist/mcps/researcher.server.js +81 -154
  204. package/dist/mcps/security-scan.server.js +57 -71
  205. package/dist/mcps/shared/knowledge-skill-base.js +11 -4
  206. package/dist/mcps/state-manager.server.js +127 -155
  207. package/dist/metrics/agent-metrics.js +1 -1
  208. package/dist/monitoring/nudge-watchdog.js +0 -1
  209. package/dist/nucleus/default-plugins.js +13 -19
  210. package/dist/nucleus/index.js +0 -1
  211. package/dist/orchestrator/agent-spawn-governor.js +0 -1
  212. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
  213. package/dist/orchestrator/intelligent-commit-batcher.js +2 -11
  214. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +1 -2
  215. package/dist/orchestrator/orchestrator.js +8 -19
  216. package/dist/orchestrator/self-direction-activation.js +0 -1
  217. package/dist/orchestrator/universal-registry-bridge.js +1 -2
  218. package/dist/performance/performance-budget-enforcer.js +0 -1
  219. package/dist/performance/performance-regression-tester.js +0 -1
  220. package/dist/plugin/plugin-codex-context.js +87 -0
  221. package/dist/plugin/plugin-helpers.js +155 -0
  222. package/dist/plugin/plugin-logger.js +46 -0
  223. package/dist/plugin/plugin-modules.js +144 -0
  224. package/dist/plugin/plugin-quality-gate.js +88 -0
  225. package/dist/plugin/plugin-types.js +1 -0
  226. package/dist/plugin/xray-codex-injection.js +39 -558
  227. package/dist/postprocessor/PostProcessor.js +7 -13
  228. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
  229. package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
  230. package/dist/postprocessor/integration.js +194 -0
  231. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
  232. package/dist/postprocessor/metamorphosis/index.js +1 -0
  233. package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
  234. package/dist/postprocessor/services/RegressionAnalysisService.js +2 -3
  235. package/dist/postprocessor/triggers/APITrigger.js +0 -1
  236. package/dist/postprocessor/triggers/GitHookTrigger.js +4 -4
  237. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
  238. package/dist/processors/implementations/agents-md-validation-processor.js +0 -1
  239. package/dist/processors/implementations/async-pattern-processor.js +0 -1
  240. package/dist/processors/implementations/console-log-guard-processor.js +0 -1
  241. package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
  242. package/dist/processors/implementations/inference-improvement-processor.js +2 -10
  243. package/dist/processors/implementations/log-protection-processor.js +0 -1
  244. package/dist/processors/implementations/nudge-processor.js +0 -1
  245. package/dist/processors/implementations/performance-budget-processor.js +0 -1
  246. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
  247. package/dist/processors/implementations/publish-preflight-processor.js +4 -13
  248. package/dist/processors/implementations/session-summary-processor.js +8 -16
  249. package/dist/processors/implementations/spawn-governance-processor.js +0 -1
  250. package/dist/processors/implementations/storytelling-trigger-processor.js +3 -29
  251. package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
  252. package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
  253. package/dist/processors/implementations/version-compliance-processor.js +0 -1
  254. package/dist/processors/processor-interfaces.js +0 -1
  255. package/dist/processors/processor-types.js +0 -1
  256. package/dist/public/about.html +6 -6
  257. package/dist/public/enterprise.html +1 -1
  258. package/dist/public/features.html +2 -2
  259. package/dist/public/index.html +4 -4
  260. package/dist/reporting/report-formatter.js +1 -1
  261. package/dist/scripts/activate-kernel-pipeline.js +2 -2
  262. package/dist/scripts/integration.js +0 -1
  263. package/dist/scripts/pre-command +1 -1
  264. package/dist/security/comprehensive-security-audit.js +0 -1
  265. package/dist/security/security-agent-coordinator.js +0 -1
  266. package/dist/security/security-auditor.js +0 -1
  267. package/dist/security/security-hardener.js +0 -1
  268. package/dist/security/security-hardening-system.js +0 -1
  269. package/dist/security/security-headers.js +0 -1
  270. package/dist/security/security-orchestration-layer.js +0 -1
  271. package/dist/services/inference-tuner.js +1 -2
  272. package/dist/session/session-cleanup-manager.js +0 -1
  273. package/dist/session/session-monitor.js +0 -1
  274. package/dist/session/session-state-manager.js +0 -1
  275. package/dist/skills/api-design/SKILL.md +1 -1
  276. package/dist/skills/architect-tools/SKILL.md +1 -1
  277. package/dist/skills/architecture-patterns/SKILL.md +1 -1
  278. package/dist/skills/auto-format/SKILL.md +1 -1
  279. package/dist/skills/boot-orchestrator/SKILL.md +1 -1
  280. package/dist/skills/bug-triage/SKILL.md +1 -1
  281. package/dist/skills/code-analyzer/SKILL.md +1 -1
  282. package/dist/skills/code-review/SKILL.md +1 -1
  283. package/dist/skills/enforcer/SKILL.md +1 -1
  284. package/dist/skills/framework-compliance-audit/SKILL.md +1 -1
  285. package/dist/skills/git-workflow/SKILL.md +1 -1
  286. package/dist/skills/hermes-agent/SKILL.md +2 -2
  287. package/dist/skills/inference-improve/SKILL.md +1 -1
  288. package/dist/skills/lint/SKILL.md +1 -1
  289. package/dist/skills/log-monitor/SKILL.md +1 -1
  290. package/dist/skills/model-health-check/SKILL.md +1 -1
  291. package/dist/skills/multimodal-looker/SKILL.md +1 -1
  292. package/dist/skills/orchestrator/SKILL.md +1 -1
  293. package/dist/skills/performance-analysis/SKILL.md +1 -1
  294. package/dist/skills/performance-optimization/SKILL.md +1 -1
  295. package/dist/skills/processor-pipeline/SKILL.md +1 -1
  296. package/dist/skills/project-analysis/SKILL.md +1 -1
  297. package/dist/skills/refactoring-strategies/SKILL.md +1 -1
  298. package/dist/skills/registry.json +1 -1
  299. package/dist/skills/researcher/SKILL.md +1 -1
  300. package/dist/skills/security-audit/SKILL.md +1 -1
  301. package/dist/skills/security-scan/SKILL.md +1 -1
  302. package/dist/skills/session-management/SKILL.md +1 -1
  303. package/dist/skills/state-manager/SKILL.md +1 -1
  304. package/dist/skills/storyteller/SKILL.md +1 -1
  305. package/dist/skills/testing-best-practices/SKILL.md +1 -1
  306. package/dist/skills/testing-strategy/SKILL.md +1 -1
  307. package/dist/skills/ui-ux-design/SKILL.md +1 -1
  308. package/dist/skills/xray-orchestrator/index.js +0 -1
  309. package/dist/state/index.js +0 -1
  310. package/dist/state/state-manager.js +1 -2
  311. package/dist/utils/codex-parser.js +0 -1
  312. package/dist/utils/import-resolver.js +1 -1
  313. package/dist/utils/language-detector.js +0 -1
  314. package/dist/utils/path-resolver.js +2 -2
  315. package/dist/utils/shutdown-handler.js +0 -1
  316. package/dist/validation/agent-config-validator.js +280 -0
  317. package/dist/validation/orchestration-flow-validator.js +606 -0
  318. package/package.json +10 -3
  319. package/scripts/hooks/pre-command +1 -1
  320. package/scripts/hooks/run-hook.js +2 -2
  321. package/scripts/node/auto-reflection-generator.mjs +30 -36
  322. package/scripts/node/govern-reflection.mjs +1 -1
  323. package/scripts/node/postinstall.cjs +37 -2
  324. package/scripts/node/release.mjs +2 -2
  325. package/scripts/node/setup-xai-oauth.mjs +244 -0
  326. package/scripts/node/setup.cjs +28 -0
  327. package/scripts/node/universal-version-manager.js +8 -8
  328. package/scripts/node/version-manager.mjs +1 -1
  329. package/src/integrations/grok/plugin/0xray/.mcp.json +16 -4
  330. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  331. package/src/mcps/agent-resolver.ts +0 -1
  332. package/src/mcps/architect-tools.server.ts +130 -212
  333. package/src/mcps/auto-format.server.ts +75 -104
  334. package/src/mcps/boot-orchestrator.server.ts +72 -97
  335. package/src/mcps/config/__tests__/config-loader.test.ts +33 -37
  336. package/src/mcps/config/config-loader.ts +57 -11
  337. package/src/mcps/config/plugin-server-registry.ts +0 -1
  338. package/src/mcps/enforcer-tools.server.ts +218 -295
  339. package/src/mcps/estimation.server.ts +64 -123
  340. package/src/mcps/framework-compliance-audit.server.ts +54 -96
  341. package/src/mcps/framework-help.server.ts +76 -97
  342. package/src/mcps/governance.server.ts +104 -164
  343. package/src/mcps/knowledge-skills/api-design.server.ts +35 -73
  344. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +34 -73
  345. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +149 -194
  346. package/src/mcps/knowledge-skills/code-analyzer.server.ts +223 -255
  347. package/src/mcps/knowledge-skills/code-review.server.ts +116 -158
  348. package/src/mcps/knowledge-skills/content-creator.server.ts +221 -248
  349. package/src/mcps/knowledge-skills/database-design.server.ts +120 -161
  350. package/src/mcps/knowledge-skills/devops-deployment.server.ts +128 -168
  351. package/src/mcps/knowledge-skills/git-workflow.server.ts +34 -78
  352. package/src/mcps/knowledge-skills/growth-strategist.server.ts +324 -362
  353. package/src/mcps/knowledge-skills/log-monitor.server.ts +70 -97
  354. package/src/mcps/knowledge-skills/mobile-development.server.ts +18 -58
  355. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +15 -61
  356. package/src/mcps/knowledge-skills/performance-optimization.server.ts +14 -75
  357. package/src/mcps/knowledge-skills/project-analysis.server.ts +14 -121
  358. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +15 -61
  359. package/src/mcps/knowledge-skills/security-audit.server.ts +20 -158
  360. package/src/mcps/knowledge-skills/seo-consultant.server.ts +25 -228
  361. package/src/mcps/knowledge-skills/session-management.server.ts +19 -107
  362. package/src/mcps/knowledge-skills/skill-invocation.server.ts +89 -380
  363. package/src/mcps/knowledge-skills/strategist.server.ts +15 -65
  364. package/src/mcps/knowledge-skills/tech-writer.server.ts +21 -206
  365. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +23 -205
  366. package/src/mcps/knowledge-skills/testing-strategy.server.ts +22 -166
  367. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +27 -343
  368. package/src/mcps/lint.server.ts +53 -106
  369. package/src/mcps/model-health-check.server.ts +35 -71
  370. package/src/mcps/orchestrator/aside-context.ts +245 -0
  371. package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
  372. package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
  373. package/src/mcps/orchestrator/handlers/task-handler.ts +8 -1
  374. package/src/mcps/orchestrator/index.ts +29 -0
  375. package/src/mcps/orchestrator/server.ts +81 -25
  376. package/src/mcps/orchestrator/types.ts +37 -0
  377. package/src/mcps/orchestrator.server.ts +2 -1
  378. package/src/mcps/performance-analysis.server.ts +60 -103
  379. package/src/mcps/processor-pipeline.server.ts +72 -109
  380. package/src/mcps/registry.json +1 -1
  381. package/src/mcps/researcher.server.ts +88 -176
  382. package/src/mcps/security-scan.server.ts +58 -77
  383. package/src/mcps/shared/knowledge-skill-base.ts +12 -4
  384. package/src/mcps/state-manager.server.ts +132 -172
  385. package/src/opencode/codex.codex +1 -1
  386. package/src/opencode/commands/auto-format.md +3 -3
  387. package/src/opencode/commands/auto-summary-capture.md +2 -2
  388. package/src/opencode/commands/dependency-audit.md +3 -3
  389. package/src/opencode/commands/enforcer-daily-scan.md +3 -3
  390. package/src/opencode/commands/framework-compliance-audit.md +4 -4
  391. package/src/opencode/commands/interactive-validator.md +2 -2
  392. package/src/opencode/commands/job-summary-logger.md +2 -2
  393. package/src/opencode/commands/mode-switch.md +1 -1
  394. package/src/opencode/commands/model-health-check.md +2 -2
  395. package/src/opencode/commands/performance-analysis.md +2 -2
  396. package/src/opencode/commands/pre-commit-introspection.md +3 -3
  397. package/src/opencode/commands/security-scan.md +3 -3
  398. package/src/opencode/commands/sisyphus-validation.md +3 -3
  399. package/src/opencode/commands/summary-logger.md +6 -6
  400. package/src/opencode/enforcer-config.json +2 -2
  401. package/src/skills/api-design/SKILL.md +1 -1
  402. package/src/skills/architect-tools/SKILL.md +1 -1
  403. package/src/skills/architecture-patterns/SKILL.md +1 -1
  404. package/src/skills/auto-format/SKILL.md +1 -1
  405. package/src/skills/boot-orchestrator/SKILL.md +1 -1
  406. package/src/skills/bug-triage/SKILL.md +1 -1
  407. package/src/skills/code-analyzer/SKILL.md +1 -1
  408. package/src/skills/code-review/SKILL.md +1 -1
  409. package/src/skills/enforcer/SKILL.md +1 -1
  410. package/src/skills/framework-compliance-audit/SKILL.md +1 -1
  411. package/src/skills/git-workflow/SKILL.md +1 -1
  412. package/src/skills/hermes-agent/SKILL.md +2 -2
  413. package/src/skills/inference-improve/SKILL.md +1 -1
  414. package/src/skills/lint/SKILL.md +1 -1
  415. package/src/skills/log-monitor/SKILL.md +1 -1
  416. package/src/skills/model-health-check/SKILL.md +1 -1
  417. package/src/skills/multimodal-looker/SKILL.md +1 -1
  418. package/src/skills/orchestrator/SKILL.md +1 -1
  419. package/src/skills/performance-analysis/SKILL.md +1 -1
  420. package/src/skills/performance-optimization/SKILL.md +1 -1
  421. package/src/skills/processor-pipeline/SKILL.md +1 -1
  422. package/src/skills/project-analysis/SKILL.md +1 -1
  423. package/src/skills/refactoring-strategies/SKILL.md +1 -1
  424. package/src/skills/registry.json +1 -1
  425. package/src/skills/researcher/SKILL.md +1 -1
  426. package/src/skills/security-audit/SKILL.md +1 -1
  427. package/src/skills/security-scan/SKILL.md +1 -1
  428. package/src/skills/session-management/SKILL.md +1 -1
  429. package/src/skills/state-manager/SKILL.md +1 -1
  430. package/src/skills/storyteller/SKILL.md +1 -1
  431. package/src/skills/testing-best-practices/SKILL.md +1 -1
  432. package/src/skills/testing-strategy/SKILL.md +1 -1
  433. package/src/skills/ui-ux-design/SKILL.md +1 -1
  434. package/src/skills/xray-orchestrator/index.ts +0 -1
  435. package/xray/agents_template.md +46 -0
  436. package/xray/codex.json +598 -0
  437. package/dist/nucleus/orchestrator.js +0 -479
@@ -11,30 +11,113 @@
11
11
  * It always runs proposals through the three real skill servers
12
12
  * and the Dynamo Solar SSOT filter (required by default).
13
13
  */
14
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
15
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
16
14
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
17
15
  import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js";
18
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
16
+ import { CallToolRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
17
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
19
18
  import { frameworkLogger } from "../core/framework-logger.js";
20
19
  import * as fs from "fs";
21
- import * as path from "path";
22
20
  import { fileURLToPath } from "url";
23
21
  import { randomUUID } from "crypto";
24
22
  import { getGovernanceService } from "../governance/governance-service.js";
25
23
  import { getCodexPolicyService } from "../governance/codex-policy.service.js";
26
24
  import { initializeGovernanceIntegration } from "../integrations/governance/index.js";
27
25
  import { featuresConfigLoader } from "../core/features-config.js";
28
- class GovernanceServer {
29
- server;
26
+ class GovernanceServer extends XrayKnowledgeSkillBase {
30
27
  constructor() {
31
- this.server = new Server({
32
- name: "governance", version: "1.22.67",
33
- }, {
34
- capabilities: {
35
- tools: {},
28
+ super("governance", "3.1.0");
29
+ this.tools = [
30
+ {
31
+ name: "govern_proposals",
32
+ description: "Run one or more proposals through the full 0xRay governance system. " +
33
+ "Internal deliberation via 3 skill MCPs + required Dynamo Solar SSOT filter. " +
34
+ "Returns merged structured decisions. " +
35
+ "Supports regulatory compliance proposals: AML/KYC, PSD2, GDPR content moderation, " +
36
+ "and other compliance-related governance scenarios.",
37
+ inputSchema: {
38
+ type: "object",
39
+ properties: {
40
+ proposals: {
41
+ type: "array",
42
+ items: {
43
+ type: "object",
44
+ properties: {
45
+ id: { type: "string" },
46
+ type: {
47
+ type: "string",
48
+ enum: ["fix", "refactor", "guard", "automate", "codify", "strategic", "compliance"],
49
+ },
50
+ title: { type: "string" },
51
+ description: { type: "string" },
52
+ evidence: { type: "array", items: { type: "string" } },
53
+ source: { type: "string" },
54
+ confidence: { type: "number" },
55
+ },
56
+ required: ["type", "title", "description"],
57
+ },
58
+ description: "List of proposals to govern",
59
+ },
60
+ context: {
61
+ type: "object",
62
+ description: "Optional context about the proposals (project, phase, etc.)",
63
+ },
64
+ options: {
65
+ type: "object",
66
+ properties: {
67
+ require_external: {
68
+ type: "boolean",
69
+ default: true,
70
+ description: "Whether external Dynamo/Solar governance is required (default: true)",
71
+ },
72
+ },
73
+ },
74
+ },
75
+ required: ["proposals"],
76
+ },
36
77
  },
37
- });
78
+ {
79
+ name: "govern_reflection",
80
+ description: "Parse a reflection (or reflection file) and run its extracted proposals through the full governance system. " +
81
+ "This is the primary way to govern outcomes from reflection-based workflows.",
82
+ inputSchema: {
83
+ type: "object",
84
+ properties: {
85
+ reflectionPath: {
86
+ type: "string",
87
+ description: "Path to a reflection .md file (alternative to reflectionContent)",
88
+ },
89
+ reflectionContent: {
90
+ type: "string",
91
+ description: "Raw reflection content (alternative to reflectionPath)",
92
+ },
93
+ context: { type: "object" },
94
+ },
95
+ required: [],
96
+ },
97
+ },
98
+ {
99
+ name: "get_active_codex",
100
+ description: "Get the currently active Codex (SSOT) — returns metadata about the loaded codex terms, " +
101
+ "including version, term count, source path, and governance status. " +
102
+ "Optionally include the full raw codex data with includeRaw=true.",
103
+ inputSchema: {
104
+ type: "object",
105
+ properties: {
106
+ includeRaw: {
107
+ type: "boolean",
108
+ description: "Whether to include the full raw codex data in the response",
109
+ default: false,
110
+ },
111
+ },
112
+ required: [],
113
+ },
114
+ },
115
+ ];
116
+ this.handlers = {
117
+ "govern_proposals": async (args) => this.handleGovernProposals(this.validateGovernProposalsArgs(args)),
118
+ "govern_reflection": async (args) => this.handleGovernReflection(this.validateGovernReflectionArgs(args)),
119
+ "get_active_codex": async (args) => this.handleGetActiveCodex(args),
120
+ };
38
121
  this.setupToolHandlers();
39
122
  }
40
123
  validateGovernProposalsArgs(value) {
@@ -69,97 +152,7 @@ class GovernanceServer {
69
152
  return value;
70
153
  }
71
154
  setupToolHandlers() {
72
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
73
- return {
74
- tools: [
75
- {
76
- name: "govern_proposals",
77
- description: "Run one or more proposals through the full 0xRay governance system. " +
78
- "Internal deliberation via 3 skill MCPs + required Dynamo Solar SSOT filter. " +
79
- "Returns merged structured decisions. " +
80
- "Supports regulatory compliance proposals: AML/KYC, PSD2, GDPR content moderation, " +
81
- "and other compliance-related governance scenarios.",
82
- inputSchema: {
83
- type: "object",
84
- properties: {
85
- proposals: {
86
- type: "array",
87
- items: {
88
- type: "object",
89
- properties: {
90
- id: { type: "string" },
91
- type: {
92
- type: "string",
93
- enum: ["fix", "refactor", "guard", "automate", "codify", "strategic", "compliance"],
94
- },
95
- title: { type: "string" },
96
- description: { type: "string" },
97
- evidence: { type: "array", items: { type: "string" } },
98
- source: { type: "string" },
99
- confidence: { type: "number" },
100
- },
101
- required: ["type", "title", "description"],
102
- },
103
- description: "List of proposals to govern",
104
- },
105
- context: {
106
- type: "object",
107
- description: "Optional context about the proposals (project, phase, etc.)",
108
- },
109
- options: {
110
- type: "object",
111
- properties: {
112
- require_external: {
113
- type: "boolean",
114
- default: true,
115
- description: "Whether external Dynamo/Solar governance is required (default: true)",
116
- },
117
- },
118
- },
119
- },
120
- required: ["proposals"],
121
- },
122
- },
123
- {
124
- name: "govern_reflection",
125
- description: "Parse a reflection (or reflection file) and run its extracted proposals through the full governance system. " +
126
- "This is the primary way to govern outcomes from reflection-based workflows.",
127
- inputSchema: {
128
- type: "object",
129
- properties: {
130
- reflectionPath: {
131
- type: "string",
132
- description: "Path to a reflection .md file (alternative to reflectionContent)",
133
- },
134
- reflectionContent: {
135
- type: "string",
136
- description: "Raw reflection content (alternative to reflectionPath)",
137
- },
138
- context: { type: "object" },
139
- },
140
- required: [],
141
- },
142
- },
143
- {
144
- name: "get_active_codex",
145
- description: "Get the currently active Codex (SSOT) — returns metadata about the loaded codex terms, " +
146
- "including version, term count, source path, and governance status. " +
147
- "Optionally include the full raw codex data with includeRaw=true.",
148
- inputSchema: {
149
- type: "object",
150
- properties: {
151
- includeRaw: {
152
- type: "boolean",
153
- description: "Whether to include the full raw codex data in the response",
154
- default: false,
155
- },
156
- },
157
- required: [],
158
- },
159
- },
160
- ],
161
- };
162
- });
155
+ this.setupListToolsHandler();
163
156
  this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
164
157
  const { name, arguments: args } = request.params;
165
158
  try {
@@ -339,53 +332,7 @@ class GovernanceServer {
339
332
  }
340
333
  async run() {
341
334
  await this.initializeGovernance();
342
- const transport = new StdioServerTransport();
343
- await this.server.connect(transport);
344
- let parentCheckTimer = null;
345
- const cleanup = async (signal) => {
346
- if (parentCheckTimer !== null) {
347
- clearTimeout(parentCheckTimer);
348
- parentCheckTimer = null;
349
- }
350
- const timeout = setTimeout(() => {
351
- frameworkLogger.log("mcps/governance", "shutdown", "error", { message: "Graceful shutdown timeout, forcing exit..." });
352
- process.exit(1);
353
- }, 5000);
354
- try {
355
- if (this.server && typeof this.server.close === "function") {
356
- await this.server.close();
357
- }
358
- clearTimeout(timeout);
359
- process.exit(0);
360
- }
361
- catch (error) {
362
- clearTimeout(timeout);
363
- frameworkLogger.log("mcps/governance", "shutdown", "error", { message: `Error during server shutdown: ${String(error)}` });
364
- process.exit(1);
365
- }
366
- };
367
- process.on("SIGINT", () => cleanup("SIGINT"));
368
- process.on("SIGTERM", () => cleanup("SIGTERM"));
369
- process.on("SIGHUP", () => cleanup("SIGHUP"));
370
- const checkParent = () => {
371
- try {
372
- process.kill(process.ppid, 0);
373
- parentCheckTimer = setTimeout(checkParent, 1000);
374
- }
375
- catch (error) {
376
- parentCheckTimer = null;
377
- cleanup("parent-process-death");
378
- }
379
- };
380
- parentCheckTimer = setTimeout(checkParent, 2000);
381
- process.on("uncaughtException", (error) => {
382
- frameworkLogger.log("mcps/governance", "uncaughtException", "error", { message: `Uncaught Exception: ${String(error)}` });
383
- cleanup("uncaughtException");
384
- });
385
- process.on("unhandledRejection", (reason) => {
386
- frameworkLogger.log("mcps/governance", "unhandledRejection", "error", { message: `Unhandled Rejection: ${String(reason)}` });
387
- cleanup("unhandledRejection");
388
- });
335
+ await super.run();
389
336
  }
390
337
  async connect(transport) {
391
338
  await this.server.connect(transport);
@@ -395,7 +342,12 @@ class GovernanceServer {
395
342
  */
396
343
  async runHttp(port = parseInt(process.env.MCP_PORT ?? "3100", 10)) {
397
344
  await this.initializeGovernance();
398
- const app = createMcpExpressApp();
345
+ const mcpHost = process.env.MCP_HOST || "127.0.0.1";
346
+ const allowedHosts = process.env.MCP_ALLOWED_HOSTS?.split(",");
347
+ const app = createMcpExpressApp({
348
+ host: mcpHost,
349
+ ...(allowedHosts ? { allowedHosts } : {}),
350
+ });
399
351
  const transport = new StreamableHTTPServerTransport({
400
352
  sessionIdGenerator: () => randomUUID(),
401
353
  });
@@ -441,7 +393,7 @@ class GovernanceServer {
441
393
  }
442
394
  }
443
395
  // Start the server if this file is run directly
444
- const entryPoint = path.resolve(process.argv[1] ?? "");
396
+ const entryPoint = fs.realpathSync(process.argv[1] ?? "");
445
397
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
446
398
  // If --port or MCP_PORT is set, use HTTP transport (for Grok CLI compatibility)
447
399
  const cliPort = process.argv.find((a) => a.startsWith("--port="))?.split("=")[1];
@@ -4,67 +4,45 @@
4
4
  * Knowledge skill for API design patterns, RESTful conventions,
5
5
  * GraphQL schema design, and API documentation standards
6
6
  */
7
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
8
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
10
- import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
11
- class XrayApiDesignServer {
12
- server;
7
+ import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
8
+ import * as fs from "fs";
9
+ class XrayApiDesignServer extends XrayKnowledgeSkillBase {
13
10
  constructor() {
14
- this.server = new Server({
15
- name: "api-design", version: "1.22.67",
16
- }, {
17
- capabilities: {
18
- tools: {},
11
+ super("api-design", "3.1.0");
12
+ this.tools = [
13
+ {
14
+ name: "design-api-endpoints",
15
+ description: "Design RESTful API endpoints with proper resource modeling",
16
+ inputSchema: {
17
+ type: "object",
18
+ properties: {
19
+ resource: { type: "string" },
20
+ operations: { type: "array", items: { type: "string" } },
21
+ relationships: { type: "array", items: { type: "string" } },
22
+ },
23
+ required: ["resource"],
24
+ },
25
+ },
26
+ {
27
+ name: "validate-api-design",
28
+ description: "Validate API design against RESTful principles and best practices",
29
+ inputSchema: {
30
+ type: "object",
31
+ properties: {
32
+ endpoints: { type: "array", items: { type: "string" } },
33
+ standards: { type: "array", items: { type: "string" } },
34
+ },
35
+ required: ["endpoints"],
36
+ },
19
37
  },
20
- });
38
+ ];
39
+ this.handlers = {
40
+ "design-api-endpoints": async (args) => this.designApiEndpoints(args),
41
+ "validate-api-design": async (args) => this.validateApiDesign(args),
42
+ };
21
43
  this.setupToolHandlers();
22
44
  // Server initialization - removed unnecessary startup logging
23
45
  }
24
- setupToolHandlers() {
25
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
26
- return {
27
- tools: [
28
- {
29
- name: "design-api-endpoints",
30
- description: "Design RESTful API endpoints with proper resource modeling",
31
- inputSchema: {
32
- type: "object",
33
- properties: {
34
- resource: { type: "string" },
35
- operations: { type: "array", items: { type: "string" } },
36
- relationships: { type: "array", items: { type: "string" } },
37
- },
38
- required: ["resource"],
39
- },
40
- },
41
- {
42
- name: "validate-api-design",
43
- description: "Validate API design against RESTful principles and best practices",
44
- inputSchema: {
45
- type: "object",
46
- properties: {
47
- endpoints: { type: "array", items: { type: "string" } },
48
- standards: { type: "array", items: { type: "string" } },
49
- },
50
- required: ["endpoints"],
51
- },
52
- },
53
- ],
54
- };
55
- });
56
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
57
- const { name, arguments: args } = request.params;
58
- switch (name) {
59
- case "design-api-endpoints":
60
- return await this.designApiEndpoints(args);
61
- case "validate-api-design":
62
- return await this.validateApiDesign(args);
63
- default:
64
- throw new Error(`Unknown tool: ${name}`);
65
- }
66
- });
67
- }
68
46
  async designApiEndpoints(args) {
69
47
  const { resource, operations, relationships } = args;
70
48
  const design = {
@@ -106,17 +84,8 @@ class XrayApiDesignServer {
106
84
  ],
107
85
  };
108
86
  }
109
- async run() {
110
- const transport = new StdioServerTransport();
111
- await this.server.connect(transport);
112
- // Use centralized shutdown handler
113
- createGracefulShutdown({
114
- serverName: "api-design.server",
115
- server: this.server,
116
- });
117
- }
118
87
  }
119
- if (import.meta.url === `file://${process.argv[1]}`) {
88
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
120
89
  const server = new XrayApiDesignServer();
121
90
  server.run().catch(() => { });
122
91
  }
@@ -4,67 +4,45 @@
4
4
  * Knowledge skill for architectural pattern recognition,
5
5
  * design pattern recommendations, and system architecture guidance
6
6
  */
7
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
8
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
10
- import { createGracefulShutdown } from "../../utils/shutdown-handler.js";
11
- class XrayArchitecturePatternsServer {
12
- server;
7
+ import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
8
+ import * as fs from "fs";
9
+ class XrayArchitecturePatternsServer extends XrayKnowledgeSkillBase {
13
10
  constructor() {
14
- this.server = new Server({
15
- name: "architecture-patterns", version: "1.22.67",
16
- }, {
17
- capabilities: {
18
- tools: {},
11
+ super("architecture-patterns", "3.1.0");
12
+ this.tools = [
13
+ {
14
+ name: "analyze-architecture",
15
+ description: "Analyze current system architecture and identify patterns",
16
+ inputSchema: {
17
+ type: "object",
18
+ properties: {
19
+ projectRoot: { type: "string" },
20
+ focusPatterns: { type: "array", items: { type: "string" } },
21
+ },
22
+ required: ["projectRoot"],
23
+ },
24
+ },
25
+ {
26
+ name: "recommend-patterns",
27
+ description: "Recommend architectural patterns for specific use cases",
28
+ inputSchema: {
29
+ type: "object",
30
+ properties: {
31
+ useCase: { type: "string" },
32
+ constraints: { type: "array", items: { type: "string" } },
33
+ scale: { type: "string", enum: ["small", "medium", "large"] },
34
+ },
35
+ required: ["useCase"],
36
+ },
19
37
  },
20
- });
38
+ ];
39
+ this.handlers = {
40
+ "analyze-architecture": async (args) => this.analyzeArchitecture(args),
41
+ "recommend-patterns": async (args) => this.recommendPatterns(args),
42
+ };
21
43
  this.setupToolHandlers();
22
44
  // Server initialization - removed unnecessary startup logging
23
45
  }
24
- setupToolHandlers() {
25
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
26
- return {
27
- tools: [
28
- {
29
- name: "analyze-architecture",
30
- description: "Analyze current system architecture and identify patterns",
31
- inputSchema: {
32
- type: "object",
33
- properties: {
34
- projectRoot: { type: "string" },
35
- focusPatterns: { type: "array", items: { type: "string" } },
36
- },
37
- required: ["projectRoot"],
38
- },
39
- },
40
- {
41
- name: "recommend-patterns",
42
- description: "Recommend architectural patterns for specific use cases",
43
- inputSchema: {
44
- type: "object",
45
- properties: {
46
- useCase: { type: "string" },
47
- constraints: { type: "array", items: { type: "string" } },
48
- scale: { type: "string", enum: ["small", "medium", "large"] },
49
- },
50
- required: ["useCase"],
51
- },
52
- },
53
- ],
54
- };
55
- });
56
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
57
- const { name, arguments: args } = request.params;
58
- switch (name) {
59
- case "analyze-architecture":
60
- return await this.analyzeArchitecture(args);
61
- case "recommend-patterns":
62
- return await this.recommendPatterns(args);
63
- default:
64
- throw new Error(`Unknown tool: ${name}`);
65
- }
66
- });
67
- }
68
46
  async analyzeArchitecture(args) {
69
47
  const { projectRoot, focusPatterns } = args;
70
48
  // Simplified architecture analysis
@@ -96,17 +74,8 @@ class XrayArchitecturePatternsServer {
96
74
  ],
97
75
  };
98
76
  }
99
- async run() {
100
- const transport = new StdioServerTransport();
101
- await this.server.connect(transport);
102
- // Use centralized shutdown handler
103
- createGracefulShutdown({
104
- serverName: "architecture-patterns.server",
105
- server: this.server,
106
- });
107
- }
108
77
  }
109
- if (import.meta.url === `file://${process.argv[1]}`) {
78
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
110
79
  const server = new XrayArchitecturePatternsServer();
111
80
  server.run().catch(() => { });
112
81
  }