0xray 2.0.0 → 2.1.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 (590) hide show
  1. package/.opencode/codex.codex +2 -2
  2. package/.opencode/commands/dependency-audit.md +3 -3
  3. package/.opencode/enforcer-config.json +2 -2
  4. package/.opencode/init.sh +22 -19
  5. package/AGENTS.md +6 -6
  6. package/README.md +276 -76
  7. package/dist/AGENTS.md +6 -6
  8. package/dist/CHANGELOG.md +91 -10
  9. package/dist/README.md +276 -76
  10. package/dist/agents/architect.d.ts +2 -0
  11. package/dist/agents/backend-engineer.d.ts +8 -0
  12. package/dist/agents/bug-triage-specialist.d.ts +2 -0
  13. package/dist/agents/code-analyzer.d.ts +7 -0
  14. package/dist/agents/code-reviewer.d.ts +2 -0
  15. package/dist/agents/code-reviewer.js +1 -1
  16. package/dist/agents/content-creator.d.ts +9 -0
  17. package/dist/agents/database-engineer.d.ts +8 -0
  18. package/dist/agents/devops-engineer.d.ts +8 -0
  19. package/dist/agents/frontend-engineer.d.ts +8 -0
  20. package/dist/agents/frontend-ui-ux-engineer.d.ts +8 -0
  21. package/dist/agents/growth-strategist.d.ts +8 -0
  22. package/dist/agents/index.d.ts +24 -0
  23. package/dist/agents/librarian-agents-updater.d.ts +30 -0
  24. package/dist/agents/log-monitor.d.ts +2 -0
  25. package/dist/agents/mobile-developer.d.ts +9 -0
  26. package/dist/agents/multimodal-looker.d.ts +9 -0
  27. package/dist/agents/performance-engineer.d.ts +8 -0
  28. package/dist/agents/refactorer.d.ts +2 -0
  29. package/dist/agents/registry.d.ts +35 -0
  30. package/dist/agents/researcher.d.ts +2 -0
  31. package/dist/agents/security-auditor.d.ts +2 -0
  32. package/dist/agents/seo-consultant.d.ts +8 -0
  33. package/dist/agents/strategist.d.ts +7 -0
  34. package/dist/agents/tech-writer.d.ts +8 -0
  35. package/dist/agents/testing-lead.d.ts +2 -0
  36. package/dist/agents/types.d.ts +45 -0
  37. package/dist/analytics/consent-manager.d.ts +93 -0
  38. package/dist/analytics/emerging-pattern-detector.d.ts +67 -0
  39. package/dist/analytics/pattern-learning-engine.d.ts +80 -0
  40. package/dist/analytics/pattern-performance-tracker.d.ts +97 -0
  41. package/dist/analytics/predictive-analytics.d.ts +41 -0
  42. package/dist/analytics/prompt-pattern-analyzer.d.ts +99 -0
  43. package/dist/analytics/routing-performance-analyzer.d.ts +101 -0
  44. package/dist/analytics/routing-refiner.d.ts +104 -0
  45. package/dist/analytics/routing-refiner.js +1 -1
  46. package/dist/analytics/simple-pattern-analyzer.d.ts +80 -0
  47. package/dist/architect/architect-tools.d.ts +70 -0
  48. package/dist/architect/architectural-integrity.d.ts +20 -0
  49. package/dist/benchmark/performance-benchmark.d.ts +103 -0
  50. package/dist/benchmark/performance-benchmark.js +3 -3
  51. package/dist/cli/commands/analytics-disable.d.ts +9 -0
  52. package/dist/cli/commands/analytics-enable-action.d.ts +8 -0
  53. package/dist/cli/commands/analytics-preview.d.ts +9 -0
  54. package/dist/cli/commands/analytics-status.d.ts +9 -0
  55. package/dist/cli/commands/antigravity-status.d.ts +9 -0
  56. package/dist/cli/commands/archive-logs.d.ts +24 -0
  57. package/dist/cli/commands/credible-init.d.ts +11 -0
  58. package/dist/cli/commands/grok-install.d.ts +7 -0
  59. package/dist/cli/commands/hermes-install.d.ts +2 -0
  60. package/dist/cli/commands/hermes-install.js +4 -4
  61. package/dist/cli/commands/mcp-install.d.ts +4 -0
  62. package/dist/cli/commands/mcp-install.js +1 -1
  63. package/dist/cli/commands/openclaw-install.d.ts +2 -0
  64. package/dist/cli/commands/openclaw-install.js +1 -1
  65. package/dist/cli/commands/opencode-install.d.ts +2 -0
  66. package/dist/cli/commands/plugin-commands.d.ts +19 -0
  67. package/dist/cli/commands/plugin-commands.js +2 -2
  68. package/dist/cli/commands/publish-agent.d.ts +15 -0
  69. package/dist/cli/commands/publish-agent.js +5 -5
  70. package/dist/cli/commands/security-audit.d.ts +23 -0
  71. package/dist/cli/commands/skill-install.d.ts +5 -0
  72. package/dist/cli/commands/skill-install.js +1 -1
  73. package/dist/cli/commands/status.d.ts +41 -0
  74. package/dist/cli/commands/status.js +3 -3
  75. package/dist/cli/commands/storyteller.d.ts +19 -0
  76. package/dist/cli/commands/storyteller.js +2 -2
  77. package/dist/cli/index.d.ts +7 -0
  78. package/dist/cli/index.js +8 -8
  79. package/dist/cli/server.d.ts +1 -0
  80. package/dist/cli/server.js +1 -1
  81. package/dist/config/default-agents.d.ts +12 -0
  82. package/dist/core/activity-logger.d.ts +72 -0
  83. package/dist/core/adaptive-kernel.d.ts +109 -0
  84. package/dist/core/agent-spawn-gate.d.ts +56 -0
  85. package/dist/core/agent-spawn-gate.js +1 -1
  86. package/dist/core/boot-orchestrator.d.ts +99 -0
  87. package/dist/core/boot-orchestrator.js +28 -28
  88. package/dist/core/bridge.mjs +22 -22
  89. package/dist/core/codex-formatter.d.ts +96 -0
  90. package/dist/core/codex-formatter.js +2 -2
  91. package/dist/core/codex-injector.d.ts +75 -0
  92. package/dist/core/codex-injector.js +11 -10
  93. package/dist/core/config-loader.d.ts +71 -0
  94. package/dist/core/config-loader.js +4 -2
  95. package/dist/core/config-paths.d.ts +62 -0
  96. package/dist/core/config-paths.js +24 -23
  97. package/dist/core/context-loader.d.ts +122 -0
  98. package/dist/core/context-loader.js +7 -5
  99. package/dist/core/context-validator.d.ts +53 -0
  100. package/dist/core/features-config.d.ts +462 -0
  101. package/dist/core/features-config.js +1 -1
  102. package/dist/core/framework-logger.d.ts +76 -0
  103. package/dist/core/index.d.ts +5 -0
  104. package/dist/core/index.js +1 -1
  105. package/dist/core/kernel-patterns.d.ts +130 -0
  106. package/dist/core/logging-config.d.ts +10 -0
  107. package/dist/core/model-router.d.ts +61 -0
  108. package/dist/core/orchestrator.d.ts +72 -0
  109. package/dist/core/orchestrator.js +3 -2
  110. package/dist/core/system-prompt-generator.d.ts +35 -0
  111. package/dist/core/system-prompt-generator.js +2 -2
  112. package/dist/core/trace-context.d.ts +12 -0
  113. package/dist/core/xray-activation.d.ts +14 -0
  114. package/dist/core/xray-activation.js +29 -24
  115. package/dist/delegation/agent-delegator.d.ts +186 -0
  116. package/dist/delegation/agent-delegator.js +3 -3
  117. package/dist/delegation/agent-expertise.d.ts +16 -0
  118. package/dist/delegation/analytics/index.d.ts +12 -0
  119. package/dist/delegation/analytics/learning-engine.d.ts +85 -0
  120. package/dist/delegation/analytics/outcome-tracker.d.ts +118 -0
  121. package/dist/delegation/analytics/routing-analytics.d.ts +61 -0
  122. package/dist/delegation/ast-code-parser.d.ts +174 -0
  123. package/dist/delegation/codebase-context-analyzer.d.ts +164 -0
  124. package/dist/delegation/complexity-analyzer.d.ts +111 -0
  125. package/dist/delegation/complexity-core.d.ts +119 -0
  126. package/dist/delegation/config/types.d.ts +247 -0
  127. package/dist/delegation/dependency-graph-builder.d.ts +95 -0
  128. package/dist/delegation/index.d.ts +25 -0
  129. package/dist/delegation/metrics-aggregator.d.ts +92 -0
  130. package/dist/delegation/session-coordinator.d.ts +133 -0
  131. package/dist/delegation/strategy-selector.d.ts +28 -0
  132. package/dist/delegation/voting-coordinator.d.ts +49 -0
  133. package/dist/delegation/voting-types.d.ts +155 -0
  134. package/dist/delegation/weighted-voting-aggregator.d.ts +37 -0
  135. package/dist/enforcement/core/index.d.ts +15 -0
  136. package/dist/enforcement/core/rule-executor.d.ts +158 -0
  137. package/dist/enforcement/core/rule-hierarchy.d.ts +146 -0
  138. package/dist/enforcement/core/rule-registry.d.ts +197 -0
  139. package/dist/enforcement/core/violation-fixer.d.ts +106 -0
  140. package/dist/enforcement/enforcer-tools.d.ts +78 -0
  141. package/dist/enforcement/enforcer-tools.js +2 -2
  142. package/dist/enforcement/index.d.ts +23 -0
  143. package/dist/enforcement/loaders/agent-triage-loader.d.ts +99 -0
  144. package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +76 -0
  145. package/dist/enforcement/loaders/base-loader.d.ts +83 -0
  146. package/dist/enforcement/loaders/codex-loader.d.ts +77 -0
  147. package/dist/enforcement/loaders/codex-loader.js +2 -2
  148. package/dist/enforcement/loaders/index.d.ts +37 -0
  149. package/dist/enforcement/loaders/loader-orchestrator.d.ts +97 -0
  150. package/dist/enforcement/loaders/processor-loader.d.ts +60 -0
  151. package/dist/enforcement/rule-enforcer.d.ts +142 -0
  152. package/dist/enforcement/test-auto-healing.d.ts +83 -0
  153. package/dist/enforcement/types.d.ts +501 -0
  154. package/dist/enforcement/validators/architecture-validators.d.ts +155 -0
  155. package/dist/enforcement/validators/base-validator.d.ts +88 -0
  156. package/dist/enforcement/validators/code-quality-validators.d.ts +89 -0
  157. package/dist/enforcement/validators/index.d.ts +15 -0
  158. package/dist/enforcement/validators/security-validators.d.ts +53 -0
  159. package/dist/enforcement/validators/testing-validators.d.ts +81 -0
  160. package/dist/enforcement/validators/validator-registry.d.ts +92 -0
  161. package/dist/execution/opencode-cli-invoker.d.ts +8 -0
  162. package/dist/execution/proposal-applier.d.ts +24 -0
  163. package/dist/governance/codex-policy.service.d.ts +57 -0
  164. package/dist/governance/governance-core.d.ts +46 -0
  165. package/dist/governance/governance-service.d.ts +38 -0
  166. package/dist/governance/governance-types.d.ts +83 -0
  167. package/dist/index.d.ts +28 -0
  168. package/dist/index.js +6 -6
  169. package/dist/inference/deploy-verifier.d.ts +26 -0
  170. package/dist/inference/deploy-verifier.js +1 -1
  171. package/dist/inference/index.d.ts +10 -0
  172. package/dist/inference/inference-accumulator.d.ts +29 -0
  173. package/dist/inference/inference-cycle.d.ts +110 -0
  174. package/dist/inference/inference-cycle.js +7 -7
  175. package/dist/inference/semantic-patterns.d.ts +7 -0
  176. package/dist/inference/session-capture.d.ts +32 -0
  177. package/dist/integrations/base/ExampleIntegration.d.ts +47 -0
  178. package/dist/integrations/base/Integration.d.ts +267 -0
  179. package/dist/integrations/base/README.md +2 -2
  180. package/dist/integrations/base/index.d.ts +12 -0
  181. package/dist/integrations/base/registry.d.ts +273 -0
  182. package/dist/integrations/base/types.d.ts +168 -0
  183. package/dist/integrations/governance/governance-client.d.ts +76 -0
  184. package/dist/integrations/governance/index.d.ts +99 -0
  185. package/dist/integrations/governance/index.js +1 -1
  186. package/dist/integrations/governance/types.d.ts +239 -0
  187. package/dist/integrations/grok/grok-cli.d.ts +25 -0
  188. package/dist/integrations/grok/grok-cli.js +6 -6
  189. package/dist/integrations/grok/hooks/pre-tool-use.js +1 -1
  190. package/dist/integrations/grok/plugin/0xray/.mcp.json +3 -3
  191. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  192. package/dist/integrations/hermes-agent/__init__.py +78 -72
  193. package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
  194. package/dist/integrations/hermes-agent/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc +0 -0
  195. package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
  196. package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313-pytest-9.0.2.pyc +0 -0
  197. package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313.pyc +0 -0
  198. package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
  199. package/dist/integrations/hermes-agent/after-install.md +14 -14
  200. package/dist/integrations/hermes-agent/bridge.mjs +14 -14
  201. package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +1 -0
  202. package/dist/integrations/hermes-agent/plugin.yaml +5 -5
  203. package/dist/integrations/hermes-agent/schemas.py +12 -12
  204. package/dist/integrations/hermes-agent/test_plugin.py +128 -125
  205. package/dist/integrations/hermes-agent/tools.py +85 -23
  206. package/dist/integrations/openclaw/README.md +16 -16
  207. package/dist/integrations/openclaw/api-server.d.ts +87 -0
  208. package/dist/integrations/openclaw/api-server.js +9 -9
  209. package/dist/integrations/openclaw/client.d.ts +122 -0
  210. package/dist/integrations/openclaw/config.d.ts +96 -0
  211. package/dist/integrations/openclaw/config.js +1 -1
  212. package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +124 -0
  213. package/dist/integrations/openclaw/index.d.ts +101 -0
  214. package/dist/integrations/openclaw/index.js +4 -4
  215. package/dist/integrations/openclaw/types.d.ts +426 -0
  216. package/dist/integrations/plugins/index.d.ts +10 -0
  217. package/dist/integrations/plugins/plugin-integration.d.ts +289 -0
  218. package/dist/integrations/plugins/plugin-registry.d.ts +224 -0
  219. package/dist/integrations/plugins/plugin-registry.js +2 -2
  220. package/dist/mcps/agent-resolver.d.ts +46 -0
  221. package/dist/mcps/architect-tools.server.d.ts +17 -0
  222. package/dist/mcps/architect-tools.server.js +4 -4
  223. package/dist/mcps/auto-format.server.d.ts +19 -0
  224. package/dist/mcps/auto-format.server.js +4 -4
  225. package/dist/mcps/boot-orchestrator.server.d.ts +49 -0
  226. package/dist/mcps/boot-orchestrator.server.js +4 -4
  227. package/dist/mcps/config/config-loader.d.ts +52 -0
  228. package/dist/mcps/config/config-validator.d.ts +40 -0
  229. package/dist/mcps/config/index.d.ts +31 -0
  230. package/dist/mcps/config/plugin-server-registry.d.ts +127 -0
  231. package/dist/mcps/config/server-config-registry.d.ts +51 -0
  232. package/dist/mcps/config/server-config-registry.js +7 -7
  233. package/dist/mcps/connection/connection-manager.d.ts +39 -0
  234. package/dist/mcps/connection/connection-pool.d.ts +64 -0
  235. package/dist/mcps/connection/mcp-connection.d.ts +66 -0
  236. package/dist/mcps/connection/mcp-connection.js +1 -1
  237. package/dist/mcps/connection/process-spawner.d.ts +24 -0
  238. package/dist/mcps/enforcer-tools.server.d.ts +27 -0
  239. package/dist/mcps/enforcer-tools.server.js +4 -4
  240. package/dist/mcps/estimation.server.d.ts +21 -0
  241. package/dist/mcps/estimation.server.js +1 -1
  242. package/dist/mcps/framework-compliance-audit.server.d.ts +22 -0
  243. package/dist/mcps/framework-compliance-audit.server.js +4 -4
  244. package/dist/mcps/framework-help.server.d.ts +14 -0
  245. package/dist/mcps/framework-help.server.js +7 -7
  246. package/dist/mcps/governance.server.d.ts +33 -0
  247. package/dist/mcps/in-process-skill-registry.d.ts +20 -0
  248. package/dist/mcps/in-process-skill-registry.js +6 -6
  249. package/dist/mcps/knowledge-skills/api-design.server.d.ts +15 -0
  250. package/dist/mcps/knowledge-skills/api-design.server.js +4 -4
  251. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +15 -0
  252. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +4 -4
  253. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +33 -0
  254. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
  255. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +31 -0
  256. package/dist/mcps/knowledge-skills/code-analyzer.server.js +1 -1
  257. package/dist/mcps/knowledge-skills/code-review.server.d.ts +46 -0
  258. package/dist/mcps/knowledge-skills/code-review.server.js +4 -4
  259. package/dist/mcps/knowledge-skills/content-creator.server.d.ts +13 -0
  260. package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
  261. package/dist/mcps/knowledge-skills/database-design.server.d.ts +43 -0
  262. package/dist/mcps/knowledge-skills/database-design.server.js +4 -4
  263. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +43 -0
  264. package/dist/mcps/knowledge-skills/devops-deployment.server.js +4 -4
  265. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +15 -0
  266. package/dist/mcps/knowledge-skills/git-workflow.server.js +4 -4
  267. package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +13 -0
  268. package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
  269. package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +24 -0
  270. package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
  271. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +19 -0
  272. package/dist/mcps/knowledge-skills/mobile-development.server.js +4 -4
  273. package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +55 -0
  274. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +3 -2
  275. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +72 -0
  276. package/dist/mcps/knowledge-skills/performance-optimization.server.js +4 -4
  277. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +37 -0
  278. package/dist/mcps/knowledge-skills/project-analysis.server.js +1 -1
  279. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +33 -0
  280. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +4 -4
  281. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +48 -0
  282. package/dist/mcps/knowledge-skills/security-audit.server.js +4 -4
  283. package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +26 -0
  284. package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
  285. package/dist/mcps/knowledge-skills/session-management.server.d.ts +23 -0
  286. package/dist/mcps/knowledge-skills/session-management.server.js +1 -1
  287. package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +29 -0
  288. package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
  289. package/dist/mcps/knowledge-skills/strategist.server.d.ts +17 -0
  290. package/dist/mcps/knowledge-skills/strategist.server.js +1 -1
  291. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +47 -0
  292. package/dist/mcps/knowledge-skills/tech-writer.server.js +5 -5
  293. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +36 -0
  294. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +4 -4
  295. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
  296. package/dist/mcps/knowledge-skills/testing-strategy.server.js +4 -4
  297. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +69 -0
  298. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +6 -6
  299. package/dist/mcps/lint.server.d.ts +17 -0
  300. package/dist/mcps/lint.server.js +6 -6
  301. package/dist/mcps/mcp-client.d.ts +157 -0
  302. package/dist/mcps/mcp-client.js +3 -3
  303. package/dist/mcps/model-health-check.server.d.ts +16 -0
  304. package/dist/mcps/model-health-check.server.js +4 -4
  305. package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +35 -0
  306. package/dist/mcps/orchestrator/execution/execution-planner.d.ts +62 -0
  307. package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +32 -0
  308. package/dist/mcps/orchestrator/handlers/status-handler.d.ts +69 -0
  309. package/dist/mcps/orchestrator/handlers/task-handler.d.ts +52 -0
  310. package/dist/mcps/orchestrator/server.d.ts +38 -0
  311. package/dist/mcps/orchestrator/server.js +2 -2
  312. package/dist/mcps/orchestrator/types.d.ts +79 -0
  313. package/dist/mcps/orchestrator.server.d.ts +10 -0
  314. package/dist/mcps/performance-analysis.server.d.ts +27 -0
  315. package/dist/mcps/performance-analysis.server.js +4 -4
  316. package/dist/mcps/processor-pipeline.server.d.ts +31 -0
  317. package/dist/mcps/processor-pipeline.server.js +4 -4
  318. package/dist/mcps/protocol/protocol-constants.d.ts +46 -0
  319. package/dist/mcps/registry.json +1 -1
  320. package/dist/mcps/researcher.server.d.ts +31 -0
  321. package/dist/mcps/researcher.server.js +5 -5
  322. package/dist/mcps/security-scan.server.d.ts +20 -0
  323. package/dist/mcps/security-scan.server.js +4 -4
  324. package/dist/mcps/simulation/index.d.ts +12 -0
  325. package/dist/mcps/simulation/server-simulations.d.ts +39 -0
  326. package/dist/mcps/simulation/server-simulations.js +3 -3
  327. package/dist/mcps/simulation/simulation-engine.d.ts +51 -0
  328. package/dist/mcps/state-manager.server.d.ts +28 -0
  329. package/dist/mcps/state-manager.server.js +1 -1
  330. package/dist/mcps/tools/index.d.ts +14 -0
  331. package/dist/mcps/tools/tool-cache.d.ts +53 -0
  332. package/dist/mcps/tools/tool-discovery.d.ts +27 -0
  333. package/dist/mcps/tools/tool-executor.d.ts +41 -0
  334. package/dist/mcps/tools/tool-registry.d.ts +42 -0
  335. package/dist/mcps/types/index.d.ts +13 -0
  336. package/dist/mcps/types/json-rpc.types.d.ts +35 -0
  337. package/dist/mcps/types/mcp.types.d.ts +105 -0
  338. package/dist/metrics/agent-metrics.d.ts +169 -0
  339. package/dist/metrics/agent-metrics.js +1 -1
  340. package/dist/metrics/index.d.ts +6 -0
  341. package/dist/monitoring/advanced-profiler.d.ts +51 -0
  342. package/dist/monitoring/memory-monitor.d.ts +113 -0
  343. package/dist/monitoring/nudge-watchdog.d.ts +88 -0
  344. package/dist/monitoring/test-auto-generation-monitor.d.ts +64 -0
  345. package/dist/orchestrator/agent-spawn-governor.d.ts +127 -0
  346. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +156 -0
  347. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
  348. package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
  349. package/dist/orchestrator/intelligent-commit-batcher.js +3 -3
  350. package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +127 -0
  351. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +9 -9
  352. package/dist/orchestrator/orchestrator.d.ts +143 -0
  353. package/dist/orchestrator/orchestrator.js +8 -6
  354. package/dist/orchestrator/self-direction-activation.d.ts +109 -0
  355. package/dist/orchestrator/universal-librarian-consultation.d.ts +98 -0
  356. package/dist/orchestrator/universal-registry-bridge.d.ts +85 -0
  357. package/dist/orchestrator/universal-registry-bridge.js +1 -1
  358. package/dist/performance/performance-budget-enforcer.d.ts +158 -0
  359. package/dist/performance/performance-regression-tester.d.ts +108 -0
  360. package/dist/plugin/xray-codex-injection.d.ts +55 -0
  361. package/dist/plugin/xray-codex-injection.js +15 -14
  362. package/dist/postprocessor/PostProcessor.d.ts +108 -0
  363. package/dist/postprocessor/PostProcessor.js +1 -1
  364. package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +39 -0
  365. package/dist/postprocessor/autofix/AutoFixEngine.d.ts +48 -0
  366. package/dist/postprocessor/autofix/FixValidator.d.ts +23 -0
  367. package/dist/postprocessor/config.d.ts +6 -0
  368. package/dist/postprocessor/escalation/EscalationEngine.d.ts +154 -0
  369. package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +40 -0
  370. package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +91 -0
  371. package/dist/postprocessor/services/RegressionAnalysisService.d.ts +40 -0
  372. package/dist/postprocessor/services/RegressionAnalysisService.js +2 -2
  373. package/dist/postprocessor/success/SuccessHandler.d.ts +57 -0
  374. package/dist/postprocessor/triggers/APITrigger.d.ts +35 -0
  375. package/dist/postprocessor/triggers/GitHookTrigger.d.ts +38 -0
  376. package/dist/postprocessor/triggers/GitHookTrigger.js +14 -14
  377. package/dist/postprocessor/triggers/WebhookTrigger.d.ts +47 -0
  378. package/dist/postprocessor/types.d.ts +227 -0
  379. package/dist/processors/doc-write-guard.d.ts +6 -0
  380. package/dist/processors/implementations/agents-md-validation-processor.d.ts +63 -0
  381. package/dist/processors/implementations/agents-md-validation-processor.js +2 -2
  382. package/dist/processors/implementations/async-pattern-processor.d.ts +48 -0
  383. package/dist/processors/implementations/codex-compliance-processor.d.ts +7 -0
  384. package/dist/processors/implementations/commit-batcher-processor.d.ts +13 -0
  385. package/dist/processors/implementations/console-log-guard-processor.d.ts +33 -0
  386. package/dist/processors/implementations/coverage-analysis-processor.d.ts +20 -0
  387. package/dist/processors/implementations/error-boundary-processor.d.ts +7 -0
  388. package/dist/processors/implementations/inference-improvement-processor.d.ts +36 -0
  389. package/dist/processors/implementations/inference-improvement-processor.js +2 -2
  390. package/dist/processors/implementations/log-protection-processor.d.ts +30 -0
  391. package/dist/processors/implementations/log-protection-processor.js +2 -2
  392. package/dist/processors/implementations/nudge-processor.d.ts +22 -0
  393. package/dist/processors/implementations/performance-budget-processor.d.ts +50 -0
  394. package/dist/processors/implementations/postprocessor-chain-validator.d.ts +46 -0
  395. package/dist/processors/implementations/pre-validate-processor.d.ts +7 -0
  396. package/dist/processors/implementations/publish-preflight-processor.d.ts +38 -0
  397. package/dist/processors/implementations/publish-preflight-processor.js +3 -3
  398. package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +7 -0
  399. package/dist/processors/implementations/refactoring-logging-processor.d.ts +31 -0
  400. package/dist/processors/implementations/regression-testing-processor.d.ts +20 -0
  401. package/dist/processors/implementations/regression-testing-processor.js +2 -2
  402. package/dist/processors/implementations/session-capture-processor.d.ts +14 -0
  403. package/dist/processors/implementations/session-summary-processor.d.ts +27 -0
  404. package/dist/processors/implementations/session-summary-processor.js +2 -2
  405. package/dist/processors/implementations/spawn-governance-processor.d.ts +58 -0
  406. package/dist/processors/implementations/state-validation-processor.d.ts +11 -0
  407. package/dist/processors/implementations/storytelling-trigger-processor.d.ts +42 -0
  408. package/dist/processors/implementations/storytelling-trigger-processor.js +2 -2
  409. package/dist/processors/implementations/test-auto-creation-processor.d.ts +17 -0
  410. package/dist/processors/implementations/test-execution-processor.d.ts +11 -0
  411. package/dist/processors/implementations/typescript-compilation-processor.d.ts +38 -0
  412. package/dist/processors/implementations/version-compliance-processor.d.ts +112 -0
  413. package/dist/processors/processor-interfaces.d.ts +127 -0
  414. package/dist/processors/processor-manager.d.ts +80 -0
  415. package/dist/processors/processor-types.d.ts +190 -0
  416. package/dist/public/about.html +6 -6
  417. package/dist/public/enterprise.html +1 -1
  418. package/dist/public/features.html +2 -2
  419. package/dist/public/index.html +4 -4
  420. package/dist/reporting/framework-reporting-system.d.ts +19 -0
  421. package/dist/reporting/log-parser.d.ts +10 -0
  422. package/dist/reporting/metrics.d.ts +15 -0
  423. package/dist/reporting/report-formatter.d.ts +5 -0
  424. package/dist/reporting/report-formatter.js +1 -1
  425. package/dist/reporting/types.d.ts +102 -0
  426. package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
  427. package/dist/scripts/activate-kernel-pipeline.js +2 -2
  428. package/dist/scripts/integration.d.ts +37 -0
  429. package/dist/scripts/pre-command +1 -1
  430. package/dist/security/comprehensive-security-audit.d.ts +158 -0
  431. package/dist/security/index.d.ts +13 -0
  432. package/dist/security/prompt-security-validator.d.ts +44 -0
  433. package/dist/security/security-agent-coordinator.d.ts +72 -0
  434. package/dist/security/security-auditor.d.ts +56 -0
  435. package/dist/security/security-hardener.d.ts +62 -0
  436. package/dist/security/security-hardening-system.d.ts +239 -0
  437. package/dist/security/security-headers.d.ts +64 -0
  438. package/dist/security/security-orchestration-layer.d.ts +119 -0
  439. package/dist/security/security-scanner.d.ts +119 -0
  440. package/dist/services/inference-tuner.d.ts +77 -0
  441. package/dist/services/inference-tuner.js +2 -2
  442. package/dist/session/index.d.ts +3 -0
  443. package/dist/session/session-cleanup-manager.d.ts +118 -0
  444. package/dist/session/session-monitor.d.ts +133 -0
  445. package/dist/session/session-state-manager.d.ts +145 -0
  446. package/dist/skills/hermes-agent/SKILL.md +11 -11
  447. package/dist/skills/registry.json +1 -1
  448. package/dist/skills/storyteller/SKILL.md +1 -1
  449. package/dist/skills/xray-orchestrator/SKILL.md +141 -0
  450. package/dist/skills/xray-orchestrator/index.d.ts +13 -0
  451. package/dist/skills/xray-orchestrator/index.js +224 -0
  452. package/dist/state/context-providers.d.ts +4 -0
  453. package/dist/state/index.d.ts +5 -0
  454. package/dist/state/index.js +2 -1
  455. package/dist/state/state-manager.d.ts +42 -0
  456. package/dist/state/state-manager.js +5 -4
  457. package/dist/state/state-types.d.ts +5 -0
  458. package/dist/testing/memory-regression-suite.d.ts +105 -0
  459. package/dist/utils/batch-operations.d.ts +25 -0
  460. package/dist/utils/codex-parser.d.ts +61 -0
  461. package/dist/utils/command-runner.d.ts +32 -0
  462. package/dist/utils/import-resolver.d.ts +54 -0
  463. package/dist/utils/import-resolver.js +1 -1
  464. package/dist/utils/language-detector.d.ts +44 -0
  465. package/dist/utils/path-resolver.d.ts +48 -0
  466. package/dist/utils/path-resolver.js +2 -2
  467. package/dist/utils/shutdown-handler.d.ts +27 -0
  468. package/dist/utils/test-template-generator.d.ts +25 -0
  469. package/dist/utils/token-manager.d.ts +48 -0
  470. package/dist/utils/token-manager.js +1 -1
  471. package/dist/validation/estimation-validator.d.ts +61 -0
  472. package/dist/validation/estimation-validator.js +1 -1
  473. package/dist/validation/report-content-validator.d.ts +42 -0
  474. package/package.json +4 -3
  475. package/scripts/hooks/pre-command +1 -1
  476. package/scripts/hooks/run-hook.js +2 -2
  477. package/scripts/node/auto-reflection-generator.mjs +2 -2
  478. package/scripts/node/postinstall.cjs +1 -1
  479. package/scripts/node/release.js +6 -6
  480. package/scripts/node/release.mjs +10 -10
  481. package/scripts/node/universal-version-manager.js +53 -54
  482. package/scripts/node/version-manager.mjs +1 -1
  483. package/src/integrations/grok/plugin/0xray/.mcp.json +3 -3
  484. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  485. package/src/mcps/architect-tools.server.ts +4 -4
  486. package/src/mcps/auto-format.server.ts +4 -4
  487. package/src/mcps/boot-orchestrator.server.ts +4 -4
  488. package/src/mcps/config/server-config-registry.ts +7 -7
  489. package/src/mcps/connection/mcp-connection.ts +1 -1
  490. package/src/mcps/enforcer-tools.server.ts +4 -4
  491. package/src/mcps/estimation.server.ts +1 -1
  492. package/src/mcps/framework-compliance-audit.server.ts +4 -4
  493. package/src/mcps/framework-help.server.ts +7 -7
  494. package/src/mcps/in-process-skill-registry.ts +6 -6
  495. package/src/mcps/knowledge-skills/api-design.server.test.ts +8 -8
  496. package/src/mcps/knowledge-skills/api-design.server.ts +4 -4
  497. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +4 -4
  498. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +1 -1
  499. package/src/mcps/knowledge-skills/code-analyzer.server.ts +1 -1
  500. package/src/mcps/knowledge-skills/code-review.server.ts +4 -4
  501. package/src/mcps/knowledge-skills/content-creator.server.ts +1 -1
  502. package/src/mcps/knowledge-skills/database-design.server.ts +4 -4
  503. package/src/mcps/knowledge-skills/devops-deployment.server.ts +4 -4
  504. package/src/mcps/knowledge-skills/git-workflow.server.ts +4 -4
  505. package/src/mcps/knowledge-skills/growth-strategist.server.ts +1 -1
  506. package/src/mcps/knowledge-skills/log-monitor.server.ts +1 -1
  507. package/src/mcps/knowledge-skills/mobile-development.server.ts +4 -4
  508. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +3 -2
  509. package/src/mcps/knowledge-skills/performance-optimization.server.ts +4 -4
  510. package/src/mcps/knowledge-skills/project-analysis.server.ts +1 -1
  511. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +4 -4
  512. package/src/mcps/knowledge-skills/security-audit.server.test.ts +23 -23
  513. package/src/mcps/knowledge-skills/security-audit.server.ts +4 -4
  514. package/src/mcps/knowledge-skills/seo-consultant.server.ts +1 -1
  515. package/src/mcps/knowledge-skills/session-management.server.ts +1 -1
  516. package/src/mcps/knowledge-skills/skill-invocation.server.ts +1 -1
  517. package/src/mcps/knowledge-skills/strategist.server.ts +1 -1
  518. package/src/mcps/knowledge-skills/tech-writer.server.ts +5 -5
  519. package/src/mcps/knowledge-skills/testing-best-practices.server.test.ts +28 -28
  520. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +4 -4
  521. package/src/mcps/knowledge-skills/testing-strategy.server.test.ts +19 -19
  522. package/src/mcps/knowledge-skills/testing-strategy.server.ts +4 -4
  523. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +6 -6
  524. package/src/mcps/lint.server.ts +6 -6
  525. package/src/mcps/mcp-client.ts +3 -3
  526. package/src/mcps/model-health-check.server.ts +4 -4
  527. package/src/mcps/orchestrator/server.ts +2 -2
  528. package/src/mcps/performance-analysis.server.ts +4 -4
  529. package/src/mcps/processor-pipeline.server.ts +4 -4
  530. package/src/mcps/registry.json +1 -1
  531. package/src/mcps/researcher.server.ts +5 -5
  532. package/src/mcps/security-scan.server.ts +4 -4
  533. package/src/mcps/simulation/server-simulations.ts +3 -3
  534. package/src/mcps/state-manager.server.ts +1 -1
  535. package/src/opencode/codex.codex +2 -2
  536. package/src/opencode/commands/dependency-audit.md +3 -3
  537. package/src/opencode/enforcer-config.json +2 -2
  538. package/src/skills/hermes-agent/SKILL.md +11 -11
  539. package/src/skills/registry.json +1 -1
  540. package/src/skills/storyteller/SKILL.md +1 -1
  541. package/src/skills/xray-orchestrator/SKILL.md +141 -0
  542. package/src/skills/xray-orchestrator/index.ts +268 -0
  543. package/.opencode/hooks/hook-metrics.json +0 -380
  544. package/.opencode/skills/api-design/SKILL.md +0 -37
  545. package/.opencode/skills/architect-tools/SKILL.md +0 -37
  546. package/.opencode/skills/architecture-patterns/SKILL.md +0 -37
  547. package/.opencode/skills/auto-format/SKILL.md +0 -37
  548. package/.opencode/skills/backend-engineer/SKILL.md +0 -49
  549. package/.opencode/skills/boot-orchestrator/SKILL.md +0 -37
  550. package/.opencode/skills/bug-triage/SKILL.md +0 -43
  551. package/.opencode/skills/code-analyzer/SKILL.md +0 -45
  552. package/.opencode/skills/code-review/SKILL.md +0 -52
  553. package/.opencode/skills/content-creator/SKILL.md +0 -38
  554. package/.opencode/skills/database-engineer/SKILL.md +0 -46
  555. package/.opencode/skills/devops-engineer/SKILL.md +0 -49
  556. package/.opencode/skills/enforcer/SKILL.md +0 -37
  557. package/.opencode/skills/framework-compliance-audit/SKILL.md +0 -37
  558. package/.opencode/skills/frontend-engineer/SKILL.md +0 -49
  559. package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +0 -41
  560. package/.opencode/skills/git-workflow/SKILL.md +0 -37
  561. package/.opencode/skills/growth-strategist/SKILL.md +0 -48
  562. package/.opencode/skills/hermes-agent/SKILL.md +0 -212
  563. package/.opencode/skills/inference-improve/SKILL.md +0 -97
  564. package/.opencode/skills/lint/SKILL.md +0 -37
  565. package/.opencode/skills/log-monitor/SKILL.md +0 -44
  566. package/.opencode/skills/mobile-developer/SKILL.md +0 -42
  567. package/.opencode/skills/model-health-check/SKILL.md +0 -37
  568. package/.opencode/skills/multimodal-looker/SKILL.md +0 -45
  569. package/.opencode/skills/orchestrator/SKILL.md +0 -37
  570. package/.opencode/skills/performance-analysis/SKILL.md +0 -37
  571. package/.opencode/skills/performance-engineer/SKILL.md +0 -41
  572. package/.opencode/skills/performance-optimization/SKILL.md +0 -37
  573. package/.opencode/skills/processor-pipeline/SKILL.md +0 -37
  574. package/.opencode/skills/project-analysis/SKILL.md +0 -42
  575. package/.opencode/skills/refactoring-strategies/SKILL.md +0 -37
  576. package/.opencode/skills/registry.json +0 -66
  577. package/.opencode/skills/researcher/SKILL.md +0 -37
  578. package/.opencode/skills/security-audit/SKILL.md +0 -47
  579. package/.opencode/skills/security-scan/SKILL.md +0 -37
  580. package/.opencode/skills/seo-consultant/SKILL.md +0 -43
  581. package/.opencode/skills/session-management/SKILL.md +0 -36
  582. package/.opencode/skills/state-manager/SKILL.md +0 -37
  583. package/.opencode/skills/storyteller/SKILL.md +0 -130
  584. package/.opencode/skills/strategist/SKILL.md +0 -32
  585. package/.opencode/skills/tech-writer/SKILL.md +0 -37
  586. package/.opencode/skills/testing-best-practices/SKILL.md +0 -37
  587. package/.opencode/skills/testing-strategy/SKILL.md +0 -43
  588. package/.opencode/skills/ui-ux-design/SKILL.md +0 -603
  589. package/scripts/validate-stringray-comprehensive.js +0 -636
  590. /package/dist/integrations/openclaw/hooks/{strray-hooks.js → xray-hooks.js} +0 -0
