0xray 3.4.1 → 3.4.3

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 (436) hide show
  1. package/.xray/codex.json +598 -0
  2. package/.xray/config.json +25 -0
  3. package/.xray/features.json +152 -0
  4. package/.xray/features.schema.json +33 -0
  5. package/AGENTS-consumer.md +127 -10
  6. package/AGENTS.md +172 -56
  7. package/README.md +159 -82
  8. package/SKILLS.md +79 -53
  9. package/dist/AGENTS.md +172 -56
  10. package/dist/CHANGELOG.md +95 -52
  11. package/dist/README.md +159 -82
  12. package/dist/SKILLS.md +79 -53
  13. package/dist/agents/architect.d.ts +2 -0
  14. package/dist/agents/backend-engineer.d.ts +8 -0
  15. package/dist/agents/bug-triage-specialist.d.ts +2 -0
  16. package/dist/agents/code-analyzer.d.ts +7 -0
  17. package/dist/agents/code-reviewer.d.ts +2 -0
  18. package/dist/agents/content-creator.d.ts +9 -0
  19. package/dist/agents/database-engineer.d.ts +8 -0
  20. package/dist/agents/devops-engineer.d.ts +8 -0
  21. package/dist/agents/frontend-engineer.d.ts +8 -0
  22. package/dist/agents/frontend-ui-ux-engineer.d.ts +8 -0
  23. package/dist/agents/growth-strategist.d.ts +8 -0
  24. package/dist/agents/index.d.ts +25 -0
  25. package/dist/agents/known-names.d.ts +26 -0
  26. package/dist/agents/librarian-agents-updater.d.ts +30 -0
  27. package/dist/agents/log-monitor.d.ts +2 -0
  28. package/dist/agents/mobile-developer.d.ts +9 -0
  29. package/dist/agents/multimodal-looker.d.ts +9 -0
  30. package/dist/agents/performance-engineer.d.ts +8 -0
  31. package/dist/agents/refactorer.d.ts +2 -0
  32. package/dist/agents/registry.d.ts +37 -0
  33. package/dist/agents/researcher.d.ts +2 -0
  34. package/dist/agents/security-auditor.d.ts +2 -0
  35. package/dist/agents/seo-consultant.d.ts +8 -0
  36. package/dist/agents/strategist.d.ts +7 -0
  37. package/dist/agents/tech-writer.d.ts +8 -0
  38. package/dist/agents/testing-lead.d.ts +2 -0
  39. package/dist/agents/types.d.ts +45 -0
  40. package/dist/analytics/consent-manager.d.ts +92 -0
  41. package/dist/analytics/emerging-pattern-detector.d.ts +66 -0
  42. package/dist/analytics/pattern-learning-engine.d.ts +79 -0
  43. package/dist/analytics/pattern-performance-tracker.d.ts +96 -0
  44. package/dist/analytics/predictive-analytics.d.ts +40 -0
  45. package/dist/analytics/prompt-pattern-analyzer.d.ts +98 -0
  46. package/dist/analytics/routing-performance-analyzer.d.ts +100 -0
  47. package/dist/analytics/routing-refiner.d.ts +102 -0
  48. package/dist/analytics/simple-pattern-analyzer.d.ts +79 -0
  49. package/dist/architect/architect-tools.d.ts +70 -0
  50. package/dist/architect/architectural-integrity.d.ts +20 -0
  51. package/dist/benchmark/performance-benchmark.d.ts +103 -0
  52. package/dist/cli/commands/analytics-disable.d.ts +9 -0
  53. package/dist/cli/commands/analytics-enable-action.d.ts +8 -0
  54. package/dist/cli/commands/analytics-preview.d.ts +9 -0
  55. package/dist/cli/commands/analytics-status.d.ts +9 -0
  56. package/dist/cli/commands/antigravity-status.d.ts +9 -0
  57. package/dist/cli/commands/archive-logs.d.ts +23 -0
  58. package/dist/cli/commands/credible-init.d.ts +11 -0
  59. package/dist/cli/commands/enforce.d.ts +12 -0
  60. package/dist/cli/commands/govern.d.ts +29 -0
  61. package/dist/cli/commands/grok-install.d.ts +7 -0
  62. package/dist/cli/commands/hermes-install.d.ts +2 -0
  63. package/dist/cli/commands/mcp-install.d.ts +4 -0
  64. package/dist/cli/commands/openclaw-install.d.ts +2 -0
  65. package/dist/cli/commands/opencode-install.d.ts +2 -0
  66. package/dist/cli/commands/plugin-commands.d.ts +18 -0
  67. package/dist/cli/commands/publish-agent.d.ts +15 -0
  68. package/dist/cli/commands/security-audit.d.ts +23 -0
  69. package/dist/cli/commands/skill-install.d.ts +6 -0
  70. package/dist/cli/commands/status.d.ts +41 -0
  71. package/dist/cli/commands/storyteller.d.ts +19 -0
  72. package/dist/cli/index.d.ts +7 -0
  73. package/dist/cli/server.d.ts +1 -0
  74. package/dist/config/default-agents.d.ts +12 -0
  75. package/dist/config/routing-mappings.d.ts +26 -0
  76. package/dist/core/activity-logger.d.ts +71 -0
  77. package/dist/core/adaptive-kernel.d.ts +108 -0
  78. package/dist/core/agent-spawn-gate.d.ts +56 -0
  79. package/dist/core/boot-orchestrator.d.ts +99 -0
  80. package/dist/core/codex-formatter.d.ts +95 -0
  81. package/dist/core/codex-injector.d.ts +73 -0
  82. package/dist/core/config-loader.d.ts +59 -0
  83. package/dist/core/config-paths.d.ts +66 -0
  84. package/dist/core/context-loader.d.ts +120 -0
  85. package/dist/core/context-validator.d.ts +52 -0
  86. package/dist/core/features-config.d.ts +485 -0
  87. package/dist/core/features-config.js +5 -0
  88. package/dist/core/framework-logger.d.ts +76 -0
  89. package/dist/core/index.d.ts +5 -0
  90. package/dist/core/kernel-patterns.d.ts +129 -0
  91. package/dist/core/logging-config.d.ts +10 -0
  92. package/dist/core/model-router.d.ts +56 -0
  93. package/dist/core/orchestrator.d.ts +71 -0
  94. package/dist/core/system-prompt-generator.d.ts +34 -0
  95. package/dist/core/trace-context.d.ts +12 -0
  96. package/dist/core/xray-activation.d.ts +14 -0
  97. package/dist/delegation/agent-delegator.d.ts +185 -0
  98. package/dist/delegation/agent-expertise.d.ts +15 -0
  99. package/dist/delegation/analytics/index.d.ts +11 -0
  100. package/dist/delegation/analytics/learning-engine.d.ts +84 -0
  101. package/dist/delegation/analytics/outcome-tracker.d.ts +117 -0
  102. package/dist/delegation/analytics/routing-analytics.d.ts +60 -0
  103. package/dist/delegation/ast-code-parser.d.ts +173 -0
  104. package/dist/delegation/codebase-context-analyzer.d.ts +164 -0
  105. package/dist/delegation/complexity-analyzer.d.ts +110 -0
  106. package/dist/delegation/complexity-core.d.ts +119 -0
  107. package/dist/delegation/config/types.d.ts +247 -0
  108. package/dist/delegation/dependency-graph-builder.d.ts +94 -0
  109. package/dist/delegation/index.d.ts +25 -0
  110. package/dist/delegation/metrics-aggregator.d.ts +91 -0
  111. package/dist/delegation/session-coordinator.d.ts +132 -0
  112. package/dist/delegation/strategy-selector.d.ts +27 -0
  113. package/dist/delegation/voting-coordinator.d.ts +48 -0
  114. package/dist/delegation/voting-types.d.ts +154 -0
  115. package/dist/delegation/weighted-voting-aggregator.d.ts +36 -0
  116. package/dist/enforcement/core/index.d.ts +14 -0
  117. package/dist/enforcement/core/rule-executor.d.ts +157 -0
  118. package/dist/enforcement/core/rule-hierarchy.d.ts +145 -0
  119. package/dist/enforcement/core/rule-registry.d.ts +196 -0
  120. package/dist/enforcement/core/violation-fixer.d.ts +105 -0
  121. package/dist/enforcement/enforcer-tools.d.ts +78 -0
  122. package/dist/enforcement/index.d.ts +22 -0
  123. package/dist/enforcement/loaders/agent-triage-loader.d.ts +98 -0
  124. package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +75 -0
  125. package/dist/enforcement/loaders/base-loader.d.ts +82 -0
  126. package/dist/enforcement/loaders/codex-loader.d.ts +76 -0
  127. package/dist/enforcement/loaders/index.d.ts +36 -0
  128. package/dist/enforcement/loaders/loader-orchestrator.d.ts +96 -0
  129. package/dist/enforcement/loaders/processor-loader.d.ts +59 -0
  130. package/dist/enforcement/rule-enforcer.d.ts +142 -0
  131. package/dist/enforcement/test-auto-healing.d.ts +83 -0
  132. package/dist/enforcement/types.d.ts +500 -0
  133. package/dist/enforcement/validators/architecture-validators.d.ts +154 -0
  134. package/dist/enforcement/validators/base-validator.d.ts +87 -0
  135. package/dist/enforcement/validators/code-quality-validators.d.ts +88 -0
  136. package/dist/enforcement/validators/index.d.ts +14 -0
  137. package/dist/enforcement/validators/security-validators.d.ts +52 -0
  138. package/dist/enforcement/validators/testing-validators.d.ts +80 -0
  139. package/dist/enforcement/validators/validator-registry.d.ts +91 -0
  140. package/dist/execution/opencode-cli-invoker.d.ts +8 -0
  141. package/dist/execution/proposal-applier.d.ts +24 -0
  142. package/dist/governance/codex-policy.service.d.ts +56 -0
  143. package/dist/governance/governance-core.d.ts +53 -0
  144. package/dist/governance/governance-service.d.ts +38 -0
  145. package/dist/governance/governance-types.d.ts +90 -0
  146. package/dist/governance/llm-governance-provider.d.ts +13 -0
  147. package/dist/index.d.ts +28 -0
  148. package/dist/inference/deploy-verifier.d.ts +26 -0
  149. package/dist/inference/index.d.ts +10 -0
  150. package/dist/inference/inference-accumulator.d.ts +29 -0
  151. package/dist/inference/inference-agent-invoker.d.ts +3 -0
  152. package/dist/inference/inference-applier.d.ts +4 -0
  153. package/dist/inference/inference-cycle.d.ts +70 -0
  154. package/dist/inference/inference-proposal-generator.d.ts +3 -0
  155. package/dist/inference/semantic-patterns.d.ts +7 -0
  156. package/dist/inference/session-capture.d.ts +32 -0
  157. package/dist/infrastructure/iac-validator.d.ts +150 -0
  158. package/dist/infrastructure/schemas/cloud-schemas.d.ts +482 -0
  159. package/dist/integrations/base/ExampleIntegration.d.ts +46 -0
  160. package/dist/integrations/base/Integration.d.ts +266 -0
  161. package/dist/integrations/base/index.d.ts +11 -0
  162. package/dist/integrations/base/registry.d.ts +272 -0
  163. package/dist/integrations/base/types.d.ts +167 -0
  164. package/dist/integrations/enforcement-gate.d.ts +44 -0
  165. package/dist/integrations/governance/governance-client.d.ts +75 -0
  166. package/dist/integrations/governance/index.d.ts +98 -0
  167. package/dist/integrations/governance/types.d.ts +238 -0
  168. package/dist/integrations/grok/grok-cli.d.ts +25 -0
  169. package/dist/integrations/grok/hooks/grok-hook-activity.js +53 -0
  170. package/dist/integrations/grok/hooks/grok-hook-utils.js +261 -0
  171. package/dist/integrations/grok/hooks/pre-tool-use.js +85 -115
  172. package/dist/integrations/grok/hooks/session-start.js +52 -0
  173. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +20 -3
  174. package/dist/integrations/openclaw/api-server.d.ts +86 -0
  175. package/dist/integrations/openclaw/client.d.ts +121 -0
  176. package/dist/integrations/openclaw/config.d.ts +95 -0
  177. package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +123 -0
  178. package/dist/integrations/openclaw/index.d.ts +100 -0
  179. package/dist/integrations/openclaw/types.d.ts +425 -0
  180. package/dist/integrations/plugins/index.d.ts +9 -0
  181. package/dist/integrations/plugins/plugin-integration.d.ts +288 -0
  182. package/dist/integrations/plugins/plugin-registry.d.ts +223 -0
  183. package/dist/mcps/agent-resolver.d.ts +45 -0
  184. package/dist/mcps/architect-tools.server.d.ts +16 -0
  185. package/dist/mcps/auto-format.server.d.ts +18 -0
  186. package/dist/mcps/boot-orchestrator.server.d.ts +48 -0
  187. package/dist/mcps/config/config-loader.d.ts +56 -0
  188. package/dist/mcps/config/config-validator.d.ts +40 -0
  189. package/dist/mcps/config/index.d.ts +31 -0
  190. package/dist/mcps/config/plugin-server-registry.d.ts +126 -0
  191. package/dist/mcps/config/server-config-registry.d.ts +51 -0
  192. package/dist/mcps/config/server-config-registry.js +4 -3
  193. package/dist/mcps/connection/connection-manager.d.ts +39 -0
  194. package/dist/mcps/connection/connection-pool.d.ts +64 -0
  195. package/dist/mcps/connection/mcp-connection.d.ts +66 -0
  196. package/dist/mcps/connection/process-spawner.d.ts +24 -0
  197. package/dist/mcps/enforcer-tools.server.d.ts +26 -0
  198. package/dist/mcps/estimation.server.d.ts +19 -0
  199. package/dist/mcps/framework-compliance-audit.server.d.ts +20 -0
  200. package/dist/mcps/framework-help.server.d.ts +13 -0
  201. package/dist/mcps/governance.server.d.ts +35 -0
  202. package/dist/mcps/governance.server.js +14 -2
  203. package/dist/mcps/in-process-skill-registry.d.ts +20 -0
  204. package/dist/mcps/index.d.ts +17 -0
  205. package/dist/mcps/knowledge-skills/api-design.server.d.ts +13 -0
  206. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +13 -0
  207. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +31 -0
  208. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +29 -0
  209. package/dist/mcps/knowledge-skills/code-review.server.d.ts +44 -0
  210. package/dist/mcps/knowledge-skills/content-creator.server.d.ts +11 -0
  211. package/dist/mcps/knowledge-skills/database-design.server.d.ts +41 -0
  212. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +41 -0
  213. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +13 -0
  214. package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +11 -0
  215. package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +22 -0
  216. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +17 -0
  217. package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +53 -0
  218. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +69 -0
  219. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +35 -0
  220. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +31 -0
  221. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +46 -0
  222. package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +24 -0
  223. package/dist/mcps/knowledge-skills/session-management.server.d.ts +22 -0
  224. package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +32 -0
  225. package/dist/mcps/knowledge-skills/storyteller.server.d.ts +11 -0
  226. package/dist/mcps/knowledge-skills/strategist.server.d.ts +15 -0
  227. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +45 -0
  228. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +34 -0
  229. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +45 -0
  230. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +67 -0
  231. package/dist/mcps/lint.server.d.ts +15 -0
  232. package/dist/mcps/mcp-client.d.ts +157 -0
  233. package/dist/mcps/model-health-check.server.d.ts +14 -0
  234. package/dist/mcps/orchestrator/aside-context.d.ts +21 -0
  235. package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +39 -0
  236. package/dist/mcps/orchestrator/config/memory-routing-bridge.d.ts +12 -0
  237. package/dist/mcps/orchestrator/execution/execution-planner.d.ts +62 -0
  238. package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +32 -0
  239. package/dist/mcps/orchestrator/handlers/complexity-handler.js +33 -3
  240. package/dist/mcps/orchestrator/handlers/status-handler.d.ts +71 -0
  241. package/dist/mcps/orchestrator/handlers/task-handler.d.ts +53 -0
  242. package/dist/mcps/orchestrator/index.d.ts +6 -0
  243. package/dist/mcps/orchestrator/server.d.ts +38 -0
  244. package/dist/mcps/orchestrator/server.js +1 -1
  245. package/dist/mcps/orchestrator/types.d.ts +128 -0
  246. package/dist/mcps/orchestrator.server.d.ts +10 -0
  247. package/dist/mcps/performance-analysis.server.d.ts +25 -0
  248. package/dist/mcps/processor-pipeline.server.d.ts +29 -0
  249. package/dist/mcps/protocol/protocol-constants.d.ts +46 -0
  250. package/dist/mcps/researcher-confidence.d.ts +21 -0
  251. package/dist/mcps/researcher.server.d.ts +29 -0
  252. package/dist/mcps/researcher.server.js +3 -0
  253. package/dist/mcps/security-scan.server.d.ts +19 -0
  254. package/dist/mcps/shared/knowledge-skill-base.d.ts +17 -0
  255. package/dist/mcps/shared/prompt-security-validator.d.ts +44 -0
  256. package/dist/mcps/shared/security-scanner.d.ts +119 -0
  257. package/dist/mcps/simulation/index.d.ts +12 -0
  258. package/dist/mcps/simulation/server-simulations.d.ts +39 -0
  259. package/dist/mcps/simulation/simulation-engine.d.ts +51 -0
  260. package/dist/mcps/state-manager.server.d.ts +27 -0
  261. package/dist/mcps/tools/index.d.ts +14 -0
  262. package/dist/mcps/tools/tool-cache.d.ts +53 -0
  263. package/dist/mcps/tools/tool-discovery.d.ts +27 -0
  264. package/dist/mcps/tools/tool-executor.d.ts +41 -0
  265. package/dist/mcps/tools/tool-registry.d.ts +42 -0
  266. package/dist/mcps/types/index.d.ts +13 -0
  267. package/dist/mcps/types/json-rpc.types.d.ts +35 -0
  268. package/dist/mcps/types/mcp.types.d.ts +105 -0
  269. package/dist/memory-routing/index.d.ts +6 -0
  270. package/dist/memory-routing/null-provider.d.ts +14 -0
  271. package/dist/memory-routing/provider-loader.d.ts +2 -0
  272. package/dist/memory-routing/provider-registry.d.ts +8 -0
  273. package/dist/memory-routing/types.d.ts +104 -0
  274. package/dist/memory-routing/validate-config.d.ts +7 -0
  275. package/dist/metrics/agent-metrics.d.ts +169 -0
  276. package/dist/metrics/index.d.ts +6 -0
  277. package/dist/monitoring/advanced-profiler.d.ts +51 -0
  278. package/dist/monitoring/memory-monitor.d.ts +113 -0
  279. package/dist/monitoring/nudge-watchdog.d.ts +87 -0
  280. package/dist/monitoring/test-auto-generation-monitor.d.ts +64 -0
  281. package/dist/nucleus/autonomy-kernel.d.ts +48 -0
  282. package/dist/nucleus/autonomy-kernel.js +176 -0
  283. package/dist/nucleus/default-plugins.d.ts +17 -0
  284. package/dist/nucleus/govern-http.d.ts +59 -0
  285. package/dist/nucleus/index.d.ts +17 -0
  286. package/dist/nucleus/index.js +1 -0
  287. package/dist/nucleus/kernel.d.ts +51 -0
  288. package/dist/nucleus/plugin-registry.d.ts +132 -0
  289. package/dist/nucleus/thin-dispatch.d.ts +33 -0
  290. package/dist/orchestrator/agent-spawn-governor.d.ts +126 -0
  291. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +156 -0
  292. package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
  293. package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +126 -0
  294. package/dist/orchestrator/orchestrator.d.ts +141 -0
  295. package/dist/orchestrator/self-direction-activation.d.ts +108 -0
  296. package/dist/orchestrator/universal-librarian-consultation.d.ts +98 -0
  297. package/dist/orchestrator/universal-registry-bridge.d.ts +84 -0
  298. package/dist/performance/performance-budget-enforcer.d.ts +157 -0
  299. package/dist/performance/performance-regression-tester.d.ts +107 -0
  300. package/dist/plugin/plugin-codex-context.d.ts +18 -0
  301. package/dist/plugin/plugin-helpers.d.ts +23 -0
  302. package/dist/plugin/plugin-logger.d.ts +8 -0
  303. package/dist/plugin/plugin-modules.d.ts +11 -0
  304. package/dist/plugin/plugin-quality-gate.d.ts +11 -0
  305. package/dist/plugin/plugin-types.d.ts +93 -0
  306. package/dist/plugin/xray-codex-injection.d.ts +39 -0
  307. package/dist/postprocessor/PostProcessor.d.ts +107 -0
  308. package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +11 -0
  309. package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +39 -0
  310. package/dist/postprocessor/autofix/AutoFixEngine.d.ts +48 -0
  311. package/dist/postprocessor/autofix/FixValidator.d.ts +23 -0
  312. package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +44 -0
  313. package/dist/postprocessor/config.d.ts +6 -0
  314. package/dist/postprocessor/escalation/EscalationEngine.d.ts +154 -0
  315. package/dist/postprocessor/integration.d.ts +156 -0
  316. package/dist/postprocessor/metamorphosis/SelfProposalEngine.d.ts +87 -0
  317. package/dist/postprocessor/metamorphosis/index.d.ts +2 -0
  318. package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +40 -0
  319. package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +91 -0
  320. package/dist/postprocessor/redeploy/RetryHandler.d.ts +49 -0
  321. package/dist/postprocessor/services/RegressionAnalysisService.d.ts +39 -0
  322. package/dist/postprocessor/success/SuccessHandler.d.ts +57 -0
  323. package/dist/postprocessor/triggers/APITrigger.d.ts +34 -0
  324. package/dist/postprocessor/triggers/GitHookTrigger.d.ts +38 -0
  325. package/dist/postprocessor/triggers/WebhookTrigger.d.ts +46 -0
  326. package/dist/postprocessor/types.d.ts +227 -0
  327. package/dist/processors/doc-write-guard.d.ts +6 -0
  328. package/dist/processors/implementations/agents-md-validation-processor.d.ts +62 -0
  329. package/dist/processors/implementations/async-pattern-processor.d.ts +47 -0
  330. package/dist/processors/implementations/codex-compliance-processor.d.ts +7 -0
  331. package/dist/processors/implementations/commit-batcher-processor.d.ts +13 -0
  332. package/dist/processors/implementations/console-log-guard-processor.d.ts +32 -0
  333. package/dist/processors/implementations/coverage-analysis-processor.d.ts +19 -0
  334. package/dist/processors/implementations/error-boundary-processor.d.ts +7 -0
  335. package/dist/processors/implementations/inference-improvement-processor.d.ts +36 -0
  336. package/dist/processors/implementations/log-protection-processor.d.ts +29 -0
  337. package/dist/processors/implementations/nudge-processor.d.ts +21 -0
  338. package/dist/processors/implementations/performance-budget-processor.d.ts +49 -0
  339. package/dist/processors/implementations/postprocessor-chain-validator.d.ts +45 -0
  340. package/dist/processors/implementations/pre-validate-processor.d.ts +7 -0
  341. package/dist/processors/implementations/publish-preflight-processor.d.ts +37 -0
  342. package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +7 -0
  343. package/dist/processors/implementations/refactoring-logging-processor.d.ts +31 -0
  344. package/dist/processors/implementations/regression-testing-processor.d.ts +20 -0
  345. package/dist/processors/implementations/session-capture-processor.d.ts +14 -0
  346. package/dist/processors/implementations/session-summary-processor.d.ts +26 -0
  347. package/dist/processors/implementations/spawn-governance-processor.d.ts +57 -0
  348. package/dist/processors/implementations/state-validation-processor.d.ts +11 -0
  349. package/dist/processors/implementations/storytelling-trigger-processor.d.ts +40 -0
  350. package/dist/processors/implementations/test-auto-creation-processor.d.ts +16 -0
  351. package/dist/processors/implementations/test-execution-processor.d.ts +11 -0
  352. package/dist/processors/implementations/typescript-compilation-processor.d.ts +37 -0
  353. package/dist/processors/implementations/version-compliance-processor.d.ts +111 -0
  354. package/dist/processors/processor-interfaces.d.ts +126 -0
  355. package/dist/processors/processor-manager.d.ts +80 -0
  356. package/dist/processors/processor-types.d.ts +189 -0
  357. package/dist/public/XrayService.d.ts +17 -0
  358. package/dist/public/index.d.ts +4 -0
  359. package/dist/reporting/framework-reporting-system.d.ts +19 -0
  360. package/dist/reporting/log-parser.d.ts +10 -0
  361. package/dist/reporting/metrics.d.ts +15 -0
  362. package/dist/reporting/report-formatter.d.ts +5 -0
  363. package/dist/reporting/types.d.ts +102 -0
  364. package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
  365. package/dist/scripts/integration.d.ts +36 -0
  366. package/dist/security/comprehensive-security-audit.d.ts +157 -0
  367. package/dist/security/index.d.ts +13 -0
  368. package/dist/security/prompt-security-validator.d.ts +44 -0
  369. package/dist/security/security-agent-coordinator.d.ts +71 -0
  370. package/dist/security/security-auditor.d.ts +55 -0
  371. package/dist/security/security-hardener.d.ts +61 -0
  372. package/dist/security/security-hardening-system.d.ts +238 -0
  373. package/dist/security/security-headers.d.ts +63 -0
  374. package/dist/security/security-orchestration-layer.d.ts +118 -0
  375. package/dist/security/security-scanner.d.ts +119 -0
  376. package/dist/services/inference-tuner.d.ts +76 -0
  377. package/dist/session/index.d.ts +3 -0
  378. package/dist/session/session-cleanup-manager.d.ts +117 -0
  379. package/dist/session/session-monitor.d.ts +132 -0
  380. package/dist/session/session-state-manager.d.ts +144 -0
  381. package/dist/skills/boot-orchestrator/SKILL.md +1 -5
  382. package/dist/skills/orchestrator/SKILL.md +35 -12
  383. package/dist/skills/researcher/SKILL.md +17 -4
  384. package/dist/skills/strategist/SKILL.md +12 -0
  385. package/dist/skills/testing-strategy/SKILL.md +13 -2
  386. package/dist/skills/xray-orchestrator/index.d.ts +12 -0
  387. package/dist/state/context-providers.d.ts +4 -0
  388. package/dist/state/index.d.ts +4 -0
  389. package/dist/state/state-manager.d.ts +41 -0
  390. package/dist/state/state-types.d.ts +5 -0
  391. package/dist/testing/memory-regression-suite.d.ts +105 -0
  392. package/dist/tools/assess-complexity-tool.d.ts +28 -0
  393. package/dist/tools/query-routing-tool.d.ts +17 -0
  394. package/dist/types/metamorphosis.d.ts +21 -0
  395. package/dist/utils/batch-operations.d.ts +25 -0
  396. package/dist/utils/codex-parser.d.ts +60 -0
  397. package/dist/utils/command-runner.d.ts +32 -0
  398. package/dist/utils/import-resolver.d.ts +54 -0
  399. package/dist/utils/language-detector.d.ts +43 -0
  400. package/dist/utils/path-resolver.d.ts +48 -0
  401. package/dist/utils/shutdown-handler.d.ts +26 -0
  402. package/dist/utils/task-graph.d.ts +29 -0
  403. package/dist/utils/test-template-generator.d.ts +25 -0
  404. package/dist/utils/token-manager.d.ts +48 -0
  405. package/dist/validation/agent-config-validator.d.ts +110 -0
  406. package/dist/validation/estimation-validator.d.ts +61 -0
  407. package/dist/validation/orchestration-flow-validator.d.ts +87 -0
  408. package/dist/validation/report-content-validator.d.ts +42 -0
  409. package/package.json +23 -8
  410. package/scripts/node/consumer-install-smoke.mjs +174 -0
  411. package/scripts/node/install-bridges.cjs +20 -6
  412. package/scripts/node/pre-publish-guard.js +107 -168
  413. package/scripts/node/reconcile-version.mjs +147 -0
  414. package/scripts/node/release-gate.mjs +66 -0
  415. package/scripts/node/release.js +5 -147
  416. package/scripts/node/release.mjs +106 -181
  417. package/scripts/node/setup.cjs +12 -22
  418. package/scripts/node/sync-versions.mjs +12 -134
  419. package/scripts/node/universal-version-manager.js +4 -0
  420. package/scripts/node/validate-release-docs.mjs +299 -0
  421. package/scripts/node/version-manager.mjs +225 -49
  422. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +20 -3
  423. package/src/mcps/config/__tests__/server-config-registry.test.ts +9 -0
  424. package/src/mcps/config/server-config-registry.ts +5 -3
  425. package/src/mcps/governance.server.ts +15 -2
  426. package/src/mcps/orchestrator/handlers/complexity-handler.ts +54 -3
  427. package/src/mcps/orchestrator/server.ts +1 -1
  428. package/src/mcps/researcher.server.ts +4 -0
  429. package/src/skills/boot-orchestrator/SKILL.md +1 -5
  430. package/src/skills/orchestrator/SKILL.md +35 -12
  431. package/src/skills/researcher/SKILL.md +17 -4
  432. package/src/skills/strategist/SKILL.md +12 -0
  433. package/src/skills/testing-strategy/SKILL.md +13 -2
  434. package/xray/config.json +25 -0
  435. package/xray/features.json +152 -0
  436. package/xray/features.schema.json +33 -0
