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
@@ -4,13 +4,8 @@
4
4
  * Advanced initialization orchestration with dependency management and health monitoring
5
5
  */
6
6
 
7
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
8
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
- import {
10
- CallToolRequestSchema,
11
- ListToolsRequestSchema,
12
- type CallToolRequest,
13
- } from "@modelcontextprotocol/sdk/types.js";
7
+ import { CallToolRequestSchema, type CallToolRequest } from "@modelcontextprotocol/sdk/types.js";
8
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
14
9
  import { execSync } from "child_process";
15
10
  import fs from "fs";
16
11
  import path from "path";
@@ -92,8 +87,7 @@ interface ShutdownFrameworkArgs {
92
87
  saveState?: boolean;
93
88
  }
94
89
 
95
- class XrayBootOrchestratorServer {
96
- private server: Server;
90
+ class XrayBootOrchestratorServer extends XrayKnowledgeSkillBase {
97
91
  private bootStatus: {
98
92
  initialized: boolean;
99
93
  startTime: number;
@@ -118,16 +112,7 @@ class XrayBootOrchestratorServer {
118
112
  ];
119
113
 
120
114
  constructor() {
121
- this.server = new Server(
122
- {
123
- name: "boot-orchestrator", version: "1.22.67",
124
- },
125
- {
126
- capabilities: {
127
- tools: {},
128
- },
129
- },
130
- );
115
+ super("boot-orchestrator", "3.1.0");
131
116
 
132
117
  this.bootStatus = {
133
118
  initialized: false,
@@ -140,6 +125,71 @@ class XrayBootOrchestratorServer {
140
125
  // Initialize dependency map
141
126
  this.initializeDependencies();
142
127
 
128
+ this.tools = [
129
+ {
130
+ name: "execute-boot-sequence",
131
+ description:
132
+ "Execute the complete 0xRay boot sequence with dependency resolution",
133
+ inputSchema: {
134
+ type: "object",
135
+ properties: {
136
+ config: { type: "object" },
137
+ skipHealthChecks: { type: "boolean", default: false },
138
+ parallelInit: { type: "boolean", default: true },
139
+ },
140
+ },
141
+ },
142
+ {
143
+ name: "get-boot-status",
144
+ description:
145
+ "Get comprehensive boot orchestrator status and health",
146
+ inputSchema: {
147
+ type: "object",
148
+ properties: {
149
+ detailed: { type: "boolean", default: false },
150
+ component: { type: "string" },
151
+ },
152
+ },
153
+ },
154
+ {
155
+ name: "initialize-component",
156
+ description: "Initialize a specific framework component",
157
+ inputSchema: {
158
+ type: "object",
159
+ properties: {
160
+ component: {
161
+ type: "string",
162
+ enum: this.bootSequence,
163
+ },
164
+ force: { type: "boolean", default: false },
165
+ },
166
+ required: ["component"],
167
+ },
168
+ },
169
+ {
170
+ name: "validate-boot-dependencies",
171
+ description: "Validate all boot dependencies and prerequisites",
172
+ inputSchema: {
173
+ type: "object",
174
+ properties: {
175
+ fix: { type: "boolean", default: false },
176
+ verbose: { type: "boolean", default: false },
177
+ },
178
+ },
179
+ },
180
+ {
181
+ name: "shutdown-framework",
182
+ description: "Gracefully shutdown framework components",
183
+ inputSchema: {
184
+ type: "object",
185
+ properties: {
186
+ force: { type: "boolean", default: false },
187
+ saveState: { type: "boolean", default: true },
188
+ },
189
+ },
190
+ },
191
+ ];
192
+
143
193
  this.setupToolHandlers();
144
194
  void frameworkLogger.log("mcps/boot-orchestrator", "initialize", "info");
145
195
  }
@@ -185,78 +235,8 @@ class XrayBootOrchestratorServer {
185
235
  ]);
186
236
  }
187
237
 
188
- private setupToolHandlers() {
189
- // List available tools
190
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
191
- return {
192
- tools: [
193
- {
194
- name: "execute-boot-sequence",
195
- description:
196
- "Execute the complete 0xRay boot sequence with dependency resolution",
197
- inputSchema: {
198
- type: "object",
199
- properties: {
200
- config: { type: "object" },
201
- skipHealthChecks: { type: "boolean", default: false },
202
- parallelInit: { type: "boolean", default: true },
203
- },
204
- },
205
- },
206
- {
207
- name: "get-boot-status",
208
- description:
209
- "Get comprehensive boot orchestrator status and health",
210
- inputSchema: {
211
- type: "object",
212
- properties: {
213
- detailed: { type: "boolean", default: false },
214
- component: { type: "string" },
215
- },
216
- },
217
- },
218
- {
219
- name: "initialize-component",
220
- description: "Initialize a specific framework component",
221
- inputSchema: {
222
- type: "object",
223
- properties: {
224
- component: {
225
- type: "string",
226
- enum: this.bootSequence,
227
- },
228
- force: { type: "boolean", default: false },
229
- },
230
- required: ["component"],
231
- },
232
- },
233
- {
234
- name: "validate-boot-dependencies",
235
- description: "Validate all boot dependencies and prerequisites",
236
- inputSchema: {
237
- type: "object",
238
- properties: {
239
- fix: { type: "boolean", default: false },
240
- verbose: { type: "boolean", default: false },
241
- },
242
- },
243
- },
244
- {
245
- name: "shutdown-framework",
246
- description: "Gracefully shutdown framework components",
247
- inputSchema: {
248
- type: "object",
249
- properties: {
250
- force: { type: "boolean", default: false },
251
- saveState: { type: "boolean", default: true },
252
- },
253
- },
254
- },
255
- ],
256
- };
257
- });
258
-
259
- // Handle tool calls
238
+ override setupToolHandlers(): void {
239
+ this.setupListToolsHandler();
260
240
  this.server.setRequestHandler(
261
241
  CallToolRequestSchema,
262
242
  async (request: CallToolRequest) => {
@@ -1066,15 +1046,10 @@ ${results.warnings.length > 0 ? `**Warnings:**\n${results.warnings.map((w: strin
1066
1046
  return response;
1067
1047
  }
1068
1048
 
1069
- async run() {
1070
- const transport = new StdioServerTransport();
1071
- await this.server.connect(transport);
1072
- frameworkLogger.log("mcps/boot-orchestrator", "start", "success");
1073
- }
1074
1049
  }
1075
1050
 
1076
1051
  // Start the server if run directly
1077
- if (import.meta.url === `file://${process.argv[1]}`) {
1052
+ if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
1078
1053
  const server = new XrayBootOrchestratorServer();
1079
1054
  server.run().catch((error) => frameworkLogger.log("mcps/boot-orchestrator", "run", "error", { error: String(error) }));
1080
1055
  }
@@ -17,25 +17,19 @@ describe('ConfigLoader', () => {
17
17
 
18
18
  beforeEach(() => {
19
19
  loader = new ConfigLoader();
20
+ // Clear paths so tests don't pick up the real .mcp.json
21
+ loader.clearConfigPaths();
20
22
  // Clean up any existing test files
21
- if (fs.existsSync(testConfigPath)) {
22
- fs.unlinkSync(testConfigPath);
23
- }
24
- if (fs.existsSync(testConfigPath2)) {
25
- fs.unlinkSync(testConfigPath2);
26
- }
27
- if (fs.existsSync(testDir)) {
28
- fs.rmdirSync(testDir);
23
+ for (const p of [testConfigPath, testConfigPath2]) {
24
+ if (fs.existsSync(p)) fs.unlinkSync(p);
29
25
  }
26
+ if (fs.existsSync(testDir)) fs.rmdirSync(testDir);
30
27
  });
31
28
 
32
29
  afterEach(() => {
33
30
  // Clean up test files
34
- if (fs.existsSync(testConfigPath)) {
35
- fs.unlinkSync(testConfigPath);
36
- }
37
- if (fs.existsSync(testConfigPath2)) {
38
- fs.unlinkSync(testConfigPath2);
31
+ for (const p of [testConfigPath, testConfigPath2]) {
32
+ if (fs.existsSync(p)) fs.unlinkSync(p);
39
33
  }
40
34
  if (fs.existsSync(testDir)) {
41
35
  fs.rmdirSync(testDir);
@@ -163,20 +157,24 @@ describe('ConfigLoader', () => {
163
157
  });
164
158
 
165
159
  describe('getConfigPaths', () => {
166
- it('should return default paths', () => {
167
- const paths = loader.getConfigPaths();
168
- expect(paths).toContain('.mcp.json');
169
- expect(paths).toContain('.opencode/mcp.json');
170
- expect(paths).toContain('mcp.config.json');
171
- });
172
-
173
160
  it('should return added paths', () => {
161
+ loader.addConfigPath('.mcp.json');
174
162
  loader.addConfigPath('custom/path.json');
175
163
  const paths = loader.getConfigPaths();
164
+ expect(paths).toContain('.mcp.json');
176
165
  expect(paths).toContain('custom/path.json');
177
166
  });
178
167
 
168
+ it('should return default paths via new instance', () => {
169
+ const fresh = new ConfigLoader();
170
+ const paths = fresh.getConfigPaths();
171
+ expect(paths).toContain('.mcp.json');
172
+ expect(paths).toContain('.opencode/mcp.json');
173
+ expect(paths).toContain('mcp.config.json');
174
+ });
175
+
179
176
  it('should return copy of paths array', () => {
177
+ loader.addConfigPath('.mcp.json');
180
178
  const paths = loader.getConfigPaths();
181
179
  paths.push('modified');
182
180
  const paths2 = loader.getConfigPaths();
@@ -186,15 +184,17 @@ describe('ConfigLoader', () => {
186
184
 
187
185
  describe('resetConfigPaths', () => {
188
186
  it('should reset to default paths', () => {
189
- loader.addConfigPath('custom/path.json');
190
- loader.resetConfigPaths();
187
+ // Add a custom path, then reset — must use fresh loader for baseline
188
+ const fresh = new ConfigLoader();
189
+ fresh.addConfigPath('custom/path.json');
190
+ fresh.resetConfigPaths();
191
191
 
192
- const paths = loader.getConfigPaths();
192
+ const paths = fresh.getConfigPaths();
193
193
  expect(paths).not.toContain('custom/path.json');
194
194
  expect(paths).toContain('.mcp.json');
195
195
  });
196
196
 
197
- it('should remove added paths after reset', async () => {
197
+ it('should remove added paths after reset', () => {
198
198
  const testConfigs = [
199
199
  {
200
200
  serverName: 'custom-server',
@@ -208,9 +208,9 @@ describe('ConfigLoader', () => {
208
208
 
209
209
  loader.resetConfigPaths();
210
210
 
211
- const result = await loader.load();
212
- expect(result.success).toBe(true);
213
- expect(result.configs).toEqual([]);
211
+ const paths = loader.getConfigPaths();
212
+ expect(paths).not.toContain(testConfigPath);
213
+ expect(paths).toContain('.mcp.json');
214
214
  });
215
215
  });
216
216
 
@@ -269,15 +269,6 @@ describe('ConfigLoader', () => {
269
269
  expect(loader.hasConfigFile()).toBe(false);
270
270
  });
271
271
 
272
- it('should return true when default config file exists', () => {
273
- const testConfigs = [{ serverName: 'test', command: 'node', args: ['test.js'], timeout: 30000 }];
274
- fs.writeFileSync('.mcp.json', JSON.stringify(testConfigs));
275
-
276
- expect(loader.hasConfigFile()).toBe(true);
277
-
278
- fs.unlinkSync('.mcp.json');
279
- });
280
-
281
272
  it('should return true when added config file exists', () => {
282
273
  const testConfigs = [{ serverName: 'test', command: 'node', args: ['test.js'], timeout: 30000 }];
283
274
  fs.writeFileSync(testConfigPath, JSON.stringify(testConfigs));
@@ -285,6 +276,11 @@ describe('ConfigLoader', () => {
285
276
 
286
277
  expect(loader.hasConfigFile()).toBe(true);
287
278
  });
279
+
280
+ it('should return false when only real .mcp.json exists but not in paths', () => {
281
+ // After resetConfigPaths, the real .mcp.json is not in the path list
282
+ expect(loader.hasConfigFile()).toBe(false);
283
+ });
288
284
  });
289
285
 
290
286
  describe('default singleton', () => {
@@ -294,7 +290,7 @@ describe('ConfigLoader', () => {
294
290
 
295
291
  it('defaultConfigLoader should have default paths', () => {
296
292
  const paths = defaultConfigLoader.getConfigPaths();
297
- expect(paths).toContain('.mcp.json');
293
+ expect(paths.length).toBeGreaterThan(0);
298
294
  });
299
295
  });
300
296
 
@@ -41,12 +41,31 @@ export class ConfigLoader {
41
41
  const content = fs.readFileSync(configPath, 'utf-8');
42
42
  const parsed = JSON.parse(content);
43
43
 
44
- // Handle both array format and object with servers property
45
- const configs: IServerConfig[] = Array.isArray(parsed)
46
- ? parsed
47
- : parsed.servers || [];
48
-
49
- return { success: true, configs };
44
+ // Handle array format
45
+ if (Array.isArray(parsed)) {
46
+ return { success: true, configs: parsed };
47
+ }
48
+
49
+ // Handle standard MCP format (mcpServers object — Claude/OpenCode .mcp.json)
50
+ if (parsed.mcpServers && typeof parsed.mcpServers === 'object') {
51
+ const configs: IServerConfig[] = Object.entries(parsed.mcpServers).map(
52
+ ([serverName, config]: [string, any]) => ({
53
+ serverName,
54
+ command: config.command || '',
55
+ args: config.args || [],
56
+ timeout: config.timeout ?? 30000,
57
+ env: config.env,
58
+ }),
59
+ );
60
+ return { success: true, configs };
61
+ }
62
+
63
+ // Handle object with servers property
64
+ if (parsed.servers) {
65
+ return { success: true, configs: parsed.servers };
66
+ }
67
+
68
+ return { success: true, configs: [] };
50
69
  } catch (error) {
51
70
  return {
52
71
  success: false,
@@ -85,6 +104,13 @@ export class ConfigLoader {
85
104
  ];
86
105
  }
87
106
 
107
+ /**
108
+ * Clear all config paths
109
+ */
110
+ clearConfigPaths(): void {
111
+ this.configPaths = [];
112
+ }
113
+
88
114
  /**
89
115
  * Load configuration from a specific file path
90
116
  */
@@ -100,11 +126,31 @@ export class ConfigLoader {
100
126
  const content = fs.readFileSync(filePath, 'utf-8');
101
127
  const parsed = JSON.parse(content);
102
128
 
103
- const configs: IServerConfig[] = Array.isArray(parsed)
104
- ? parsed
105
- : parsed.servers || [];
106
-
107
- return { success: true, configs };
129
+ // Handle array format
130
+ if (Array.isArray(parsed)) {
131
+ return { success: true, configs: parsed };
132
+ }
133
+
134
+ // Handle standard MCP format (mcpServers object)
135
+ if (parsed.mcpServers && typeof parsed.mcpServers === 'object') {
136
+ const configs: IServerConfig[] = Object.entries(parsed.mcpServers).map(
137
+ ([serverName, config]: [string, any]) => ({
138
+ serverName,
139
+ command: config.command || '',
140
+ args: config.args || [],
141
+ timeout: config.timeout ?? 30000,
142
+ env: config.env,
143
+ }),
144
+ );
145
+ return { success: true, configs };
146
+ }
147
+
148
+ // Handle object with servers property
149
+ if (parsed.servers) {
150
+ return { success: true, configs: parsed.servers };
151
+ }
152
+
153
+ return { success: true, configs: [] };
108
154
  } catch (error) {
109
155
  return {
110
156
  success: false,
@@ -4,7 +4,6 @@
4
4
  * Extends ServerConfigRegistry with plugin support for Phase 2.
5
5
  * Enables automatic MCP server registration from plugins.
6
6
  *
7
- * @version 1.2.0
8
7
  */
9
8
 
10
9
  import {