@@ -2,7 +2,50 @@
2
2
 
3
3
  v2.0: Now uses the Node.js bridge for real framework integration.
4
4
  Falls back to CLI (npx 0xray) when bridge is unavailable.
5
+ """
6
+
7
+ import json
8
+ import os
9
+ import shutil
10
+ import subprocess
11
+ from pathlib import Path
12
+
13
+
14
+ # ── Paths ─────────────────────────────────────────────────────
15
+
16
+ PLUGIN_DIR = Path(__file__).resolve().parent
17
+ BRIDGE_PATH = PLUGIN_DIR / "bridge.mjs"
18
+
19
+
20
+ def _get_project_root():
21
+ """Find the project root by walking up from cwd."""
22
+ cwd = os.getcwd()
23
+ home = Path.home()
24
+ d = Path(cwd).resolve()
25
+ while True:
26
+ if (d / "node_modules" / "0xray" / "package.json").exists():
27
+ return str(d)
28
+ if (d / ".opencode" / "xray" / "features.json").exists():
29
+ return str(d)
30
+ if d != home and (d / "package.json").exists():
31
+ return str(d)
32
+ d = d.parent
33
+ if d == d.parent:
34
+ break
35
+ return cwd
36
+
37
+
38
+ def _run_xray(args, timeout=30):
39
+ """Run 0xray CLI command, return JSON string result."""
40
+ try:
41
+ result = subprocess.run(
5
42
  ["npx", "0xray"] + args,
43
+ capture_output=True, text=True, timeout=timeout,
44
+ )
45
+ if result.returncode == 0:
46
+ return json.dumps({"status": "ok", "output": result.stdout})
47
+ return json.dumps({"status": "error", "error": result.stderr[:500]})
48
+ except FileNotFoundError:
6
49
  return json.dumps({"error": "0xray not found. Run: npm install -g 0xray"})
7
50
  except subprocess.TimeoutExpired:
8
51
  return json.dumps({"error": f"Command timed out after {timeout}s"})
@@ -10,9 +53,28 @@ Falls back to CLI (npx 0xray) when bridge is unavailable.
10
53
  return json.dumps({"error": str(e)})
11
54
 
12
55
 
13
- # ── Tool: strray_validate ─────────────────────────────────────
56
+ def _bridge_call(command, timeout=30):
57
+ """Call bridge.mjs with a JSON command, return parsed dict."""
58
+ try:
59
+ result = subprocess.run(
60
+ ["node", str(BRIDGE_PATH), "--cwd", _get_project_root()],
61
+ input=json.dumps(command),
62
+ capture_output=True, text=True, timeout=timeout,
63
+ )
64
+ if result.returncode != 0:
65
+ return {"error": result.stderr[:300] if result.stderr else "bridge failed"}
66
+ return json.loads(result.stdout)
67
+ except FileNotFoundError:
68
+ return {"error": "node not found"}
69
+ except subprocess.TimeoutExpired:
70
+ return {"error": f"bridge timed out after {timeout}s"}
71
+ except (json.JSONDecodeError, OSError) as e:
72
+ return {"error": str(e)}
73
+
74
+
75
+ # ── Tool: xray_validate ─────────────────────────────────────
14
76
 
15
- def strray_validate(args: dict, **kwargs) -> str:
77
+ def xray_validate(args: dict, **kwargs) -> str:
16
78
  """Run pre-commit validation on files using the framework.