@@ -1,159 +1,17 @@
1
1
  #!/usr/bin/env node
2
-
3
2
  /**
4
- * One-command release: bump → build → commit → publish → push
5
- *
6
- * Usage:
7
- * node scripts/node/release.js # patch bump
8
- * node scripts/node/release.js minor # minor bump
9
- * node scripts/node/release.js major # major bump
10
- * node scripts/node/release.js --dry-run # preview without publishing
3
+ * @deprecated Use release.mjs — npm run release:patch|minor|major
11
4
  */
12
-
13
5
  import { execSync } from "child_process";
14
- import fs from "fs";
15
6
  import path from "path";
16
7
  import { fileURLToPath } from "url";
17
8
 
18
9
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
19
10
  const rootDir = path.resolve(__dirname, "../..");
20
11
 
21
- const RED = "\x1b[31m";
22
- const GREEN = "\x1b[32m";
23
- const YELLOW = "\x1b[33m";
24
- const BLUE = "\x1b[36m";
25
- const BOLD = "\x1b[1m";
26
- const RESET = "\x1b[0m";
27
-
28
- const dryRun = process.argv.includes("--dry-run");
29
- const bumpType = process.argv.find((a) => ["patch", "minor", "major"].includes(a)) || "patch";
30
-
31
- function run(cmd, label) {
32
- console.log(`${BLUE}ā–ø ${label}${RESET}`);
33
- try {
34
- execSync(cmd, { cwd: rootDir, stdio: "pipe", encoding: "utf-8" });
35
- console.log(`${GREEN} āœ“ ${label} done${RESET}`);
36
- return true;
37
- } catch (e) {
38
- console.log(`${RED} āœ— ${label} failed: ${e.message?.slice(0, 200) || e}${RESET}`);
39
- return false;
40
- }
41
- }
42
-
43
- function runInherit(cmd, label) {
44
- console.log(`${BLUE}ā–ø ${label}${RESET}`);
45
- try {
46
- execSync(cmd, { cwd: rootDir, stdio: "inherit" });
47
- console.log(`${GREEN} āœ“ ${label} done${RESET}`);
48
- return true;
49
- } catch (e) {
50
- console.log(`${RED} āœ— ${label} failed${RESET}`);
51
- return false;
52
- }
53
- }
54
-
55
- function main() {
56
- const pkg = JSON.parse(fs.readFileSync(path.join(rootDir, "package.json"), "utf-8"));
57
- const currentVersion = pkg.version;
58
-
59
- const parts = currentVersion.split(".").map(Number);
60
- if (bumpType === "major") parts[0]++;
61
- else if (bumpType === "minor") parts[1]++;
62
- else parts[2]++;
63
- if (bumpType === "major" || bumpType === "minor") parts[2] = 0;
64
- const nextVersion = parts.join(".");
65
-
66
- console.log(`\n${BOLD}${BLUE}šŸš€ xray Release${RESET}`);
67
- console.log(`${BOLD} ${currentVersion} → ${nextVersion} (${bumpType})${RESET}\n`);
68
-
69
- if (dryRun) {
70
- console.log(`${YELLOW}DRY RUN — no changes will be made${RESET}\n`);
71
- }
72
-
73
- // Step 1: Tests
74
- if (!runInherit("npm run test:comprehensive", "Tests")) {
75
- process.exit(1);
76
- }
77
-
78
- // Step 2: Version bump (version:sync runs automatically via preversion hook)
79
- if (!dryRun) {
80
- if (!run(`npm version ${bumpType} --no-git-tag-version`, `Bump to ${nextVersion}`)) {
81
- process.exit(1);
82
- }
83
- }
84
-
85
- // Step 3: Build
86
- if (!run("npm run build", "Build")) {
87
- process.exit(1);
88
- }
89
-
90
- // Step 4: Commit
91
- if (!dryRun) {
92
- if (!run("git add -A", "Stage changes")) {
93
- process.exit(1);
94
- }
95
- const commitMsg = `v${nextVersion}`;
96
- try {
97
- execSync(`git commit -m "${commitMsg}"`, { cwd: rootDir, stdio: "pipe", encoding: "utf-8" });
98
- console.log(`${GREEN} āœ“ Committed: ${commitMsg}${RESET}`);
99
- } catch (e) {
100
- const output = e.stdout || e.stderr || "";
101
- if (output.includes("nothing to commit")) {
102
- console.log(`${YELLOW} ⚠ Nothing to commit${RESET}`);
103
- } else if (output.includes("BLOCKED")) {
104
- // Pre-commit hook blocked — likely version compliance
105
- // Try with --no-verify since we manage versions ourselves
106
- console.log(`${YELLOW} ⚠ Pre-commit blocked, retrying with --no-verify...${RESET}`);
107
- try {
108
- execSync(`git commit --no-verify -m "${commitMsg}"`, { cwd: rootDir, stdio: "pipe", encoding: "utf-8" });
109
- console.log(`${GREEN} āœ“ Committed (no-verify): ${commitMsg}${RESET}`);
110
- } catch (e2) {
111
- console.log(`${RED} āœ— Commit failed: ${e2.message?.slice(0, 200)}${RESET}`);
112
- process.exit(1);
113
- }
114
- } else {
115
- console.log(`${RED} āœ— Commit failed: ${output.slice(0, 200)}${RESET}`);
116
- process.exit(1);
117
- }
118
- }
119
- }
120
-
121
- // Step 5: Publish
122
- if (!dryRun) {
123
- console.log(`${BLUE}ā–ø Publishing to npm${RESET}`);
124
- try {
125
- execSync("npm publish --access public", { cwd: rootDir, stdio: "inherit" });
126
- console.log(`${GREEN} āœ“ Published xray@${nextVersion}${RESET}`);
127
- } catch (e) {
128
- const errMsg = (e.stderr?.toString() || "") + (e.message || "");
129
- if (errMsg.includes("previously published")) {
130
- console.log(`${GREEN} āœ“ Already published xray@${nextVersion}${RESET}`);
131
- } else {
132
- console.log(`${RED} āœ— Publish failed. Trying with --ignore-scripts...${RESET}`);
133
- try {
134
- execSync("npm publish --access public --ignore-scripts", { cwd: rootDir, stdio: "pipe", encoding: "utf-8" });
135
- console.log(`${GREEN} āœ“ Published xray@${nextVersion} (ignore-scripts)${RESET}`);
136
- } catch (e2) {
137
- const errMsg2 = (e2.stderr?.toString() || "") + (e2.message || "");
138
- if (errMsg2.includes("previously published")) {
139
- console.log(`${GREEN} āœ“ Already published xray@${nextVersion}${RESET}`);
140
- } else {
141
- console.log(`${RED} āœ— Publish failed: ${errMsg2.slice(0, 200)}${RESET}`);
142
- process.exit(1);
143
- }
144
- }
145
- }
146
- }
147
- }
148
-
149
- // Step 6: Push
150
- if (!dryRun) {
151
- if (!run("git push", "Push to remote")) {
152
- process.exit(1);
153
- }
154
- }
12
+ console.error("\nāš ļø release.js is deprecated. Use: npm run release:patch (release.mjs)\n");
155
13
 
156
- console.log(`\n${BOLD}${GREEN}āœ… Released xray@${nextVersion}${RESET}\n`);
157
- }
14
+ const bump = process.argv.find((a) => ["patch", "minor", "major"].includes(a)) || "patch";
15
+ const dry = process.argv.includes("--dry-run") ? " --dry-run" : "";
158
16
 
159
- main();
17
+ execSync(`node scripts/node/release.mjs ${bump}${dry}`, { cwd: rootDir, stdio: "inherit" });
@@ -1,213 +1,138 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * Proper Release Script for xray
5
- *
6
- * Safe release process that:
7
- * 1. Bumps version
8
- * 2. Commits version changes
9
- * 3. Creates git tag
10
- * 4. Pushes to origin
11
- * 5. Builds (stops on error)
12
- * 6. Publishes to npm (only if build succeeds)
13
- * 7. Generates release tweet
14
- *
4
+ * Canonical 0xRay release script.
5
+ *
6
+ * 1. Bump version from npm registry baseline (reconcile-version)
7
+ * 2. Release gate once (build + test + consumer smoke)
8
+ * 3. Update CHANGELOG / README / AGENTS / docs (version-manager --artifacts-only)
9
+ * 4. Commit release artifacts → push
10
+ * 5. Verify gate (reconcile + git + release docs + smoke)
11
+ * 6. Tag → push tag → npm publish
12
+ *
15
13
  * Usage:
16
14
  * npm run release:patch
17
- * npm run release:minor
15
+ * npm run release:minor
18
16
  * npm run release:major
17
+ * node scripts/node/release.mjs patch --dry-run
19
18
  */
20
19
 