17
79
 
18
80
  Uses bridge for real quality gate + processor pipeline.
@@ -41,7 +103,7 @@ def strray_validate(args: dict, **kwargs) -> str:
41
103
  })
42
104
 
43
105
  # Fallback to CLI
44
- result = json.loads(_run_strray(["validate"], timeout=30))
106
+ result = json.loads(_run_xray(["validate"], timeout=30))
45
107
  if "error" in result:
46
108
  return json.dumps(result)
47
109
 
@@ -54,10 +116,10 @@ def strray_validate(args: dict, **kwargs) -> str:
54
116
  })
55
117
 
56
118
 
57
- # ── Tool: strray_codex_check ──────────────────────────────────
119
+ # ── Tool: xray_codex_check ──────────────────────────────────
58
120
 
59
- def strray_codex_check(args: dict, **kwargs) -> str:
60
- """Check code against StringRay codex rules.
121
+ def xray_codex_check(args: dict, **kwargs) -> str:
122
+ """Check code against Xray codex rules.
61
123
 
62
124
  Uses bridge for real quality gate codex checks.
63
125
  Falls back to CLI if bridge unavailable.
@@ -93,7 +155,7 @@ def strray_codex_check(args: dict, **kwargs) -> str:
93
155
  "focus_areas": focus_areas or "all",
94
156
  "code_length": len(code),
95
157
  "note": "Bridge unavailable — basic analysis only. "
96
- "Full codex validation available via MCP: mcp_strray_enforcer_codex_enforcement",
158
+ "Full codex validation available via MCP: mcp_xray_enforcer_codex_enforcement",
97
159
  "via": "static",
98
160
  })
99
161
 
@@ -109,7 +171,7 @@ def strray_codex_check(args: dict, **kwargs) -> str:
109
171
  "via": "bridge",
110
172
  })
111
173
 
112
- result = json.loads(_run_strray(["health"], timeout=15))
174
+ result = json.loads(_run_xray(["health"], timeout=15))
113
175
  if "error" in result:
114
176
  return json.dumps(result)
115
177
 
@@ -121,10 +183,10 @@ def strray_codex_check(args: dict, **kwargs) -> str:
121
183
  })
122
184
 
123
185
 
124
- # ── Tool: strray_health ───────────────────────────────────────
186
+ # ── Tool: xray_health ───────────────────────────────────────
125
187
 
126
- def strray_health(args: dict, **kwargs) -> str:
127
- """Check StringRay framework health via bridge.
188
+ def xray_health(args: dict, **kwargs) -> str:
189
+ """Check Xray framework health via bridge.
128
190
 