21
- import { execSync } from 'child_process';
22
- import fs from 'fs';
23
- import path from 'path';
24
- import { fileURLToPath } from 'url';
20
+ import { execSync } from "child_process";
21
+ import fs from "fs";
22
+ import path from "path";
23
+ import { getReleaseArtifactPaths } from "./version-manager.mjs";
25
24
 
26
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
27
25
  const rootDir = process.cwd();
28
-
29
- function getCurrentVersion() {
30
- const pkg = JSON.parse(fs.readFileSync(path.join(rootDir, 'package.json'), 'utf-8'));
31
- return pkg.version;
32
- }
33
-
34
- function parseVersion(version) {
35
- const parts = version.split('.');
36
- return {
37
- major: parseInt(parts[0], 10),
38
- minor: parseInt(parts[1], 10),
39
- patch: parseInt(parts[2], 10)
40
- };
26
+ const args = process.argv.slice(2);
27
+ const dryRun = args.includes("--dry-run");
28
+ const releaseType = args.find((a) => ["major", "minor", "patch"].includes(a)) || "patch";
29
+
30
+ function run(cmd, label) {
31
+ console.log(`\n> ${cmd}`);
32
+ if (dryRun) {
33
+ console.log(` (dry-run skip: ${label})`);
34
+ return;
35
+ }
36
+ execSync(cmd, { cwd: rootDir, stdio: "inherit", encoding: "utf-8" });
41
37
  }
42
38
 
43
- function bumpVersion(current, type) {
44
- const v = parseVersion(current);
45
-
46
- switch (type) {
47
- case 'major':
48
- v.major++;
49
- v.minor = 0;
50
- v.patch = 0;
51
- break;
52
- case 'minor':
53
- v.minor++;
54
- v.patch = 0;
55
- break;
56
- case 'patch':
57
- v.patch++;
58
- break;
59
- default:
60
- return type;
61
- }
62
-
63
- return `${v.major}.${v.minor}.${v.patch}`;
39
+ function readVersion() {
40
+ return JSON.parse(fs.readFileSync(path.join(rootDir, "package.json"), "utf-8")).version;
64
41
  }
65
42
 
66
- function runCommand(cmd, errorMsg) {
67
- try {
68
- console.log(`\n> ${cmd}`);
69
- execSync(cmd, {
70
- cwd: rootDir,
71
- stdio: 'inherit',
72
- encoding: 'utf-8'
73
- });
74
- } catch (error) {
75
- console.error(`\nāŒ ${errorMsg}`);
76
- console.error(error.message);
77
- process.exit(1);
78
- }
43
+ function currentBranch() {
44
+ return execSync("git rev-parse --abbrev-ref HEAD", { cwd: rootDir, encoding: "utf-8" }).trim();
79
45
  }
80
46
 
81
47
  async function main() {
82
- const args = process.argv.slice(2);
83
- const releaseType = args[0] || 'patch';
84
-
85
- if (!['major', 'minor', 'patch'].includes(releaseType)) {
86
- console.error('Usage: node scripts/node/release.mjs [major|minor|patch]');
48
+ if (!["major", "minor", "patch"].includes(releaseType)) {
49
+ console.error("Usage: node scripts/node/release.mjs [patch|minor|major] [--dry-run]");
87
50
  process.exit(1);
88
51
  }
89
52
 
90
- console.log('╔════════════════════════════════════════════════════════╗');
91
- console.log('ā•‘ šŸš€ xray Release Script ā•‘');
92
- console.log('ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•');
93
-
94
- const currentVersion = getCurrentVersion();
95
- console.log(`\nšŸ“Œ Current version (local): ${currentVersion}`);
96
-
97
- // Better design: always compute target from the *published* version on npm
98
- // This removes the brittle "must be exactly one ahead" problem.
99
- let publishedVersion;
100
- try {
101
- publishedVersion = execSync('npm view 0xray version', { encoding: 'utf-8' }).trim();
102
- console.log(`šŸ“Œ Latest published on npm: ${publishedVersion}`);
103
- } catch {
104
- publishedVersion = '0.0.0';
105
- console.log('āš ļø Could not fetch published version from npm (using 0.0.0)');
106
- }
53
+ console.log("╔════════════════════════════════════════════════════════╗");
54
+ console.log("ā•‘ šŸš€ 0xRay Release (canonical) ā•‘");
55
+ console.log("ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•");
56
+ if (dryRun) console.log("\nāš ļø DRY RUN — no writes, commits, tags, or publish\n");
107
57
 
108
- const targetVersion = bumpVersion(publishedVersion, releaseType);
109
- console.log(`šŸ“Œ Target version (computed from registry): ${targetVersion}`);
110
- console.log(`šŸ“Œ Release type: ${releaseType}`);
111
-
112
- // Safety: if local is somehow ahead of what we computed, warn but continue
113
- if (currentVersion !== targetVersion) {
114
- console.log(`āš ļø Local version (${currentVersion}) differs from computed target. Using computed target ${targetVersion}.`);
58
+ // 1. Version bump from npm SSOT
59
+ console.log(`\nšŸ“¦ Step 1: Bump ${releaseType} from npm baseline`);
60
+ if (dryRun) {
61
+ execSync(`node scripts/node/reconcile-version.mjs ${releaseType}`, { cwd: rootDir, stdio: "inherit" });
62
+ } else {
63
+ run(`node scripts/node/reconcile-version.mjs ${releaseType} --apply`, "version bump");
115
64
  }
116
-
117
- const newVersion = targetVersion;
118
-
119
- // Step 1: Build
120
- console.log('\nšŸ“¦ Step 1: Building...');
121
- runCommand('npm run build', 'Build failed');
122
-
123
- // Step 2: Update package.json
124
- console.log('\nšŸ“¦ Step 2: Updating version in package.json...');
125
- const pkgPath = path.join(rootDir, 'package.json');
126
- const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
127
- pkg.version = newVersion;
128
- fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n');
129
-
130
- // Step 2.5: Sync version across config and doc files
131
- console.log('\nšŸ“¦ Step 2.5: Syncing version across config and docs...');
132
- try {
133
- execSync('node scripts/node/sync-versions.mjs --apply', { cwd: rootDir, stdio: 'inherit' });
134
- } catch (e) {
135
- console.log('āš ļø Version sync had issues (non-blocking)');
65
+ const newVersion = dryRun
66
+ ? execSync(`node scripts/node/reconcile-version.mjs ${releaseType} --print-target`, {
67
+ cwd: rootDir,
68
+ encoding: "utf-8",
69
+ }).trim()
70
+ : readVersion();
71
+ console.log(`šŸ“Œ Release version: ${newVersion}`);
72
+
73
+ // 2. Single gate before commit
74
+ console.log("\nšŸ“¦ Step 2: Release gate (build + test + smoke)");
75
+ run("node scripts/node/release-gate.mjs", "release gate");
76
+
77
+ // 3. Changelog + doc artifacts
78
+ console.log("\nšŸ“¦ Step 3: Release artifacts (CHANGELOG, README, AGENTS, docs)");
79
+ run("node scripts/node/version-manager.mjs --artifacts-only", "release artifacts");
80
+
81
+ // 4. Commit + push
82
+ console.log("\nšŸ“¦ Step 4: Commit & push");
83
+ const releaseFiles = getReleaseArtifactPaths();
84
+ if (!dryRun) {
85
+ run(`git add ${releaseFiles.join(" ")}`, "git add");
86
+ try {
87
+ execSync(`git commit --no-verify -m "release: v${newVersion}"`, { cwd: rootDir, stdio: "inherit" });
88
+ } catch (e) {
89
+ const out = String(e.stdout || e.stderr || "");
90
+ if (!out.includes("nothing to commit")) throw e;
91
+ console.log("ā„¹ļø Nothing to commit (release files unchanged)");
92
+ }
93
+ } else {
94
+ console.log(` would: git add ${releaseFiles.join(" ")} && git commit -m "release: v${newVersion}"`);
136
95
  }
137
96
 
138
- // Step 3: Commit
139
- console.log('\nšŸ“¦ Step 3: Committing version bump...');
140
- runCommand('git add -A', 'git add failed');
141
- runCommand(`git commit --no-verify -m "release: v${newVersion}"`, 'git commit failed');
142
-
143
- // Step 4: Tag
144
- console.log('\nšŸ“¦ Step 4: Creating git tag...');
145
- try {
146
- execSync(
147
- `git tag -a v${newVersion} -m "Release v${newVersion}"`,
148
- { cwd: rootDir, stdio: 'inherit' }
149
- );
97
+ const branch = currentBranch();
98
+ run(`git push origin ${branch}`, "git push");
99
+
100
+ // 5. Post-push verify before tag
101
+ console.log("\nšŸ“¦ Step 5: Verify gate (reconcile + git + smoke)");
102
+ run("node scripts/node/release-gate.mjs --verify-only", "verify gate");
103
+
104
+ // 6. Tag
105
+ console.log("\nšŸ“¦ Step 6: Tag");
106
+ if (!dryRun) {
107
+ execSync(`git tag -a v${newVersion} -m "Release v${newVersion}"`, { cwd: rootDir, stdio: "inherit" });
150
108
  console.log(`āœ… Created tag v${newVersion}`);
151
- } catch (error) {
152
- console.log('āš ļø Tag may already exist');
109
+ } else {
110
+ console.log(` would: git tag -a v${newVersion}`);
153
111
  }
154
-
155
- // Step 5: Push
156
- console.log('\nšŸ“¦ Step 5: Pushing to origin...');
157
- runCommand('git push origin main', 'Failed to push to origin');
158
- runCommand(`git push origin v${newVersion}`, 'Failed to push tag');
159
-
160
- // Step 6: Publish to npm
161
- console.log('\nšŸ“¦ Step 6: Publishing to npm...');
162
- runCommand('npm publish --access public', 'npm publish failed');
163
- console.log(`āœ… Published xray@${newVersion} to npm`);
164
-
165
- console.log('\n╔════════════════════════════════════════════════════════╗');
166
- console.log('ā•‘ āœ… Release Complete! ā•‘');
167
- console.log('ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•');
168
- console.log(`\nšŸ“¦ Package: xray@${newVersion}`);
169
- console.log(`šŸ· Tag: v${newVersion}`);
170
-
171
- // Generate tweet
172
- const tweetPath = path.join(rootDir, 'tweets', `v${newVersion}.md`);
173
- const tweetDir = path.join(rootDir, 'tweets');
174
- if (!fs.existsSync(tweetDir)) fs.mkdirSync(tweetDir, { recursive: true });
175
-
176
- const recentCommits = (() => {
177
- try {
178
- const prevTag = execSync('git describe --tags --abbrev=0 HEAD~5 2>/dev/null || echo "HEAD~10"', { cwd: rootDir, encoding: 'utf-8' }).trim();
179
- return execSync(`git log ${prevTag}..HEAD --oneline`, { cwd: rootDir, encoding: 'utf-8' }).trim();
180
- } catch {
181
- try { return execSync('git log -10 --oneline', { cwd: rootDir, encoding: 'utf-8' }).trim(); }
182
- catch { return '(could not read commits)'; }
112
+ run(`git push origin v${newVersion}`, "push tag");
113
+
114
+ // 7. Publish
115
+ console.log("\nšŸ“¦ Step 7: npm publish");
116
+ run("npm publish --access public", "npm publish");
117
+
118
+ console.log("\n╔════════════════════════════════════════════════════════╗");
119
+ console.log("ā•‘ āœ… Release Complete! ā•‘");
120
+ console.log("ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•");
121
+ if (!dryRun) {
122
+ console.log(`\nšŸ“¦ 0xray@${newVersion} šŸ· v${newVersion}\n`);
123
+ const tweetPath = path.join(rootDir, "tweets", `v${newVersion}.md`);
124
+ if (!fs.existsSync(tweetPath)) {
125
+ fs.mkdirSync(path.join(rootDir, "tweets"), { recursive: true });
126
+ fs.writeFileSync(
127
+ tweetPath,
128
+ `šŸŽ‰ 0xRay v${newVersion} is LIVE - {THEME}!\n...\n\`\`\`\nnpm install 0xray@latest\n\`\`\`\n`,
129
+ );
130
+ console.log(`šŸ“ Tweet template: tweets/v${newVersion}.md`);
183
131
  }
184
- })();
185
-
186
- const tweet = `šŸŽ‰ xray v${newVersion} is LIVE - {THEME}!
187
- {EMOJI} {feature - consumer benefit}
188
- {EMOJI} {feature - consumer benefit}
189
- {EMOJI} {feature - consumer benefit}
190
- {EMOJI} {feature - consumer benefit}
191
- {EMOJI} {feature - consumer benefit}
192
- \`\`\`
193
- npm install xray@latest
194
- \`\`\`
195
- What xray is: {one sentence positioning}
196
- #xray #AIOps #DevTools #SelfHealing #NPM`;
197
-
198
- if (!fs.existsSync(tweetPath)) {
199
- fs.writeFileSync(tweetPath, tweet);
200
- console.log(`\nšŸ“ Tweet template saved to tweets/v${newVersion}.md — FILL IN THE BLANKS`);
201
- } else {
202
- console.log(`\nšŸ“ Tweet already exists at tweets/v${newVersion}.md`);
203
132
  }
204
-
205
- console.log(`\nšŸ“‹ Recent commits for tweet bullets:\n${recentCommits.split('\n').map(l => ' ' + l).join('\n')}`);
206
- console.log('\nšŸ“– Tweet format guide: tweets/FORMAT.md');
207
- console.log('\nšŸŽ‰ All done!\n');
208
133
  }
209
134
 
210
- main().catch(error => {
211
- console.error('\nāŒ Release failed:', error.message);
135
+ main().catch((err) => {
136
+ console.error("\nāŒ Release failed:", err.message);
212
137
  process.exit(1);
213
138
  });
@@ -6,7 +6,11 @@ const path = require("path");
6
6
  const packageRoot = path.join(__dirname, "..", "..");
7
7
  const homeDir = require("os").homedir();
8
8
 
9
- const { resolveConsumerTargetDir, isConsumerInstall } = require("./install-bridges.cjs");
9
+ const {
10
+ resolveConsumerTargetDir,
11
+ isConsumerInstall,
12
+ deployXrayConfig,
13
+ } = require("./install-bridges.cjs");
10
14
  let targetDir = resolveConsumerTargetDir(packageRoot, process.env.PWD || process.cwd());
11
15
 
12
16
  const resolvedPackage = path.resolve(packageRoot);
@@ -215,29 +219,15 @@ if (fs.existsSync(hermesSkillSource)) {
215
219
  } catch (e) { console.warn(`āš ļø Hermes skill: ${e.message}`); }
216
220
  }
217
221
 
218
- // 8. Deploy .xray/ config files (codex.json, features.json, config.json) for consumer installs
219
- const xraySourceDir = path.join(packageRoot, ".xray");
220
- const xrayTargetDir = path.join(targetDir, ".xray");
221
- const CONFIG_FILES = ["codex.json", "features.json", "config.json"];
222
-
223
- if (fs.existsSync(xraySourceDir) && resolvedPackage !== resolvedTarget) {
222
+ // 8. Deploy .xray/ config files (codex.json, features.json, features.schema.json, config.json)
223
+ if (resolvedPackage !== resolvedTarget) {
224
224
  try {
225
- if (!fs.existsSync(xrayTargetDir)) fs.mkdirSync(xrayTargetDir, { recursive: true });
226
- let copied = 0;
227
- for (const file of CONFIG_FILES) {
228
- const src = path.join(xraySourceDir, file);
229
- const dst = path.join(xrayTargetDir, file);
230
- if (!fs.existsSync(src)) continue;
231
- const shouldCopy = !fs.existsSync(dst) ||
232
- fs.statSync(src).mtime > fs.statSync(dst).mtime;
233
- if (shouldCopy) {
234
- fs.copyFileSync(src, dst);
235
- copied++;
236
- }
237
- }
238
- if (copied > 0) console.log(`āœ… .xray/: ${copied} config files deployed`);
225
+ const deployed = deployXrayConfig(targetDir, packageRoot, () => {});
226
+ if (deployed > 0) console.log(`āœ… .xray/: ${deployed} config files deployed`);
239
227
  else console.log("ā„¹ļø .xray/: up to date");
240
- } catch (e) { console.warn(`āš ļø .xray/ deploy: ${e.message}`); }
228
+ } catch (e) {
229
+ console.warn(`āš ļø .xray/ deploy: ${e.message}`);
230
+ }
241
231
  }
242
232
 
243
233
  console.log("\nāœ… xray setup complete.\n");