129
191
  Returns framework status, loaded components, version.
130
192
  """
@@ -141,13 +203,13 @@ def strray_health(args: dict, **kwargs) -> str:
141
203
  })
142
204
 
143
205
  # Fallback to CLI
144
- return _run_strray(["health"], timeout=15)
206
+ return _run_xray(["health"], timeout=15)
145
207
 
146
208
 
147
- # ── Tool: strray_hooks ───────────────────────────────────────
209
+ # ── Tool: xray_hooks ───────────────────────────────────────
148
210
 
149
- def strray_hooks(args: dict, **kwargs) -> str:
150
- """Manage StringRay git hooks.
211
+ def xray_hooks(args: dict, **kwargs) -> str:
212
+ """Manage Xray git hooks.
151
213
 
152
214
  Actions: install, uninstall, list, status
153
215
  Uses bridge for hook management when available.
@@ -174,7 +236,7 @@ def strray_hooks(args: dict, **kwargs) -> str:
174
236
 
175
237
  # Fallback: direct file-based hook management
176
238
  git_hooks_dir = Path(_get_project_root()) / ".git" / "hooks"
177
- strray_hooks_dir = Path(_get_project_root()) / "hooks"
239
+ xray_hooks_dir = Path(_get_project_root()) / "hooks"
178
240
 
179
241
  if not git_hooks_dir.exists():
180
242
  return json.dumps({"error": "Not a git repository", "via": "fallback"})
@@ -183,19 +245,19 @@ def strray_hooks(args: dict, **kwargs) -> str:
183
245
  result = {"managed": [], "missing": [], "external": [], "stale": []}
184
246
  for hook_name in hooks:
185
247
  git_hook = git_hooks_dir / hook_name
186
- strray_hook = strray_hooks_dir / hook_name
248
+ xray_hook = xray_hooks_dir / hook_name
187
249
  if not git_hook.exists():
188
250
  result["missing"].append(hook_name)
189
251
  else:
190
252
  try:
191
253
  content = git_hook.read_text()[:500]
192
- if "StringRay" in content or "strray" in content or "run-hook.js" in content:
254
+ if "Xray" in content or "StringRay" in content or "xray" in content or "strray" in content or "run-hook.js" in content:
193
255
  result["managed"].append(hook_name)
194
256
  else:
195
257
  result["external"].append(hook_name)
196
258
  except OSError:
197
259
  result["external"].append(hook_name)
198
- if not strray_hook.exists():
260
+ if not xray_hook.exists():
199
261
  result["stale"].append(hook_name)
200
262
  return json.dumps({"status": "ok", "action": action, **result, "via": "fallback"})
201
263
 
@@ -203,7 +265,7 @@ def strray_hooks(args: dict, **kwargs) -> str:
203
265
  installed = []
204
266
  skipped = []
205
267
  for hook_name in hooks:
206
- src = strray_hooks_dir / hook_name
268
+ src = xray_hooks_dir / hook_name
207
269
  dst = git_hooks_dir / hook_name
208
270
  if not src.exists():
209
271
  skipped.append(hook_name)
@@ -212,7 +274,7 @@ def strray_hooks(args: dict, **kwargs) -> str:
212
274
  if dst.exists():
213
275
  try:
214
276
  content = dst.read_text()[:500]
215
- if "StringRay" not in content and "strray" not in content:
277
+ if "Xray" not in content and "StringRay" not in content and "xray" not in content and "strray" not in content:
216
278
  dst.rename(dst.with_suffix(".strray-backup"))
217
279
  else:
218
280
  dst.unlink()
@@ -238,8 +300,8 @@ def strray_hooks(args: dict, **kwargs) -> str:
238
300
  continue
239
301
  try:
240
302
  content = dst.read_text()[:500]
241
- is_strray = "StringRay" in content or "strray" in content or "run-hook.js" in content
242
- if is_strray or dst.is_symlink():
303
+ is_xray = "Xray" in content or "StringRay" in content or "xray" in content or "strray" in content or "run-hook.js" in content
304
+ if is_xray or dst.is_symlink():
243
305
  dst.unlink()
244
306
  if backup.exists():
245
307
  shutil.move(str(backup), str(dst))
@@ -1,12 +1,12 @@
1
1
  # OpenClaw Integration
2
2
 
3
- StringRay integration for OpenClaw - a self-hosted AI gateway that connects messaging platforms to AI coding agents.
3
+ Xray integration for OpenClaw - a self-hosted AI gateway that connects messaging platforms to AI coding agents.
4
4
 
5
5
  ## Overview
6
6
 
7
- This integration allows StringRay to:
7
+ This integration allows Xray to:
8
8
  - Connect to OpenClaw Gateway via WebSocket
9
- - Expose StringRay capabilities through OpenClaw skills
9
+ - Expose Xray capabilities through OpenClaw skills
10
10
  - Send tool execution events to OpenClaw for real-time tracking
11
11
  - Receive commands from OpenClaw channels (WhatsApp, Telegram, Discord, etc.)
12
12
 
@@ -14,7 +14,7 @@ This integration allows StringRay to:
14
14
 
15
15
  ```
16
16
  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
17
- │ User │────▶│ OpenClaw │────▶│ StringRay
17
+ │ User │────▶│ OpenClaw │────▶│ Xray
18
18
  │ (WhatsApp, │ │ Gateway │ │ Skills │
19
19
  │ Discord, │ │ │ │ │
20
20
  │ Telegram) │◀────│ │◀────│ │
@@ -37,7 +37,7 @@ npm install ws
37
37
 
38
38
  ### 2. Configure OpenClaw
39
39
 
40
- Create `.strray/config/openclaw.json`:
40
+ Create `.xray/config/openclaw.json`:
41
41
 
42
42
  ```json
43
43
  {
@@ -82,11 +82,11 @@ const integration = await initializeOpenClawIntegration('/path/to/config.json',
82
82
 
83
83
  After installation, use these commands in any OpenClaw channel:
84
84
 
85
- - `/strray` - Show status
86
- - `/strray-analyze <file>` - Analyze code
87
- - `/strray-code <file>` - Code review
88
- - `/strray-file <file>` - Read file
89
- - `/strray-exec <command>` - Execute command
85
+ - `/xray` - Show status
86
+ - `/xray-analyze <file>` - Analyze code
87
+ - `/xray-code <file>` - Code review
88
+ - `/xray-file <file>` - Read file
89
+ - `/xray-exec <command>` - Execute command
90
90
 
91
91
  ## Configuration
92
92
 
@@ -115,14 +115,14 @@ The integration exposes a local HTTP API on port 18431:
115
115
 
116
116
  ### stringray-orchestrator
117
117
 
118
- Main skill providing StringRay commands:
118
+ Main skill providing Xray commands:
119
119
 
120
120
  ```markdown
121
- /strray - Show status
122
- /strray-analyze <file> - Analyze code
123
- /strray-code <file> - Code review
124
- /strray-file <file> - Read file
125
- /strray-exec <command> - Execute command
121
+ /xray - Show status
122
+ /xray-analyze <file> - Analyze code
123
+ /xray-code <file> - Code review
124
+ /xray-file <file> - Read file
125
+ /xray-exec <command> - Execute command
126
126
  ```
127
127
 
128
128
  ## Documentation
@@ -0,0 +1,87 @@
1
+ /**
2
+ * 0xRay API Server
3
+ *
4
+ * HTTP API server that OpenClaw skills call to invoke 0xRay capabilities.
5
+ * This is the bridge between OpenClaw skills and 0xRay.
6
+ *
7
+ * @version 1.0.0
8
+ * @since 2026-03-14
9
+ */
10
+ import { XrayAPIServerConfig, AgentInvokeRequest, AgentInvokeResponse, APIServerStatistics } from './types.js';
11
+ /**
12
+ * Agent invoker interface - implemented by 0xRay
13
+ */
14
+ export interface AgentInvoker {
15
+ invoke(request: AgentInvokeRequest): Promise<AgentInvokeResponse>;
16
+ getStatus?(): Promise<{
17
+ healthy: boolean;
18
+ version: string;
19
+ }>;
20
+ }
21
+ /**
22
+ * 0xRay API Server
23
+ */
24
+ export declare class XrayAPIServer {
25
+ private server;
26
+ private config;
27
+ private agentInvoker;
28
+ private apiKey;
29
+ private stats;
30
+ private responseTimes;
31
+ private logger;
32
+ constructor(config: XrayAPIServerConfig);
33
+ /**
34
+ * Set the agent invoker
35
+ */
36
+ setAgentInvoker(invoker: AgentInvoker): void;
37
+ /**
38
+ * Start the API server
39
+ */
40
+ start(): Promise<void>;
41
+ /**
42
+ * Stop the API server
43
+ */
44
+ stop(): Promise<void>;
45
+ /**
46
+ * Check if server is running
47
+ */
48
+ isRunning(): boolean;
49
+ /**
50
+ * Get server statistics
51
+ */
52
+ getStats(): APIServerStatistics;
53
+ /**
54
+ * Handle incoming HTTP request
55
+ */
56
+ private handleRequest;
57
+ /**
58
+ * Handle health check request
59
+ */
60
+ private handleHealth;
61
+ /**
62
+ * Handle agent invoke request
63
+ */
64
+ private handleAgentInvoke;
65
+ /**
66
+ * Handle agent status request
67
+ */
68
+ private handleAgentStatus;
69
+ private handleGovern;
70
+ private handleApply;
71
+ /**
72
+ * Validate API key using constant-time comparison to prevent timing attacks
73
+ */
74
+ private validateApiKey;
75
+ /**
76
+ * Read request body
77
+ */
78
+ private readBody;
79
+ /**
80
+ * Send JSON response
81
+ */
82
+ private sendResponse;
83
+ }
84
+ /**
85
+ * Factory function to create API server
86
+ */
87
+ export declare function createXrayAPIServer(config: XrayAPIServerConfig): XrayAPIServer;
@@ -12,7 +12,7 @@ import * as http from 'http';
12
12
  /**
13
13
  * 0xRay API Server
14
14
  */
15
- export class StringRayAPIServer {
15
+ export class XrayAPIServer {
16
16
  server = null;
17
17
  config;
18
18
  agentInvoker = null;
@@ -51,7 +51,7 @@ export class StringRayAPIServer {
51
51
  */
52
52
  async start() {
53
53
  if (this.server) {
54
- this.logger.warn('[StringRayAPIServer] Server already running');
54
+ this.logger.warn('[XrayAPIServer] Server already running');
55
55
  return;
56
56
  }
57
57
  return new Promise((resolve, reject) => {
@@ -59,13 +59,13 @@ export class StringRayAPIServer {
59
59
  this.handleRequest(req, res);
60
60
  });
61
61
  this.server.on('error', (error) => {
62
- this.logger.error('[StringRayAPIServer] Server error:', error);
62
+ this.logger.error('[XrayAPIServer] Server error:', error);
63
63
  this.stats.errors++;
64
64
  reject(error);
65
65
  });
66
66
  this.server.listen(this.config.port, this.config.host, () => {
67
67
  this.stats.startedAt = Date.now();
68
- this.logger.info(`[StringRayAPIServer] Listening on http://${this.config.host}:${this.config.port}`);
68
+ this.logger.info(`[XrayAPIServer] Listening on http://${this.config.host}:${this.config.port}`);
69
69
  resolve();
70
70
  });
71
71
  });
@@ -77,7 +77,7 @@ export class StringRayAPIServer {
77
77
  return new Promise((resolve) => {
78
78
  if (this.server) {
79
79
  this.server.close(() => {
80
- this.logger.info('[StringRayAPIServer] Server stopped');
80
+ this.logger.info('[XrayAPIServer] Server stopped');
81
81
  this.server = null;
82
82
  resolve();
83
83
  });
@@ -123,7 +123,7 @@ export class StringRayAPIServer {
123
123
  // to prevent cross-origin attacks where a malicious site could make
124
124
  // authenticated requests using the API key from a victim's browser.
125
125
  if (this.config.apiKey) {
126
- this.logger.warn('[StringRayAPIServer] Security: API key is set with CORS enabled. ' +
126
+ this.logger.warn('[XrayAPIServer] Security: API key is set with CORS enabled. ' +
127
127
  'Restricting Access-Control-Allow-Origin to localhost only. ' +
128
128
  'Configure explicit allowed origins if cross-origin access is needed.');
129
129
  const origin = req.headers.origin;
@@ -203,7 +203,7 @@ export class StringRayAPIServer {
203
203
  }
204
204
  }
205
205
  catch (error) {
206
- this.logger.error(`[StringRayAPIServer] Error handling request:`, error);
206
+ this.logger.error(`[XrayAPIServer] Error handling request:`, error);
207
207
  this.stats.errors++;
208
208
  const errorMessage = error instanceof Error ? error.message : 'Internal server error';
209
209
  this.sendResponse(res, 500, { error: errorMessage });
@@ -384,6 +384,6 @@ export class StringRayAPIServer {
384
384
  /**
385
385
  * Factory function to create API server
386
386
  */
387
- export function createStringRayAPIServer(config) {
388
- return new StringRayAPIServer(config);
387
+ export function createXrayAPIServer(config) {
388
+ return new XrayAPIServer(config);
389
389
  }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * OpenClaw WebSocket Client
3
+ *
4
+ * Implements OpenClaw Gateway Protocol v3 with proper request/response handling,
5
+ * reconnection logic, and event management.
6
+ *
7
+ * @version 1.0.0
8
+ * @since 2026-03-14
9
+ */
10
+ import { OpenClawClientConfig, OpenClawClientState, ClientStatistics } from './types.js';
11
+ /**
12
+ * OpenClaw WebSocket Client
13
+ */
14
+ export declare class OpenClawClient {
15
+ private ws;
16
+ private config;
17
+ private state;
18
+ private pendingRequests;
19
+ private eventListeners;
20
+ private stateListeners;
21
+ private reconnectAttempts;
22
+ private reconnectTimeout;
23
+ private pingInterval;
24
+ private stats;
25
+ private logger;
26
+ constructor(config: OpenClawClientConfig);
27
+ /**
28
+ * Connect to OpenClaw Gateway
29
+ */
30
+ private handshakeResolve;
31
+ private handshakeReject;
32
+ private _handshakeTimeout;
33
+ connect(): Promise<void>;
34
+ /**
35
+ * Disconnect from OpenClaw Gateway
36
+ */
37
+ disconnect(): void;
38
+ /**
39
+ * Send request and wait for response
40
+ */
41
+ sendRequest<T = unknown>(method: string, params?: Record<string, unknown>): Promise<T>;
42
+ /**
43
+ * Subscribe to events
44
+ */
45
+ subscribeToEvents(events: string[]): Promise<void>;
46
+ /**
47
+ * Get current state
48
+ */
49
+ getState(): OpenClawClientState;
50
+ /**
51
+ * Check if connected
52
+ */
53
+ isConnected(): boolean;
54
+ /**
55
+ * Get statistics
56
+ */
57
+ getStats(): ClientStatistics;
58
+ /**
59
+ * Add event listener
60
+ */
61
+ on(event: string, listener: Function): void;
62
+ /**
63
+ * Remove event listener
64
+ */
65
+ off(event: string, listener: Function): void;
66
+ /**
67
+ * Add state change listener
68
+ */
69
+ onStateChange(listener: Function): void;
70
+ /**
71
+ * Remove state change listener
72
+ */
73
+ offStateChange(listener: Function): void;
74
+ /**
75
+ * Send handshake on connect
76
+ */
77
+ private sendHandshake;
78
+ /**
79
+ * Handle incoming WebSocket message
80
+ */
81
+ private handleMessage;
82
+ /**
83
+ * Handle response frame
84
+ */
85
+ private handleResponse;
86
+ /**
87
+ * Handle event frame
88
+ */
89
+ private handleEvent;
90
+ /**
91
+ * Handle disconnection
92
+ */
93
+ private handleDisconnect;
94
+ /**
95
+ * Schedule reconnection
96
+ */
97
+ private scheduleReconnect;
98
+ /**
99
+ * Start ping interval for connection health
100
+ */
101
+ private startPingInterval;
102
+ /**
103
+ * Set client state
104
+ */
105
+ private setState;
106
+ /**
107
+ * Generate unique ID for requests
108
+ */
109
+ private generateId;
110
+ /**
111
+ * Generate nonce for device pairing
112
+ */
113
+ private generateNonce;
114
+ /**
115
+ * Sign device challenge
116
+ */
117
+ private signDeviceChallenge;
118
+ }
119
+ /**
120
+ * Factory function to create client
121
+ */
122
+ export declare function createOpenClawClient(config: OpenClawClientConfig): OpenClawClient;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * OpenClaw Configuration Loader
3
+ *
4
+ * Handles loading, validation, and management of OpenClaw integration configuration.
5
+ *
6
+ * @version 1.0.0
7
+ * @since 2026-03-14
8
+ */
9
+ import { OpenClawIntegrationConfig, ConfigValidationResult } from './types.js';
10
+ /**
11
+ * Configuration loader class
12
+ */
13
+ export declare class OpenClawConfigLoader {
14
+ private config;
15
+ private configPath;
16
+ private loadedAt;
17
+ constructor(configPath?: string);
18
+ /**
19
+ * Load configuration from file with environment variable overrides
20
+ */
21
+ load(): OpenClawIntegrationConfig;
22
+ /**
23
+ * Reload configuration from file
24
+ */
25
+ reload(): OpenClawIntegrationConfig;
26
+ /**
27
+ * Get current configuration
28
+ */
29
+ getConfig(): OpenClawIntegrationConfig;
30
+ /**
31
+ * Get configuration age in milliseconds
32
+ */
33
+ getConfigAge(): number;
34
+ /**
35
+ * Check if configuration needs reload
36
+ */
37
+ needsReload(maxAgeMs?: number): boolean;
38
+ /**
39
+ * Apply environment variable overrides
40
+ */
41
+ private applyEnvironmentOverrides;
42
+ /**
43
+ * Merge user config with defaults
44
+ */
45
+ private mergeWithDefaults;
46
+ /**
47
+ * Validate configuration
48
+ */
49
+ validateConfig(config: OpenClawIntegrationConfig): ConfigValidationResult;
50
+ /**
51
+ * Get configuration file path
52
+ */
53
+ getConfigPath(): string;
54
+ /**
55
+ * Check if configuration file exists
56
+ */
57
+ configExists(): boolean;
58
+ /**
59
+ * Create sample configuration file
60
+ */
61
+ createSampleConfig(): void;
62
+ /**
63
+ * Get config for API server only
64
+ */
65
+ getAPIServerConfig(): {
66
+ enabled: boolean;
67
+ port: number;
68
+ host?: string;
69
+ apiKey?: string;
70
+ };
71
+ /**
72
+ * Get config for hooks only
73
+ */
74
+ getHooksConfig(): {
75
+ enabled: boolean;
76
+ toolBefore: boolean;
77
+ toolAfter: boolean;
78
+ includeArgs: boolean;
79
+ includeResult: boolean;
80
+ toolFilter?: string[];
81
+ };
82
+ /**
83
+ * Check if integration is enabled
84
+ */
85
+ isEnabled(): boolean;
86
+ /**
87
+ * Check if API server is enabled
88
+ */
89
+ isAPIServerEnabled(): boolean;
90
+ /**
91
+ * Check if hooks are enabled
92
+ */
93
+ areHooksEnabled(): boolean;
94
+ }
95
+ export declare const configLoader: OpenClawConfigLoader;
96
+ export declare function createConfigLoader(configPath?: string): OpenClawConfigLoader;
@@ -54,7 +54,7 @@ export class OpenClawConfigLoader {
54
54
  loadedAt = 0;
55
55
  constructor(configPath) {
56
56
  this.configPath = configPath ||
57
- path.join(process.cwd(), '.strray', 'config', 'openclaw.json');
57
+ path.join(process.cwd(), '.xray', 'config', 'openclaw.json');
58
58
  }
59
59
  /**
60
60
  * Load configuration from file with environment variable overrides