0xray 4.0.13 → 4.0.15

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 (996) hide show
  1. package/.grok-plugin/plugin.json +1 -1
  2. package/.opencode/skills/api-design/SKILL.md +37 -0
  3. package/.opencode/skills/architect-tools/SKILL.md +37 -0
  4. package/.opencode/skills/architecture-patterns/SKILL.md +37 -0
  5. package/.opencode/skills/auto-format/SKILL.md +37 -0
  6. package/.opencode/skills/backend-engineer/SKILL.md +49 -0
  7. package/.opencode/skills/boot-orchestrator/SKILL.md +33 -0
  8. package/.opencode/skills/bug-triage/SKILL.md +43 -0
  9. package/.opencode/skills/code-analyzer/SKILL.md +45 -0
  10. package/.opencode/skills/code-review/SKILL.md +52 -0
  11. package/.opencode/skills/content-creator/SKILL.md +38 -0
  12. package/.opencode/skills/database-engineer/SKILL.md +46 -0
  13. package/.opencode/skills/devops-engineer/SKILL.md +49 -0
  14. package/.opencode/skills/enforcer/SKILL.md +37 -0
  15. package/.opencode/skills/framework-compliance-audit/SKILL.md +37 -0
  16. package/.opencode/skills/frontend-engineer/SKILL.md +49 -0
  17. package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
  18. package/.opencode/skills/git-workflow/SKILL.md +37 -0
  19. package/.opencode/skills/growth-strategist/SKILL.md +48 -0
  20. package/.opencode/skills/hermes-agent/SKILL.md +212 -0
  21. package/.opencode/skills/inference-improve/SKILL.md +97 -0
  22. package/.opencode/skills/lint/SKILL.md +37 -0
  23. package/.opencode/skills/log-monitor/SKILL.md +44 -0
  24. package/.opencode/skills/mobile-developer/SKILL.md +42 -0
  25. package/.opencode/skills/model-health-check/SKILL.md +37 -0
  26. package/.opencode/skills/multimodal-looker/SKILL.md +45 -0
  27. package/.opencode/skills/orchestrator/SKILL.md +79 -0
  28. package/.opencode/skills/performance-analysis/SKILL.md +37 -0
  29. package/.opencode/skills/performance-engineer/SKILL.md +41 -0
  30. package/.opencode/skills/performance-optimization/SKILL.md +37 -0
  31. package/.opencode/skills/processor-pipeline/SKILL.md +37 -0
  32. package/.opencode/skills/project-analysis/SKILL.md +42 -0
  33. package/.opencode/skills/refactoring-strategies/SKILL.md +37 -0
  34. package/.opencode/skills/registry.json +65 -0
  35. package/.opencode/skills/researcher/SKILL.md +50 -0
  36. package/.opencode/skills/security-audit/SKILL.md +48 -0
  37. package/.opencode/skills/security-scan/SKILL.md +37 -0
  38. package/.opencode/skills/seo-consultant/SKILL.md +43 -0
  39. package/.opencode/skills/session-management/SKILL.md +36 -0
  40. package/.opencode/skills/state-manager/SKILL.md +37 -0
  41. package/.opencode/skills/storyteller/SKILL.md +130 -0
  42. package/.opencode/skills/strategist/SKILL.md +44 -0
  43. package/.opencode/skills/tech-writer/SKILL.md +37 -0
  44. package/.opencode/skills/testing-best-practices/SKILL.md +37 -0
  45. package/.opencode/skills/testing-strategy/SKILL.md +54 -0
  46. package/.opencode/skills/ui-ux-design/SKILL.md +603 -0
  47. package/.opencode/skills/xray-orchestrator/SKILL.md +141 -0
  48. package/.opencode/skills/xray-orchestrator/index.ts +267 -0
  49. package/.xray/features.json +2 -2
  50. package/.xray/features.schema.json +1 -1
  51. package/AGENTS-consumer.md +12 -5
  52. package/AGENTS.md +14 -4
  53. package/README.md +8 -7
  54. package/SKILLS.md +3 -2
  55. package/dist/.gitignore.default +67 -0
  56. package/dist/AGENTS.md +235 -0
  57. package/dist/CHANGELOG.md +2836 -0
  58. package/dist/LICENSE +21 -0
  59. package/dist/README.md +234 -0
  60. package/dist/SKILLS.md +167 -0
  61. package/dist/agents/architect.d.ts +2 -0
  62. package/dist/agents/architect.js +56 -0
  63. package/dist/agents/backend-engineer.d.ts +8 -0
  64. package/dist/agents/backend-engineer.js +81 -0
  65. package/dist/agents/bug-triage-specialist.d.ts +2 -0
  66. package/dist/agents/bug-triage-specialist.js +74 -0
  67. package/dist/agents/code-analyzer.d.ts +7 -0
  68. package/dist/agents/code-analyzer.js +150 -0
  69. package/dist/agents/code-reviewer.d.ts +2 -0
  70. package/dist/agents/code-reviewer.js +69 -0
  71. package/dist/agents/content-creator.d.ts +9 -0
  72. package/dist/agents/content-creator.js +72 -0
  73. package/dist/agents/database-engineer.d.ts +8 -0
  74. package/dist/agents/database-engineer.js +76 -0
  75. package/dist/agents/devops-engineer.d.ts +8 -0
  76. package/dist/agents/devops-engineer.js +84 -0
  77. package/dist/agents/frontend-engineer.d.ts +8 -0
  78. package/dist/agents/frontend-engineer.js +78 -0
  79. package/dist/agents/frontend-ui-ux-engineer.d.ts +8 -0
  80. package/dist/agents/frontend-ui-ux-engineer.js +64 -0
  81. package/dist/agents/growth-strategist.d.ts +8 -0
  82. package/dist/agents/growth-strategist.js +111 -0
  83. package/dist/agents/index.d.ts +25 -0
  84. package/dist/agents/index.js +47 -0
  85. package/dist/agents/known-names.d.ts +26 -0
  86. package/dist/agents/known-names.js +72 -0
  87. package/dist/agents/librarian-agents-updater.d.ts +30 -0
  88. package/dist/agents/librarian-agents-updater.js +333 -0
  89. package/dist/agents/log-monitor.d.ts +2 -0
  90. package/dist/agents/log-monitor.js +109 -0
  91. package/dist/agents/mobile-developer.d.ts +9 -0
  92. package/dist/agents/mobile-developer.js +102 -0
  93. package/dist/agents/multimodal-looker.d.ts +9 -0
  94. package/dist/agents/multimodal-looker.js +93 -0
  95. package/dist/agents/performance-engineer.d.ts +8 -0
  96. package/dist/agents/performance-engineer.js +86 -0
  97. package/dist/agents/refactorer.d.ts +2 -0
  98. package/dist/agents/refactorer.js +80 -0
  99. package/dist/agents/registry.d.ts +37 -0
  100. package/dist/agents/registry.js +354 -0
  101. package/dist/agents/researcher.d.ts +2 -0
  102. package/dist/agents/researcher.js +83 -0
  103. package/dist/agents/security-auditor.d.ts +2 -0
  104. package/dist/agents/security-auditor.js +158 -0
  105. package/dist/agents/seo-consultant.d.ts +8 -0
  106. package/dist/agents/seo-consultant.js +53 -0
  107. package/dist/agents/strategist.d.ts +7 -0
  108. package/dist/agents/strategist.js +47 -0
  109. package/dist/agents/tech-writer.d.ts +8 -0
  110. package/dist/agents/tech-writer.js +84 -0
  111. package/dist/agents/testing-lead.d.ts +2 -0
  112. package/dist/agents/testing-lead.js +95 -0
  113. package/dist/agents/types.d.ts +45 -0
  114. package/dist/agents/types.js +1 -0
  115. package/dist/analytics/consent-manager.d.ts +92 -0
  116. package/dist/analytics/consent-manager.js +257 -0
  117. package/dist/analytics/emerging-pattern-detector.d.ts +66 -0
  118. package/dist/analytics/emerging-pattern-detector.js +259 -0
  119. package/dist/analytics/pattern-learning-engine.d.ts +79 -0
  120. package/dist/analytics/pattern-learning-engine.js +277 -0
  121. package/dist/analytics/pattern-performance-tracker.d.ts +96 -0
  122. package/dist/analytics/pattern-performance-tracker.js +335 -0
  123. package/dist/analytics/predictive-analytics.d.ts +40 -0
  124. package/dist/analytics/predictive-analytics.js +247 -0
  125. package/dist/analytics/prompt-pattern-analyzer.d.ts +98 -0
  126. package/dist/analytics/prompt-pattern-analyzer.js +370 -0
  127. package/dist/analytics/routing-performance-analyzer.d.ts +100 -0
  128. package/dist/analytics/routing-performance-analyzer.js +355 -0
  129. package/dist/analytics/routing-refiner.d.ts +102 -0
  130. package/dist/analytics/routing-refiner.js +377 -0
  131. package/dist/analytics/simple-pattern-analyzer.d.ts +79 -0
  132. package/dist/analytics/simple-pattern-analyzer.js +296 -0
  133. package/dist/architect/architect-tools.d.ts +70 -0
  134. package/dist/architect/architect-tools.js +437 -0
  135. package/dist/architect/architectural-integrity.d.ts +20 -0
  136. package/dist/architect/architectural-integrity.js +78 -0
  137. package/dist/benchmark/performance-benchmark.d.ts +103 -0
  138. package/dist/benchmark/performance-benchmark.js +373 -0
  139. package/dist/cli/commands/analytics-disable.d.ts +9 -0
  140. package/dist/cli/commands/analytics-disable.js +72 -0
  141. package/dist/cli/commands/analytics-enable-action.d.ts +8 -0
  142. package/dist/cli/commands/analytics-enable-action.js +82 -0
  143. package/dist/cli/commands/analytics-preview.d.ts +9 -0
  144. package/dist/cli/commands/analytics-preview.js +106 -0
  145. package/dist/cli/commands/analytics-status.d.ts +9 -0
  146. package/dist/cli/commands/analytics-status.js +68 -0
  147. package/dist/cli/commands/antigravity-status.d.ts +9 -0
  148. package/dist/cli/commands/antigravity-status.js +106 -0
  149. package/dist/cli/commands/archive-logs.d.ts +23 -0
  150. package/dist/cli/commands/archive-logs.js +160 -0
  151. package/dist/cli/commands/credible-init.d.ts +11 -0
  152. package/dist/cli/commands/credible-init.js +82 -0
  153. package/dist/cli/commands/enforce.d.ts +12 -0
  154. package/dist/cli/commands/enforce.js +78 -0
  155. package/dist/cli/commands/foundry-mint-wear.d.ts +3 -0
  156. package/dist/cli/commands/foundry-mint-wear.js +17 -0
  157. package/dist/cli/commands/govern.d.ts +29 -0
  158. package/dist/cli/commands/govern.js +149 -0
  159. package/dist/cli/commands/grok-install.d.ts +7 -0
  160. package/dist/cli/commands/grok-install.js +16 -0
  161. package/dist/cli/commands/hermes-install.d.ts +2 -0
  162. package/dist/cli/commands/hermes-install.js +91 -0
  163. package/dist/cli/commands/mcp-install.d.ts +4 -0
  164. package/dist/cli/commands/mcp-install.js +253 -0
  165. package/dist/cli/commands/openclaw-install.d.ts +2 -0
  166. package/dist/cli/commands/openclaw-install.js +81 -0
  167. package/dist/cli/commands/opencode-install.d.ts +2 -0
  168. package/dist/cli/commands/opencode-install.js +154 -0
  169. package/dist/cli/commands/plugin-commands.d.ts +18 -0
  170. package/dist/cli/commands/plugin-commands.js +245 -0
  171. package/dist/cli/commands/publish-agent.d.ts +15 -0
  172. package/dist/cli/commands/publish-agent.js +184 -0
  173. package/dist/cli/commands/security-audit.d.ts +23 -0
  174. package/dist/cli/commands/security-audit.js +219 -0
  175. package/dist/cli/commands/skill-install.d.ts +6 -0
  176. package/dist/cli/commands/skill-install.js +522 -0
  177. package/dist/cli/commands/status.d.ts +41 -0
  178. package/dist/cli/commands/status.js +199 -0
  179. package/dist/cli/commands/storyteller.d.ts +19 -0
  180. package/dist/cli/commands/storyteller.js +230 -0
  181. package/dist/cli/index.d.ts +7 -0
  182. package/dist/cli/index.js +997 -0
  183. package/dist/cli/server.d.ts +1 -0
  184. package/dist/cli/server.js +147 -0
  185. package/dist/config/default-agents.d.ts +12 -0
  186. package/dist/config/default-agents.js +16 -0
  187. package/dist/config/routing-mappings.d.ts +26 -0
  188. package/dist/config/routing-mappings.js +151 -0
  189. package/dist/core/activity-logger.d.ts +71 -0
  190. package/dist/core/activity-logger.js +259 -0
  191. package/dist/core/adaptive-kernel.d.ts +108 -0
  192. package/dist/core/adaptive-kernel.js +191 -0
  193. package/dist/core/agent-spawn-gate.d.ts +56 -0
  194. package/dist/core/agent-spawn-gate.js +120 -0
  195. package/dist/core/boot-orchestrator.d.ts +99 -0
  196. package/dist/core/boot-orchestrator.js +809 -0
  197. package/dist/core/bridge.mjs +922 -0
  198. package/dist/core/codex-formatter.d.ts +95 -0
  199. package/dist/core/codex-formatter.js +218 -0
  200. package/dist/core/codex-injector.d.ts +73 -0
  201. package/dist/core/codex-injector.js +423 -0
  202. package/dist/core/config-loader.d.ts +59 -0
  203. package/dist/core/config-loader.js +157 -0
  204. package/dist/core/config-paths.d.ts +66 -0
  205. package/dist/core/config-paths.js +169 -0
  206. package/dist/core/context-loader.d.ts +120 -0
  207. package/dist/core/context-loader.js +268 -0
  208. package/dist/core/context-validator.d.ts +52 -0
  209. package/dist/core/context-validator.js +211 -0
  210. package/dist/core/features-config.d.ts +531 -0
  211. package/dist/core/features-config.js +524 -0
  212. package/dist/core/framework-logger.d.ts +76 -0
  213. package/dist/core/framework-logger.js +275 -0
  214. package/dist/core/index.d.ts +5 -0
  215. package/dist/core/index.js +6 -0
  216. package/dist/core/kernel-patterns.d.ts +129 -0
  217. package/dist/core/kernel-patterns.js +301 -0
  218. package/dist/core/logging-config.d.ts +10 -0
  219. package/dist/core/logging-config.js +43 -0
  220. package/dist/core/model-router.d.ts +56 -0
  221. package/dist/core/model-router.js +134 -0
  222. package/dist/core/orchestrator.d.ts +71 -0
  223. package/dist/core/orchestrator.js +408 -0
  224. package/dist/core/system-prompt-generator.d.ts +34 -0
  225. package/dist/core/system-prompt-generator.js +264 -0
  226. package/dist/core/trace-context.d.ts +12 -0
  227. package/dist/core/trace-context.js +33 -0
  228. package/dist/core/xray-activation.d.ts +14 -0
  229. package/dist/core/xray-activation.js +135 -0
  230. package/dist/delegation/agent-delegator.d.ts +185 -0
  231. package/dist/delegation/agent-delegator.js +768 -0
  232. package/dist/delegation/agent-expertise.d.ts +15 -0
  233. package/dist/delegation/agent-expertise.js +155 -0
  234. package/dist/delegation/analytics/index.d.ts +11 -0
  235. package/dist/delegation/analytics/index.js +11 -0
  236. package/dist/delegation/analytics/learning-engine.d.ts +84 -0
  237. package/dist/delegation/analytics/learning-engine.js +276 -0
  238. package/dist/delegation/analytics/outcome-tracker.d.ts +117 -0
  239. package/dist/delegation/analytics/outcome-tracker.js +278 -0
  240. package/dist/delegation/analytics/routing-analytics.d.ts +60 -0
  241. package/dist/delegation/analytics/routing-analytics.js +192 -0
  242. package/dist/delegation/ast-code-parser.d.ts +173 -0
  243. package/dist/delegation/ast-code-parser.js +877 -0
  244. package/dist/delegation/codebase-context-analyzer.d.ts +164 -0
  245. package/dist/delegation/codebase-context-analyzer.js +1040 -0
  246. package/dist/delegation/complexity-analyzer.d.ts +110 -0
  247. package/dist/delegation/complexity-analyzer.js +281 -0
  248. package/dist/delegation/complexity-core.d.ts +119 -0
  249. package/dist/delegation/complexity-core.js +219 -0
  250. package/dist/delegation/config/types.d.ts +247 -0
  251. package/dist/delegation/config/types.js +6 -0
  252. package/dist/delegation/dependency-graph-builder.d.ts +94 -0
  253. package/dist/delegation/dependency-graph-builder.js +408 -0
  254. package/dist/delegation/index.d.ts +25 -0
  255. package/dist/delegation/index.js +20 -0
  256. package/dist/delegation/metrics-aggregator.d.ts +91 -0
  257. package/dist/delegation/metrics-aggregator.js +334 -0
  258. package/dist/delegation/session-coordinator.d.ts +132 -0
  259. package/dist/delegation/session-coordinator.js +351 -0
  260. package/dist/delegation/strategy-selector.d.ts +27 -0
  261. package/dist/delegation/strategy-selector.js +107 -0
  262. package/dist/delegation/voting-coordinator.d.ts +48 -0
  263. package/dist/delegation/voting-coordinator.js +374 -0
  264. package/dist/delegation/voting-types.d.ts +154 -0
  265. package/dist/delegation/voting-types.js +9 -0
  266. package/dist/delegation/weighted-voting-aggregator.d.ts +36 -0
  267. package/dist/delegation/weighted-voting-aggregator.js +193 -0
  268. package/dist/enforcement/core/index.d.ts +14 -0
  269. package/dist/enforcement/core/index.js +18 -0
  270. package/dist/enforcement/core/rule-executor.d.ts +157 -0
  271. package/dist/enforcement/core/rule-executor.js +364 -0
  272. package/dist/enforcement/core/rule-hierarchy.d.ts +145 -0
  273. package/dist/enforcement/core/rule-hierarchy.js +258 -0
  274. package/dist/enforcement/core/rule-registry.d.ts +196 -0
  275. package/dist/enforcement/core/rule-registry.js +239 -0
  276. package/dist/enforcement/core/violation-fixer.d.ts +105 -0
  277. package/dist/enforcement/core/violation-fixer.js +650 -0
  278. package/dist/enforcement/enforcer-tools.d.ts +85 -0
  279. package/dist/enforcement/enforcer-tools.js +818 -0
  280. package/dist/enforcement/index.d.ts +22 -0
  281. package/dist/enforcement/index.js +40 -0
  282. package/dist/enforcement/loaders/agent-triage-loader.d.ts +98 -0
  283. package/dist/enforcement/loaders/agent-triage-loader.js +221 -0
  284. package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +75 -0
  285. package/dist/enforcement/loaders/agents-md-validation-loader.js +251 -0
  286. package/dist/enforcement/loaders/base-loader.d.ts +82 -0
  287. package/dist/enforcement/loaders/base-loader.js +85 -0
  288. package/dist/enforcement/loaders/codex-loader.d.ts +76 -0
  289. package/dist/enforcement/loaders/codex-loader.js +395 -0
  290. package/dist/enforcement/loaders/index.d.ts +36 -0
  291. package/dist/enforcement/loaders/index.js +39 -0
  292. package/dist/enforcement/loaders/loader-orchestrator.d.ts +96 -0
  293. package/dist/enforcement/loaders/loader-orchestrator.js +167 -0
  294. package/dist/enforcement/loaders/processor-loader.d.ts +59 -0
  295. package/dist/enforcement/loaders/processor-loader.js +112 -0
  296. package/dist/enforcement/rule-enforcer.d.ts +142 -0
  297. package/dist/enforcement/rule-enforcer.js +298 -0
  298. package/dist/enforcement/test-auto-healing.d.ts +83 -0
  299. package/dist/enforcement/test-auto-healing.js +325 -0
  300. package/dist/enforcement/types.d.ts +500 -0
  301. package/dist/enforcement/types.js +29 -0
  302. package/dist/enforcement/validators/architecture-validators.d.ts +154 -0
  303. package/dist/enforcement/validators/architecture-validators.js +599 -0
  304. package/dist/enforcement/validators/base-validator.d.ts +87 -0
  305. package/dist/enforcement/validators/base-validator.js +107 -0
  306. package/dist/enforcement/validators/code-quality-validators.d.ts +88 -0
  307. package/dist/enforcement/validators/code-quality-validators.js +335 -0
  308. package/dist/enforcement/validators/index.d.ts +14 -0
  309. package/dist/enforcement/validators/index.js +20 -0
  310. package/dist/enforcement/validators/security-validators.d.ts +52 -0
  311. package/dist/enforcement/validators/security-validators.js +219 -0
  312. package/dist/enforcement/validators/testing-validators.d.ts +80 -0
  313. package/dist/enforcement/validators/testing-validators.js +252 -0
  314. package/dist/enforcement/validators/validator-registry.d.ts +91 -0
  315. package/dist/enforcement/validators/validator-registry.js +149 -0
  316. package/dist/execution/opencode-cli-invoker.d.ts +8 -0
  317. package/dist/execution/opencode-cli-invoker.js +173 -0
  318. package/dist/execution/proposal-applier.d.ts +24 -0
  319. package/dist/execution/proposal-applier.js +254 -0
  320. package/dist/governance/codex-policy.service.d.ts +56 -0
  321. package/dist/governance/codex-policy.service.js +166 -0
  322. package/dist/governance/governance-core.d.ts +53 -0
  323. package/dist/governance/governance-core.js +168 -0
  324. package/dist/governance/governance-service.d.ts +39 -0
  325. package/dist/governance/governance-service.js +351 -0
  326. package/dist/governance/governance-types.d.ts +90 -0
  327. package/dist/governance/governance-types.js +11 -0
  328. package/dist/governance/llm-governance-provider.d.ts +16 -0
  329. package/dist/governance/llm-governance-provider.js +284 -0
  330. package/dist/governance/local-confer.d.ts +10 -0
  331. package/dist/governance/local-confer.js +27 -0
  332. package/dist/index.d.ts +28 -0
  333. package/dist/index.js +24 -0
  334. package/dist/inference/deploy-verifier.d.ts +26 -0
  335. package/dist/inference/deploy-verifier.js +161 -0
  336. package/dist/inference/index.d.ts +10 -0
  337. package/dist/inference/index.js +5 -0
  338. package/dist/inference/inference-accumulator.d.ts +29 -0
  339. package/dist/inference/inference-accumulator.js +126 -0
  340. package/dist/inference/inference-agent-invoker.d.ts +3 -0
  341. package/dist/inference/inference-agent-invoker.js +67 -0
  342. package/dist/inference/inference-applier.d.ts +4 -0
  343. package/dist/inference/inference-applier.js +178 -0
  344. package/dist/inference/inference-cycle.d.ts +70 -0
  345. package/dist/inference/inference-cycle.js +392 -0
  346. package/dist/inference/inference-proposal-generator.d.ts +3 -0
  347. package/dist/inference/inference-proposal-generator.js +149 -0
  348. package/dist/inference/semantic-patterns.d.ts +7 -0
  349. package/dist/inference/semantic-patterns.js +310 -0
  350. package/dist/inference/session-capture.d.ts +32 -0
  351. package/dist/inference/session-capture.js +308 -0
  352. package/dist/infrastructure/iac-validator.d.ts +150 -0
  353. package/dist/infrastructure/iac-validator.js +465 -0
  354. package/dist/infrastructure/schemas/cloud-schemas.d.ts +482 -0
  355. package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
  356. package/dist/integrations/base/ExampleIntegration.d.ts +46 -0
  357. package/dist/integrations/base/ExampleIntegration.js +180 -0
  358. package/dist/integrations/base/Integration.d.ts +266 -0
  359. package/dist/integrations/base/Integration.js +394 -0
  360. package/dist/integrations/base/README.md +446 -0
  361. package/dist/integrations/base/index.d.ts +11 -0
  362. package/dist/integrations/base/index.js +15 -0
  363. package/dist/integrations/base/registry.d.ts +272 -0
  364. package/dist/integrations/base/registry.js +605 -0
  365. package/dist/integrations/base/types.d.ts +167 -0
  366. package/dist/integrations/base/types.js +117 -0
  367. package/dist/integrations/cursor/README.md +61 -0
  368. package/dist/integrations/cursor/hooks/after-file-edit.js +38 -0
  369. package/dist/integrations/cursor/hooks/cursor-hook-utils.js +179 -0
  370. package/dist/integrations/cursor/hooks/cursor-usage-receipt.js +298 -0
  371. package/dist/integrations/cursor/hooks/hooks.json +20 -0
  372. package/dist/integrations/cursor/hooks/pre-compact.js +88 -0
  373. package/dist/integrations/cursor/hooks/pre-tool-use.js +105 -0
  374. package/dist/integrations/enforcement-gate.d.ts +44 -0
  375. package/dist/integrations/enforcement-gate.js +348 -0
  376. package/dist/integrations/governance/governance-client.d.ts +75 -0
  377. package/dist/integrations/governance/governance-client.js +315 -0
  378. package/dist/integrations/governance/index.d.ts +98 -0
  379. package/dist/integrations/governance/index.js +365 -0
  380. package/dist/integrations/governance/types.d.ts +238 -0
  381. package/dist/integrations/governance/types.js +96 -0
  382. package/dist/integrations/grok/grok-cli.d.ts +31 -0
  383. package/dist/integrations/grok/grok-cli.js +223 -0
  384. package/dist/integrations/grok/hooks/grok-hook-activity.js +53 -0
  385. package/dist/integrations/grok/hooks/grok-hook-utils.js +372 -0
  386. package/dist/integrations/grok/hooks/post-tool-use.js +118 -0
  387. package/dist/integrations/grok/hooks/pre-tool-use.js +136 -0
  388. package/dist/integrations/grok/hooks/session-start.js +189 -0
  389. package/dist/integrations/grok/plugin/0xray/.mcp.json +35 -0
  390. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +70 -0
  391. package/dist/integrations/hermes-agent/.mcp.json +32 -0
  392. package/dist/integrations/hermes-agent/__init__.py +790 -0
  393. package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
  394. package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
  395. package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
  396. package/dist/integrations/hermes-agent/after-install.md +71 -0
  397. package/dist/integrations/hermes-agent/bridge.mjs +1060 -0
  398. package/dist/integrations/hermes-agent/conftest.py +14 -0
  399. package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +1 -0
  400. package/dist/integrations/hermes-agent/plugin.yaml +12 -0
  401. package/dist/integrations/hermes-agent/schemas.py +149 -0
  402. package/dist/integrations/hermes-agent/test_plugin.py +1100 -0
  403. package/dist/integrations/hermes-agent/tools.py +357 -0
  404. package/dist/integrations/hooks/confer-hook-runtime.mjs +49 -0
  405. package/dist/integrations/hooks/delegation-gate-runtime.mjs +110 -0
  406. package/dist/integrations/hooks/pipeline-hook-runtime.mjs +211 -0
  407. package/dist/integrations/hooks/plan-hook-runtime.mjs +68 -0
  408. package/dist/integrations/hooks/station-hook-runtime.cjs +509 -0
  409. package/dist/integrations/hooks/station-hook-runtime.mjs +26 -0
  410. package/dist/integrations/hooks/station-memory-ingest.mjs +45 -0
  411. package/dist/integrations/hooks/station-memory-match.mjs +47 -0
  412. package/dist/integrations/hooks/synthesis-hook-runtime.mjs +50 -0
  413. package/dist/integrations/hooks/user-aside-hook-runtime.mjs +49 -0
  414. package/dist/integrations/openclaw/README.md +134 -0
  415. package/dist/integrations/openclaw/api-server.d.ts +86 -0
  416. package/dist/integrations/openclaw/api-server.js +388 -0
  417. package/dist/integrations/openclaw/client.d.ts +125 -0
  418. package/dist/integrations/openclaw/client.js +499 -0
  419. package/dist/integrations/openclaw/config.d.ts +95 -0
  420. package/dist/integrations/openclaw/config.js +372 -0
  421. package/dist/integrations/openclaw/hooks/pre-tool-gate-runtime.mjs +102 -0
  422. package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +123 -0
  423. package/dist/integrations/openclaw/hooks/xray-hooks.js +279 -0
  424. package/dist/integrations/openclaw/index.d.ts +100 -0
  425. package/dist/integrations/openclaw/index.js +367 -0
  426. package/dist/integrations/openclaw/plugin/xray-pre-tool/index.js +75 -0
  427. package/dist/integrations/openclaw/plugin/xray-pre-tool/openclaw.plugin.json +10 -0
  428. package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +12 -0
  429. package/dist/integrations/openclaw/pre-tool-gate.d.ts +19 -0
  430. package/dist/integrations/openclaw/pre-tool-gate.js +39 -0
  431. package/dist/integrations/openclaw/types.d.ts +425 -0
  432. package/dist/integrations/openclaw/types.js +152 -0
  433. package/dist/integrations/plugins/index.d.ts +9 -0
  434. package/dist/integrations/plugins/index.js +9 -0
  435. package/dist/integrations/plugins/plugin-integration.d.ts +288 -0
  436. package/dist/integrations/plugins/plugin-integration.js +605 -0
  437. package/dist/integrations/plugins/plugin-registry.d.ts +223 -0
  438. package/dist/integrations/plugins/plugin-registry.js +579 -0
  439. package/dist/mcps/agent-resolver.d.ts +45 -0
  440. package/dist/mcps/agent-resolver.js +105 -0
  441. package/dist/mcps/architect-tools.server.d.ts +16 -0
  442. package/dist/mcps/architect-tools.server.js +217 -0
  443. package/dist/mcps/auto-format.server.d.ts +18 -0
  444. package/dist/mcps/auto-format.server.js +395 -0
  445. package/dist/mcps/boot-orchestrator.server.d.ts +48 -0
  446. package/dist/mcps/boot-orchestrator.server.js +835 -0
  447. package/dist/mcps/config/config-loader.d.ts +56 -0
  448. package/dist/mcps/config/config-loader.js +140 -0
  449. package/dist/mcps/config/config-validator.d.ts +40 -0
  450. package/dist/mcps/config/config-validator.js +101 -0
  451. package/dist/mcps/config/index.d.ts +31 -0
  452. package/dist/mcps/config/index.js +30 -0
  453. package/dist/mcps/config/plugin-server-registry.d.ts +126 -0
  454. package/dist/mcps/config/plugin-server-registry.js +222 -0
  455. package/dist/mcps/config/server-config-registry.d.ts +51 -0
  456. package/dist/mcps/config/server-config-registry.js +349 -0
  457. package/dist/mcps/connection/connection-manager.d.ts +39 -0
  458. package/dist/mcps/connection/connection-manager.js +79 -0
  459. package/dist/mcps/connection/connection-pool.d.ts +64 -0
  460. package/dist/mcps/connection/connection-pool.js +164 -0
  461. package/dist/mcps/connection/mcp-connection.d.ts +66 -0
  462. package/dist/mcps/connection/mcp-connection.js +233 -0
  463. package/dist/mcps/connection/process-spawner.d.ts +24 -0
  464. package/dist/mcps/connection/process-spawner.js +34 -0
  465. package/dist/mcps/enforcer-tools.server.d.ts +26 -0
  466. package/dist/mcps/enforcer-tools.server.js +712 -0
  467. package/dist/mcps/estimation.server.d.ts +19 -0
  468. package/dist/mcps/estimation.server.js +149 -0
  469. package/dist/mcps/framework-compliance-audit.server.d.ts +20 -0
  470. package/dist/mcps/framework-compliance-audit.server.js +471 -0
  471. package/dist/mcps/framework-help.server.d.ts +13 -0
  472. package/dist/mcps/framework-help.server.js +383 -0
  473. package/dist/mcps/governance.server.d.ts +36 -0
  474. package/dist/mcps/governance.server.js +499 -0
  475. package/dist/mcps/in-process-skill-registry.d.ts +20 -0
  476. package/dist/mcps/in-process-skill-registry.js +48 -0
  477. package/dist/mcps/index.d.ts +17 -0
  478. package/dist/mcps/index.js +65 -0
  479. package/dist/mcps/knowledge-skills/api-design.server.d.ts +13 -0
  480. package/dist/mcps/knowledge-skills/api-design.server.js +92 -0
  481. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +13 -0
  482. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +82 -0
  483. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +31 -0
  484. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +434 -0
  485. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +29 -0
  486. package/dist/mcps/knowledge-skills/code-analyzer.server.js +578 -0
  487. package/dist/mcps/knowledge-skills/code-review.server.d.ts +44 -0
  488. package/dist/mcps/knowledge-skills/code-review.server.js +783 -0
  489. package/dist/mcps/knowledge-skills/content-creator.server.d.ts +11 -0
  490. package/dist/mcps/knowledge-skills/content-creator.server.js +234 -0
  491. package/dist/mcps/knowledge-skills/database-design.server.d.ts +41 -0
  492. package/dist/mcps/knowledge-skills/database-design.server.js +788 -0
  493. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +41 -0
  494. package/dist/mcps/knowledge-skills/devops-deployment.server.js +1147 -0
  495. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +13 -0
  496. package/dist/mcps/knowledge-skills/git-workflow.server.js +83 -0
  497. package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +11 -0
  498. package/dist/mcps/knowledge-skills/growth-strategist.server.js +339 -0
  499. package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +22 -0
  500. package/dist/mcps/knowledge-skills/log-monitor.server.js +431 -0
  501. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +17 -0
  502. package/dist/mcps/knowledge-skills/mobile-development.server.js +495 -0
  503. package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +53 -0
  504. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1028 -0
  505. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +69 -0
  506. package/dist/mcps/knowledge-skills/performance-optimization.server.js +1537 -0
  507. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +35 -0
  508. package/dist/mcps/knowledge-skills/project-analysis.server.js +724 -0
  509. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +31 -0
  510. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +762 -0
  511. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +46 -0
  512. package/dist/mcps/knowledge-skills/security-audit.server.js +684 -0
  513. package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +24 -0
  514. package/dist/mcps/knowledge-skills/seo-consultant.server.js +745 -0
  515. package/dist/mcps/knowledge-skills/session-management.server.d.ts +22 -0
  516. package/dist/mcps/knowledge-skills/session-management.server.js +394 -0
  517. package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +32 -0
  518. package/dist/mcps/knowledge-skills/skill-invocation.server.js +454 -0
  519. package/dist/mcps/knowledge-skills/storyteller.server.d.ts +11 -0
  520. package/dist/mcps/knowledge-skills/storyteller.server.js +167 -0
  521. package/dist/mcps/knowledge-skills/strategist.server.d.ts +15 -0
  522. package/dist/mcps/knowledge-skills/strategist.server.js +172 -0
  523. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +45 -0
  524. package/dist/mcps/knowledge-skills/tech-writer.server.js +1016 -0
  525. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +34 -0
  526. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +694 -0
  527. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +45 -0
  528. package/dist/mcps/knowledge-skills/testing-strategy.server.js +689 -0
  529. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +67 -0
  530. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1265 -0
  531. package/dist/mcps/lint.server.d.ts +15 -0
  532. package/dist/mcps/lint.server.js +340 -0
  533. package/dist/mcps/mcp-client.d.ts +157 -0
  534. package/dist/mcps/mcp-client.js +574 -0
  535. package/dist/mcps/model-health-check.server.d.ts +14 -0
  536. package/dist/mcps/model-health-check.server.js +201 -0
  537. package/dist/mcps/orchestrator/aside-context.d.ts +21 -0
  538. package/dist/mcps/orchestrator/aside-context.js +207 -0
  539. package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +39 -0
  540. package/dist/mcps/orchestrator/config/agent-capabilities.js +128 -0
  541. package/dist/mcps/orchestrator/config/memory-routing-bridge.d.ts +12 -0
  542. package/dist/mcps/orchestrator/config/memory-routing-bridge.js +71 -0
  543. package/dist/mcps/orchestrator/execution/execution-planner.d.ts +64 -0
  544. package/dist/mcps/orchestrator/execution/execution-planner.js +320 -0
  545. package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +55 -0
  546. package/dist/mcps/orchestrator/handlers/complexity-handler.js +285 -0
  547. package/dist/mcps/orchestrator/handlers/status-handler.d.ts +71 -0
  548. package/dist/mcps/orchestrator/handlers/status-handler.js +239 -0
  549. package/dist/mcps/orchestrator/handlers/task-handler.d.ts +59 -0
  550. package/dist/mcps/orchestrator/handlers/task-handler.js +354 -0
  551. package/dist/mcps/orchestrator/index.d.ts +6 -0
  552. package/dist/mcps/orchestrator/index.js +5 -0
  553. package/dist/mcps/orchestrator/server.d.ts +38 -0
  554. package/dist/mcps/orchestrator/server.js +538 -0
  555. package/dist/mcps/orchestrator/types.d.ts +131 -0
  556. package/dist/mcps/orchestrator/types.js +6 -0
  557. package/dist/mcps/orchestrator.server.d.ts +10 -0
  558. package/dist/mcps/orchestrator.server.js +20 -0
  559. package/dist/mcps/performance-analysis.server.d.ts +25 -0
  560. package/dist/mcps/performance-analysis.server.js +488 -0
  561. package/dist/mcps/processor-pipeline.server.d.ts +29 -0
  562. package/dist/mcps/processor-pipeline.server.js +531 -0
  563. package/dist/mcps/protocol/protocol-constants.d.ts +46 -0
  564. package/dist/mcps/protocol/protocol-constants.js +46 -0
  565. package/dist/mcps/registry.json +109 -0
  566. package/dist/mcps/researcher-confidence.d.ts +21 -0
  567. package/dist/mcps/researcher-confidence.js +92 -0
  568. package/dist/mcps/researcher.server.d.ts +29 -0
  569. package/dist/mcps/researcher.server.js +419 -0
  570. package/dist/mcps/security-scan.server.d.ts +19 -0
  571. package/dist/mcps/security-scan.server.js +517 -0
  572. package/dist/mcps/shared/knowledge-skill-base.d.ts +17 -0
  573. package/dist/mcps/shared/knowledge-skill-base.js +52 -0
  574. package/dist/mcps/shared/prompt-security-validator.d.ts +44 -0
  575. package/dist/mcps/shared/prompt-security-validator.js +148 -0
  576. package/dist/mcps/shared/security-scanner.d.ts +119 -0
  577. package/dist/mcps/shared/security-scanner.js +429 -0
  578. package/dist/mcps/simulation/index.d.ts +12 -0
  579. package/dist/mcps/simulation/index.js +12 -0
  580. package/dist/mcps/simulation/server-simulations.d.ts +39 -0
  581. package/dist/mcps/simulation/server-simulations.js +219 -0
  582. package/dist/mcps/simulation/simulation-engine.d.ts +51 -0
  583. package/dist/mcps/simulation/simulation-engine.js +96 -0
  584. package/dist/mcps/state-manager.server.d.ts +27 -0
  585. package/dist/mcps/state-manager.server.js +609 -0
  586. package/dist/mcps/tools/index.d.ts +14 -0
  587. package/dist/mcps/tools/index.js +14 -0
  588. package/dist/mcps/tools/tool-cache.d.ts +53 -0
  589. package/dist/mcps/tools/tool-cache.js +112 -0
  590. package/dist/mcps/tools/tool-discovery.d.ts +27 -0
  591. package/dist/mcps/tools/tool-discovery.js +65 -0
  592. package/dist/mcps/tools/tool-executor.d.ts +41 -0
  593. package/dist/mcps/tools/tool-executor.js +75 -0
  594. package/dist/mcps/tools/tool-registry.d.ts +42 -0
  595. package/dist/mcps/tools/tool-registry.js +67 -0
  596. package/dist/mcps/types/index.d.ts +13 -0
  597. package/dist/mcps/types/index.js +15 -0
  598. package/dist/mcps/types/json-rpc.types.d.ts +35 -0
  599. package/dist/mcps/types/json-rpc.types.js +7 -0
  600. package/dist/mcps/types/mcp.types.d.ts +105 -0
  601. package/dist/mcps/types/mcp.types.js +7 -0
  602. package/dist/memory-routing/index.d.ts +6 -0
  603. package/dist/memory-routing/index.js +4 -0
  604. package/dist/memory-routing/null-provider.d.ts +14 -0
  605. package/dist/memory-routing/null-provider.js +63 -0
  606. package/dist/memory-routing/provider-loader.d.ts +6 -0
  607. package/dist/memory-routing/provider-loader.js +165 -0
  608. package/dist/memory-routing/provider-registry.d.ts +8 -0
  609. package/dist/memory-routing/provider-registry.js +41 -0
  610. package/dist/memory-routing/types.d.ts +111 -0
  611. package/dist/memory-routing/types.js +7 -0
  612. package/dist/memory-routing/validate-config.d.ts +7 -0
  613. package/dist/memory-routing/validate-config.js +32 -0
  614. package/dist/metrics/agent-metrics.d.ts +169 -0
  615. package/dist/metrics/agent-metrics.js +574 -0
  616. package/dist/metrics/index.d.ts +6 -0
  617. package/dist/metrics/index.js +6 -0
  618. package/dist/monitoring/advanced-profiler.d.ts +51 -0
  619. package/dist/monitoring/advanced-profiler.js +232 -0
  620. package/dist/monitoring/memory-monitor.d.ts +113 -0
  621. package/dist/monitoring/memory-monitor.js +315 -0
  622. package/dist/monitoring/nudge-watchdog.d.ts +87 -0
  623. package/dist/monitoring/nudge-watchdog.js +355 -0
  624. package/dist/monitoring/test-auto-generation-monitor.d.ts +64 -0
  625. package/dist/monitoring/test-auto-generation-monitor.js +157 -0
  626. package/dist/nucleus/aside-worktree.d.ts +41 -0
  627. package/dist/nucleus/aside-worktree.js +164 -0
  628. package/dist/nucleus/autonomy-kernel.d.ts +55 -0
  629. package/dist/nucleus/autonomy-kernel.js +234 -0
  630. package/dist/nucleus/confer.d.ts +57 -0
  631. package/dist/nucleus/confer.js +322 -0
  632. package/dist/nucleus/default-plugins.d.ts +17 -0
  633. package/dist/nucleus/default-plugins.js +173 -0
  634. package/dist/nucleus/delegation-gate.d.ts +105 -0
  635. package/dist/nucleus/delegation-gate.js +582 -0
  636. package/dist/nucleus/govern-http.d.ts +59 -0
  637. package/dist/nucleus/govern-http.js +175 -0
  638. package/dist/nucleus/index.d.ts +17 -0
  639. package/dist/nucleus/index.js +12 -0
  640. package/dist/nucleus/kernel.d.ts +51 -0
  641. package/dist/nucleus/kernel.js +62 -0
  642. package/dist/nucleus/lead-dev-plan-persistence.d.ts +70 -0
  643. package/dist/nucleus/lead-dev-plan-persistence.js +402 -0
  644. package/dist/nucleus/pending-delegations.d.ts +71 -0
  645. package/dist/nucleus/pending-delegations.js +285 -0
  646. package/dist/nucleus/plugin-registry.d.ts +132 -0
  647. package/dist/nucleus/plugin-registry.js +175 -0
  648. package/dist/nucleus/spawn-plan-resolution.d.ts +20 -0
  649. package/dist/nucleus/spawn-plan-resolution.js +42 -0
  650. package/dist/nucleus/suit-temperament.d.ts +40 -0
  651. package/dist/nucleus/suit-temperament.js +159 -0
  652. package/dist/nucleus/synthesis-completion.d.ts +6 -0
  653. package/dist/nucleus/synthesis-completion.js +29 -0
  654. package/dist/nucleus/synthesis-consult-receipt.d.ts +32 -0
  655. package/dist/nucleus/synthesis-consult-receipt.js +171 -0
  656. package/dist/nucleus/synthesis-context.d.ts +31 -0
  657. package/dist/nucleus/synthesis-context.js +86 -0
  658. package/dist/nucleus/synthesis.d.ts +54 -0
  659. package/dist/nucleus/synthesis.js +196 -0
  660. package/dist/nucleus/thin-dispatch.d.ts +33 -0
  661. package/dist/nucleus/thin-dispatch.js +85 -0
  662. package/dist/nucleus/user-aside.d.ts +70 -0
  663. package/dist/nucleus/user-aside.js +393 -0
  664. package/dist/orchestrator/agent-spawn-governor.d.ts +126 -0
  665. package/dist/orchestrator/agent-spawn-governor.js +558 -0
  666. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +156 -0
  667. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +399 -0
  668. package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
  669. package/dist/orchestrator/intelligent-commit-batcher.js +344 -0
  670. package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +126 -0
  671. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +455 -0
  672. package/dist/orchestrator/orchestrator.d.ts +141 -0
  673. package/dist/orchestrator/orchestrator.js +648 -0
  674. package/dist/orchestrator/self-direction-activation.d.ts +108 -0
  675. package/dist/orchestrator/self-direction-activation.js +244 -0
  676. package/dist/orchestrator/universal-librarian-consultation.d.ts +98 -0
  677. package/dist/orchestrator/universal-librarian-consultation.js +216 -0
  678. package/dist/orchestrator/universal-registry-bridge.d.ts +84 -0
  679. package/dist/orchestrator/universal-registry-bridge.js +246 -0
  680. package/dist/performance/performance-budget-enforcer.d.ts +157 -0
  681. package/dist/performance/performance-budget-enforcer.js +433 -0
  682. package/dist/performance/performance-regression-tester.d.ts +107 -0
  683. package/dist/performance/performance-regression-tester.js +341 -0
  684. package/dist/plugin/plugin-codex-context.d.ts +18 -0
  685. package/dist/plugin/plugin-codex-context.js +87 -0
  686. package/dist/plugin/plugin-helpers.d.ts +23 -0
  687. package/dist/plugin/plugin-helpers.js +155 -0
  688. package/dist/plugin/plugin-logger.d.ts +8 -0
  689. package/dist/plugin/plugin-logger.js +46 -0
  690. package/dist/plugin/plugin-modules.d.ts +11 -0
  691. package/dist/plugin/plugin-modules.js +144 -0
  692. package/dist/plugin/plugin-quality-gate.d.ts +11 -0
  693. package/dist/plugin/plugin-quality-gate.js +88 -0
  694. package/dist/plugin/plugin-types.d.ts +93 -0
  695. package/dist/plugin/plugin-types.js +1 -0
  696. package/dist/plugin/xray-codex-injection.d.ts +39 -0
  697. package/dist/plugin/xray-codex-injection.js +399 -0
  698. package/dist/postprocessor/PostProcessor.d.ts +108 -0
  699. package/dist/postprocessor/PostProcessor.js +1053 -0
  700. package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +11 -0
  701. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
  702. package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +39 -0
  703. package/dist/postprocessor/analysis/FailureAnalysisEngine.js +245 -0
  704. package/dist/postprocessor/autofix/AutoFixEngine.d.ts +48 -0
  705. package/dist/postprocessor/autofix/AutoFixEngine.js +254 -0
  706. package/dist/postprocessor/autofix/FixValidator.d.ts +23 -0
  707. package/dist/postprocessor/autofix/FixValidator.js +56 -0
  708. package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +44 -0
  709. package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
  710. package/dist/postprocessor/config.d.ts +6 -0
  711. package/dist/postprocessor/config.js +65 -0
  712. package/dist/postprocessor/escalation/EscalationEngine.d.ts +154 -0
  713. package/dist/postprocessor/escalation/EscalationEngine.js +492 -0
  714. package/dist/postprocessor/integration.d.ts +156 -0
  715. package/dist/postprocessor/integration.js +194 -0
  716. package/dist/postprocessor/metamorphosis/SelfProposalEngine.d.ts +87 -0
  717. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
  718. package/dist/postprocessor/metamorphosis/index.d.ts +2 -0
  719. package/dist/postprocessor/metamorphosis/index.js +1 -0
  720. package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +40 -0
  721. package/dist/postprocessor/monitoring/MonitoringEngine.js +125 -0
  722. package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +91 -0
  723. package/dist/postprocessor/redeploy/RedeployCoordinator.js +342 -0
  724. package/dist/postprocessor/redeploy/RetryHandler.d.ts +49 -0
  725. package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
  726. package/dist/postprocessor/services/RegressionAnalysisService.d.ts +39 -0
  727. package/dist/postprocessor/services/RegressionAnalysisService.js +130 -0
  728. package/dist/postprocessor/success/SuccessHandler.d.ts +57 -0
  729. package/dist/postprocessor/success/SuccessHandler.js +134 -0
  730. package/dist/postprocessor/triggers/APITrigger.d.ts +34 -0
  731. package/dist/postprocessor/triggers/APITrigger.js +114 -0
  732. package/dist/postprocessor/triggers/GitHookTrigger.d.ts +38 -0
  733. package/dist/postprocessor/triggers/GitHookTrigger.js +557 -0
  734. package/dist/postprocessor/triggers/WebhookTrigger.d.ts +46 -0
  735. package/dist/postprocessor/triggers/WebhookTrigger.js +210 -0
  736. package/dist/postprocessor/types.d.ts +227 -0
  737. package/dist/postprocessor/types.js +4 -0
  738. package/dist/processors/doc-write-guard.d.ts +6 -0
  739. package/dist/processors/doc-write-guard.js +46 -0
  740. package/dist/processors/implementations/agents-md-validation-processor.d.ts +62 -0
  741. package/dist/processors/implementations/agents-md-validation-processor.js +285 -0
  742. package/dist/processors/implementations/async-pattern-processor.d.ts +47 -0
  743. package/dist/processors/implementations/async-pattern-processor.js +157 -0
  744. package/dist/processors/implementations/codex-compliance-processor.d.ts +7 -0
  745. package/dist/processors/implementations/codex-compliance-processor.js +57 -0
  746. package/dist/processors/implementations/commit-batcher-processor.d.ts +13 -0
  747. package/dist/processors/implementations/commit-batcher-processor.js +71 -0
  748. package/dist/processors/implementations/console-log-guard-processor.d.ts +32 -0
  749. package/dist/processors/implementations/console-log-guard-processor.js +162 -0
  750. package/dist/processors/implementations/coverage-analysis-processor.d.ts +19 -0
  751. package/dist/processors/implementations/coverage-analysis-processor.js +137 -0
  752. package/dist/processors/implementations/error-boundary-processor.d.ts +7 -0
  753. package/dist/processors/implementations/error-boundary-processor.js +44 -0
  754. package/dist/processors/implementations/inference-improvement-processor.d.ts +36 -0
  755. package/dist/processors/implementations/inference-improvement-processor.js +262 -0
  756. package/dist/processors/implementations/log-protection-processor.d.ts +29 -0
  757. package/dist/processors/implementations/log-protection-processor.js +117 -0
  758. package/dist/processors/implementations/nudge-processor.d.ts +21 -0
  759. package/dist/processors/implementations/nudge-processor.js +129 -0
  760. package/dist/processors/implementations/performance-budget-processor.d.ts +49 -0
  761. package/dist/processors/implementations/performance-budget-processor.js +216 -0
  762. package/dist/processors/implementations/postprocessor-chain-validator.d.ts +45 -0
  763. package/dist/processors/implementations/postprocessor-chain-validator.js +148 -0
  764. package/dist/processors/implementations/pre-validate-processor.d.ts +7 -0
  765. package/dist/processors/implementations/pre-validate-processor.js +18 -0
  766. package/dist/processors/implementations/publish-preflight-processor.d.ts +37 -0
  767. package/dist/processors/implementations/publish-preflight-processor.js +240 -0
  768. package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +7 -0
  769. package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +33 -0
  770. package/dist/processors/implementations/refactoring-logging-processor.d.ts +31 -0
  771. package/dist/processors/implementations/refactoring-logging-processor.js +96 -0
  772. package/dist/processors/implementations/regression-testing-processor.d.ts +20 -0
  773. package/dist/processors/implementations/regression-testing-processor.js +59 -0
  774. package/dist/processors/implementations/session-capture-processor.d.ts +14 -0
  775. package/dist/processors/implementations/session-capture-processor.js +37 -0
  776. package/dist/processors/implementations/session-summary-processor.d.ts +26 -0
  777. package/dist/processors/implementations/session-summary-processor.js +125 -0
  778. package/dist/processors/implementations/spawn-governance-processor.d.ts +57 -0
  779. package/dist/processors/implementations/spawn-governance-processor.js +218 -0
  780. package/dist/processors/implementations/state-validation-processor.d.ts +11 -0
  781. package/dist/processors/implementations/state-validation-processor.js +15 -0
  782. package/dist/processors/implementations/storytelling-trigger-processor.d.ts +40 -0
  783. package/dist/processors/implementations/storytelling-trigger-processor.js +563 -0
  784. package/dist/processors/implementations/test-auto-creation-processor.d.ts +16 -0
  785. package/dist/processors/implementations/test-auto-creation-processor.js +483 -0
  786. package/dist/processors/implementations/test-execution-processor.d.ts +11 -0
  787. package/dist/processors/implementations/test-execution-processor.js +132 -0
  788. package/dist/processors/implementations/typescript-compilation-processor.d.ts +37 -0
  789. package/dist/processors/implementations/typescript-compilation-processor.js +86 -0
  790. package/dist/processors/implementations/version-compliance-processor.d.ts +80 -0
  791. package/dist/processors/implementations/version-compliance-processor.js +222 -0
  792. package/dist/processors/processor-interfaces.d.ts +126 -0
  793. package/dist/processors/processor-interfaces.js +125 -0
  794. package/dist/processors/processor-manager.d.ts +80 -0
  795. package/dist/processors/processor-manager.js +826 -0
  796. package/dist/processors/processor-types.d.ts +189 -0
  797. package/dist/processors/processor-types.js +11 -0
  798. package/dist/public/XrayService.d.ts +17 -0
  799. package/dist/public/XrayService.js +40 -0
  800. package/dist/public/about.html +228 -0
  801. package/dist/public/enterprise.html +27 -0
  802. package/dist/public/features.html +102 -0
  803. package/dist/public/index.d.ts +4 -0
  804. package/dist/public/index.html +145 -0
  805. package/dist/public/index.js +2 -0
  806. package/dist/reporting/framework-reporting-system.d.ts +19 -0
  807. package/dist/reporting/framework-reporting-system.js +187 -0
  808. package/dist/reporting/log-parser.d.ts +10 -0
  809. package/dist/reporting/log-parser.js +281 -0
  810. package/dist/reporting/metrics.d.ts +15 -0
  811. package/dist/reporting/metrics.js +202 -0
  812. package/dist/reporting/report-formatter.d.ts +5 -0
  813. package/dist/reporting/report-formatter.js +146 -0
  814. package/dist/reporting/types.d.ts +102 -0
  815. package/dist/reporting/types.js +1 -0
  816. package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
  817. package/dist/scripts/activate-kernel-pipeline.js +101 -0
  818. package/dist/scripts/integration.d.ts +36 -0
  819. package/dist/scripts/integration.js +233 -0
  820. package/dist/scripts/pre-command +26 -0
  821. package/dist/scripts/pre-command.mjs +358 -0
  822. package/dist/security/comprehensive-security-audit.d.ts +157 -0
  823. package/dist/security/comprehensive-security-audit.js +1004 -0
  824. package/dist/security/index.d.ts +13 -0
  825. package/dist/security/index.js +13 -0
  826. package/dist/security/prompt-security-validator.d.ts +44 -0
  827. package/dist/security/prompt-security-validator.js +148 -0
  828. package/dist/security/security-agent-coordinator.d.ts +71 -0
  829. package/dist/security/security-agent-coordinator.js +203 -0
  830. package/dist/security/security-auditor.d.ts +55 -0
  831. package/dist/security/security-auditor.js +583 -0
  832. package/dist/security/security-hardener.d.ts +61 -0
  833. package/dist/security/security-hardener.js +169 -0
  834. package/dist/security/security-hardening-system.d.ts +238 -0
  835. package/dist/security/security-hardening-system.js +726 -0
  836. package/dist/security/security-headers.d.ts +63 -0
  837. package/dist/security/security-headers.js +117 -0
  838. package/dist/security/security-orchestration-layer.d.ts +118 -0
  839. package/dist/security/security-orchestration-layer.js +495 -0
  840. package/dist/security/security-scanner.d.ts +119 -0
  841. package/dist/security/security-scanner.js +429 -0
  842. package/dist/services/inference-tuner.d.ts +76 -0
  843. package/dist/services/inference-tuner.js +300 -0
  844. package/dist/session/index.d.ts +3 -0
  845. package/dist/session/index.js +3 -0
  846. package/dist/session/session-cleanup-manager.d.ts +117 -0
  847. package/dist/session/session-cleanup-manager.js +365 -0
  848. package/dist/session/session-monitor.d.ts +132 -0
  849. package/dist/session/session-monitor.js +502 -0
  850. package/dist/session/session-state-manager.d.ts +144 -0
  851. package/dist/session/session-state-manager.js +521 -0
  852. package/dist/skills/api-design/SKILL.md +37 -0
  853. package/dist/skills/architect-tools/SKILL.md +37 -0
  854. package/dist/skills/architecture-patterns/SKILL.md +37 -0
  855. package/dist/skills/auto-format/SKILL.md +37 -0
  856. package/dist/skills/backend-engineer/SKILL.md +49 -0
  857. package/dist/skills/boot-orchestrator/SKILL.md +33 -0
  858. package/dist/skills/bug-triage/SKILL.md +43 -0
  859. package/dist/skills/code-analyzer/SKILL.md +45 -0
  860. package/dist/skills/code-review/SKILL.md +52 -0
  861. package/dist/skills/content-creator/SKILL.md +38 -0
  862. package/dist/skills/database-engineer/SKILL.md +46 -0
  863. package/dist/skills/devops-engineer/SKILL.md +49 -0
  864. package/dist/skills/enforcer/SKILL.md +37 -0
  865. package/dist/skills/framework-compliance-audit/SKILL.md +37 -0
  866. package/dist/skills/frontend-engineer/SKILL.md +49 -0
  867. package/dist/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
  868. package/dist/skills/git-workflow/SKILL.md +37 -0
  869. package/dist/skills/growth-strategist/SKILL.md +48 -0
  870. package/dist/skills/hermes-agent/SKILL.md +212 -0
  871. package/dist/skills/inference-improve/SKILL.md +97 -0
  872. package/dist/skills/lint/SKILL.md +37 -0
  873. package/dist/skills/log-monitor/SKILL.md +44 -0
  874. package/dist/skills/mobile-developer/SKILL.md +42 -0
  875. package/dist/skills/model-health-check/SKILL.md +37 -0
  876. package/dist/skills/multimodal-looker/SKILL.md +45 -0
  877. package/dist/skills/orchestrator/SKILL.md +79 -0
  878. package/dist/skills/performance-analysis/SKILL.md +37 -0
  879. package/dist/skills/performance-engineer/SKILL.md +41 -0
  880. package/dist/skills/performance-optimization/SKILL.md +37 -0
  881. package/dist/skills/processor-pipeline/SKILL.md +37 -0
  882. package/dist/skills/project-analysis/SKILL.md +42 -0
  883. package/dist/skills/refactoring-strategies/SKILL.md +37 -0
  884. package/dist/skills/registry.json +65 -0
  885. package/dist/skills/researcher/SKILL.md +50 -0
  886. package/dist/skills/security-audit/SKILL.md +48 -0
  887. package/dist/skills/security-scan/SKILL.md +37 -0
  888. package/dist/skills/seo-consultant/SKILL.md +43 -0
  889. package/dist/skills/session-management/SKILL.md +36 -0
  890. package/dist/skills/state-manager/SKILL.md +37 -0
  891. package/dist/skills/storyteller/SKILL.md +130 -0
  892. package/dist/skills/strategist/SKILL.md +44 -0
  893. package/dist/skills/tech-writer/SKILL.md +37 -0
  894. package/dist/skills/testing-best-practices/SKILL.md +37 -0
  895. package/dist/skills/testing-strategy/SKILL.md +54 -0
  896. package/dist/skills/ui-ux-design/SKILL.md +603 -0
  897. package/dist/skills/xray-orchestrator/SKILL.md +141 -0
  898. package/dist/skills/xray-orchestrator/index.d.ts +12 -0
  899. package/dist/skills/xray-orchestrator/index.js +223 -0
  900. package/dist/state/context-providers.d.ts +4 -0
  901. package/dist/state/context-providers.js +1 -0
  902. package/dist/state/index.d.ts +4 -0
  903. package/dist/state/index.js +7 -0
  904. package/dist/state/state-manager.d.ts +41 -0
  905. package/dist/state/state-manager.js +207 -0
  906. package/dist/state/state-types.d.ts +5 -0
  907. package/dist/state/state-types.js +1 -0
  908. package/dist/testing/memory-regression-suite.d.ts +105 -0
  909. package/dist/testing/memory-regression-suite.js +258 -0
  910. package/dist/tools/assess-complexity-tool.d.ts +28 -0
  911. package/dist/tools/assess-complexity-tool.js +44 -0
  912. package/dist/tools/query-routing-tool.d.ts +17 -0
  913. package/dist/tools/query-routing-tool.js +59 -0
  914. package/dist/types/metamorphosis.d.ts +21 -0
  915. package/dist/types/metamorphosis.js +6 -0
  916. package/dist/utils/batch-operations.d.ts +25 -0
  917. package/dist/utils/batch-operations.js +292 -0
  918. package/dist/utils/codex-parser.d.ts +60 -0
  919. package/dist/utils/codex-parser.js +444 -0
  920. package/dist/utils/command-runner.d.ts +32 -0
  921. package/dist/utils/command-runner.js +96 -0
  922. package/dist/utils/import-resolver.d.ts +54 -0
  923. package/dist/utils/import-resolver.js +189 -0
  924. package/dist/utils/language-detector.d.ts +43 -0
  925. package/dist/utils/language-detector.js +382 -0
  926. package/dist/utils/path-resolver.d.ts +48 -0
  927. package/dist/utils/path-resolver.js +112 -0
  928. package/dist/utils/shutdown-handler.d.ts +26 -0
  929. package/dist/utils/shutdown-handler.js +74 -0
  930. package/dist/utils/task-graph.d.ts +29 -0
  931. package/dist/utils/task-graph.js +106 -0
  932. package/dist/utils/test-template-generator.d.ts +25 -0
  933. package/dist/utils/test-template-generator.js +178 -0
  934. package/dist/utils/token-manager.d.ts +48 -0
  935. package/dist/utils/token-manager.js +163 -0
  936. package/dist/validation/agent-config-validator.d.ts +110 -0
  937. package/dist/validation/agent-config-validator.js +280 -0
  938. package/dist/validation/estimation-validator.d.ts +61 -0
  939. package/dist/validation/estimation-validator.js +241 -0
  940. package/dist/validation/orchestration-flow-validator.d.ts +87 -0
  941. package/dist/validation/orchestration-flow-validator.js +606 -0
  942. package/dist/validation/report-content-validator.d.ts +42 -0
  943. package/dist/validation/report-content-validator.js +218 -0
  944. package/llms.txt +9 -6
  945. package/package.json +5 -2
  946. package/scripts/foundry/CHANGELOG.md +66 -0
  947. package/scripts/foundry/README.md +21 -2
  948. package/scripts/foundry/assert-packed-dist-cli.mjs +103 -0
  949. package/scripts/foundry/blip-kapow.cjs +2 -0
  950. package/scripts/foundry/blip-looker.cjs +2 -0
  951. package/scripts/foundry/blip-render.cjs +2 -0
  952. package/scripts/foundry/blip-rippel-organs.cjs +2 -0
  953. package/scripts/foundry/blip-rippel.cjs +2 -0
  954. package/scripts/foundry/blip-scene.cjs +2 -0
  955. package/scripts/foundry/blip-stroke.cjs +2 -0
  956. package/scripts/foundry/blip-vibe.cjs +2 -0
  957. package/scripts/foundry/blip.mjs +35 -0
  958. package/scripts/foundry/cli.mjs +8 -4
  959. package/scripts/foundry/inspect.mjs +162 -9
  960. package/scripts/foundry/mill-plant.cjs +598 -0
  961. package/scripts/foundry/mint-suit.cjs +327 -36
  962. package/scripts/foundry/package.json +18 -1
  963. package/scripts/foundry/plant/agents/blip-inspect.yml +5 -0
  964. package/scripts/foundry/plant/agents/blip-looker.yml +5 -0
  965. package/scripts/foundry/plant/agents/blip-vibe.yml +5 -0
  966. package/scripts/foundry/plant/agents/blip.yml +5 -0
  967. package/scripts/foundry/plant/agents/inspect.yml +1 -1
  968. package/scripts/foundry/plant/agents/mill.yml +1 -1
  969. package/scripts/foundry/plant/agents/sound-inspect.yml +5 -0
  970. package/scripts/foundry/plant/agents/sound-mixer.yml +5 -0
  971. package/scripts/foundry/plant/agents/sound.yml +5 -0
  972. package/scripts/foundry/plant/motions/MOTION-REGISTRY.md +41 -0
  973. package/scripts/foundry/plant/motions/registry.json +82 -0
  974. package/scripts/foundry/plant/skills/blip/SKILL.md +39 -0
  975. package/scripts/foundry/plant/skills/blip-inspect/SKILL.md +32 -0
  976. package/scripts/foundry/plant/skills/blip-looker/SKILL.md +30 -0
  977. package/scripts/foundry/plant/skills/blip-vibe/SKILL.md +30 -0
  978. package/scripts/foundry/plant/skills/inspect/SKILL.md +2 -2
  979. package/scripts/foundry/plant/skills/sound/SKILL.md +31 -0
  980. package/scripts/foundry/plant/skills/sound-inspect/SKILL.md +28 -0
  981. package/scripts/foundry/plant/skills/sound-mixer/SKILL.md +28 -0
  982. package/scripts/foundry/release-gate.mjs +18 -10
  983. package/scripts/foundry/release.mjs +3 -0
  984. package/scripts/foundry/sound-bed.cjs +2 -0
  985. package/scripts/foundry/sound-mixer.cjs +2 -0
  986. package/scripts/foundry/sound-rippel.cjs +2 -0
  987. package/scripts/foundry/sound-taste.cjs +2 -0
  988. package/scripts/foundry/sound-voice.cjs +2 -0
  989. package/scripts/foundry/sound.mjs +35 -0
  990. package/scripts/node/assert-packed-dist-cli.mjs +4 -0
  991. package/scripts/node/consumer-install-smoke.mjs +20 -1
  992. package/scripts/node/install-bridges.cjs +39 -4
  993. package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
  994. package/src/skills/orchestrator/SKILL.md +19 -1
  995. package/xray/features.json +2 -2
  996. package/xray/features.schema.json +1 -1
@@ -0,0 +1,997 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * xray CLI - Command Line Interface
4
+ *
5
+ * Provides commands for installing and managing xray framework
6
+ */
7
+ import { Command } from "commander";
8
+ import { execSync, spawn } from "child_process";
9
+ import { join, resolve } from "path";
10
+ import { fileURLToPath } from "node:url";
11
+ import { readFileSync, existsSync } from "fs";
12
+ import { getConfigDir } from "../core/config-paths.js";
13
+ import { frameworkLogger } from "../core/framework-logger.js";
14
+ // Get package root relative to this script location
15
+ const packageRoot = resolve(fileURLToPath(new URL("../..", import.meta.url)));
16
+ // Read version dynamically from package.json
17
+ const packageJsonPath = join(packageRoot, "package.json");
18
+ const { version } = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
19
+ /**
20
+ * SECURITY: Validate script path to prevent command injection
21
+ * Ensures the script is within the package root directory
22
+ */
23
+ function validateScriptPath(scriptPath, scriptName) {
24
+ // Resolve to absolute path
25
+ const resolvedPath = resolve(scriptPath);
26
+ // Check if file exists
27
+ if (!existsSync(resolvedPath)) {
28
+ throw new Error(`${scriptName} not found: ${resolvedPath}`);
29
+ }
30
+ // Check if path is within package root (prevent directory traversal)
31
+ const relativePath = resolve(packageRoot);
32
+ if (!resolvedPath.startsWith(relativePath)) {
33
+ throw new Error(`Security violation: ${scriptName} outside package root: ${resolvedPath}`);
34
+ }
35
+ // Check file extension (allow only .js, .cjs, .sh)
36
+ const allowedExtensions = ['.js', '.cjs', '.sh'];
37
+ const extension = resolve(resolvedPath).slice(-4);
38
+ if (!allowedExtensions.some(ext => resolvedPath.endsWith(ext))) {
39
+ throw new Error(`Security violation: ${scriptName} has disallowed extension: ${resolvedPath}`);
40
+ }
41
+ }
42
+ const program = new Command();
43
+ program
44
+ .name("0xray")
45
+ .description("xray: Bulletproof AI orchestration with systematic error prevention")
46
+ .version(version);
47
+ function runSetup() {
48
+ const setupScript = join(packageRoot, "scripts", "node", "setup.cjs");
49
+ validateScriptPath(setupScript, "setup script");
50
+ execSync(`node "${setupScript}"`, { stdio: "inherit", cwd: process.cwd() });
51
+ }
52
+ program
53
+ .command("install")
54
+ .description("Install xray framework in the current project")
55
+ .action(async () => {
56
+ frameworkLogger.log('cli', 'install-start', 'info', { message: 'Installing xray framework...' });
57
+ try {
58
+ const postinstallScript = join(packageRoot, "scripts", "node", "postinstall.cjs");
59
+ validateScriptPath(postinstallScript, "postinstall script");
60
+ execSync(`node "${postinstallScript}"`, { stdio: "inherit", cwd: process.cwd() });
61
+ frameworkLogger.log('cli', 'install-success', 'info', { message: 'xray framework installed' });
62
+ // UX banner kept for user visibility post-install (non-removable per exception)
63
+ console.log("✅ xray framework installed!");
64
+ console.log("💡 Run 'npx xray setup' for full configuration (hooks, Hermes, symlinks)");
65
+ }
66
+ catch (error) {
67
+ frameworkLogger.log('cli', 'install-error', 'error', { error: error instanceof Error ? error.message : String(error) });
68
+ console.error("❌ Installation failed:", error instanceof Error ? error.message : String(error));
69
+ process.exit(1);
70
+ }
71
+ });
72
+ program
73
+ .command("setup")
74
+ .description("Full framework setup: hooks, Hermes integration, symlinks, MCP paths")
75
+ .action(runSetup);
76
+ program
77
+ .command("init")
78
+ .description("Initialize xray configuration in the current project")
79
+ .action(async () => {
80
+ console.log("🚀 xray CLI: Initializing configuration...");
81
+ try {
82
+ const postinstallScript = join(packageRoot, "scripts", "node", "postinstall.cjs");
83
+ validateScriptPath(postinstallScript, "postinstall script");
84
+ execSync(`node "${postinstallScript}"`, { stdio: "inherit", cwd: process.cwd() });
85
+ runSetup();
86
+ console.log("✅ xray configuration initialized!");
87
+ }
88
+ catch (error) {
89
+ console.error("❌ Initialization failed:", error instanceof Error ? error.message : String(error));
90
+ process.exit(1);
91
+ }
92
+ });
93
+ program
94
+ .command("status")
95
+ .description("Show comprehensive xray framework status")
96
+ .action(async () => {
97
+ const { statusCommand } = await import("./commands/status.js");
98
+ await statusCommand();
99
+ });
100
+ program
101
+ .command("validate")
102
+ .description("Validate xray framework installation")
103
+ .action(async () => {
104
+ console.log("🔬 xray CLI: Validating installation...");
105
+ try {
106
+ // Run the init.sh script to validate
107
+ const initScript = join(packageRoot, ".opencode", "init.sh");
108
+ const fs = await import("fs");
109
+ if (!fs.existsSync(initScript)) {
110
+ console.error("❌ Validation failed: init script not found:", initScript);
111
+ process.exit(1);
112
+ }
113
+ // SECURITY: Validate script path before execution
114
+ validateScriptPath(initScript, "init script");
115
+ execSync(`bash "${initScript}"`, {
116
+ stdio: "inherit",
117
+ cwd: process.cwd(),
118
+ });
119
+ }
120
+ catch (error) {
121
+ console.error("❌ Validation failed:", error instanceof Error ? error.message : String(error));
122
+ process.exit(1);
123
+ }
124
+ });
125
+ program
126
+ .command("debug")
127
+ .description("Debug command")
128
+ .action(async () => {
129
+ console.log("📍 xray CLI Debug Info");
130
+ console.log(" packageRoot:", packageRoot);
131
+ console.log(" cwd:", process.cwd());
132
+ });
133
+ program
134
+ .command("capabilities")
135
+ .alias("caps")
136
+ .description("Show all available xray framework capabilities")
137
+ .action(async () => {
138
+ console.log("🚀 xray Framework Capabilities");
139
+ console.log("=====================================");
140
+ console.log("");
141
+ console.log("🤖 Available Agent Commands:");
142
+ console.log(" @security-auditor - Codex compliance & error prevention");
143
+ console.log(" @architect - System design & delegation decisions");
144
+ console.log(" @bug-triage-specialist - Error investigation & surgical fixes");
145
+ console.log(" @code-reviewer - Quality assessment & standards validation");
146
+ console.log(" @security-auditor - Vulnerability detection & compliance");
147
+ console.log(" @refactorer - Technical debt elimination & code consolidation");
148
+ console.log(" @testing-lead - Testing strategy & coverage optimization");
149
+ console.log(" @researcher - Codebase exploration & documentation");
150
+ console.log("");
151
+ console.log("🛠️ Framework Tools:");
152
+ console.log(" framework-reporting-system - Generate comprehensive activity reports");
153
+ console.log(" complexity-analyzer - Analyze code complexity & delegation decisions");
154
+ console.log(" codex-injector - Apply development standards automatically");
155
+ console.log("");
156
+ console.log("🎯 Skills System (23 lazy-loaded capabilities):");
157
+ console.log(" project-analysis - Codebase metrics and analysis");
158
+ console.log(" testing-strategy - Test planning and execution");
159
+ console.log(" code-review - Quality assessment");
160
+ console.log(" security-audit - Vulnerability scanning");
161
+ console.log(" performance-optimization - Performance tuning");
162
+ console.log(" refactoring-strategies - Code improvement techniques");
163
+ console.log(" ui-ux-design - User interface design");
164
+ console.log(" documentation-generation - Technical documentation");
165
+ console.log(" ... and 15 more specialized skills");
166
+ console.log("");
167
+ console.log("📚 Help & Discovery:");
168
+ console.log(" Use the framework-help MCP server for detailed information:");
169
+ console.log(" - xray_get_capabilities: Complete capabilities overview");
170
+ console.log(" - xray_get_commands: Command usage examples");
171
+ console.log(" - xray_explain_capability: Detailed feature explanations");
172
+ console.log("");
173
+ console.log("📊 Core Features:");
174
+ console.log(" • 99.6% error prevention through codex compliance");
175
+ console.log(" • 90% resource reduction (0 baseline processes)");
176
+ console.log(" • Multi-agent orchestration with intelligent delegation");
177
+ console.log(" • Systematic code quality enforcement");
178
+ console.log(" • Real-time activity monitoring and reporting");
179
+ console.log("");
180
+ console.log("🎯 Getting Started:");
181
+ console.log(" 1. Use @security-auditor for code quality validation");
182
+ console.log(" 2. Use @architect for complex development tasks");
183
+ console.log(" 3. Access skills for specialized capabilities");
184
+ console.log(" 4. Check framework-reporting-system for activity reports");
185
+ console.log(' 5. Run "npx xray capabilities" anytime for this overview');
186
+ });
187
+ program
188
+ .command("health")
189
+ .alias("check")
190
+ .description("Check framework health and system status")
191
+ .action(async () => {
192
+ console.log("🏥 xray Framework Health Check");
193
+ console.log("====================================");
194
+ console.log("");
195
+ try {
196
+ const fs = await import("fs");
197
+ const path = await import("path");
198
+ // Check core components
199
+ const checks = [
200
+ {
201
+ name: "Package Installation",
202
+ check: () => fs.existsSync(path.join(packageRoot, "package.json")),
203
+ success: "✅ Framework package found",
204
+ error: "❌ Framework package missing",
205
+ },
206
+ {
207
+ name: "Configuration Files",
208
+ check: () => fs.existsSync(path.join(process.cwd(), "opencode.json")) ||
209
+ fs.existsSync(path.join(process.cwd(), ".opencode", "enforcer-config.json")),
210
+ success: "✅ opencode configuration found",
211
+ error: "⚠️ opencode config optional for consumers",
212
+ },
213
+ {
214
+ name: "Agent System",
215
+ check: () => fs.existsSync(path.join(packageRoot, "dist", "agents")),
216
+ success: "✅ Agent system available",
217
+ error: "❌ Agent system not built",
218
+ },
219
+ {
220
+ name: "MCP Servers",
221
+ check: () => fs.existsSync(path.join(packageRoot, "dist", "mcps")),
222
+ success: "✅ MCP servers available",
223
+ error: "❌ MCP servers not built",
224
+ },
225
+ ];
226
+ let allHealthy = true;
227
+ for (const check of checks) {
228
+ try {
229
+ if (check.check()) {
230
+ console.log(check.success);
231
+ }
232
+ else {
233
+ console.log(check.error);
234
+ allHealthy = false;
235
+ }
236
+ }
237
+ catch (error) {
238
+ console.log(`${check.name}: ❌ Error during check`);
239
+ allHealthy = false;
240
+ }
241
+ }
242
+ console.log("");
243
+ if (allHealthy) {
244
+ console.log("🎉 Framework is healthy and ready to use!");
245
+ console.log("");
246
+ console.log("💡 Quick commands:");
247
+ console.log(" • @security-auditor scan this project");
248
+ console.log(" • @architect analyze this project");
249
+ console.log(" • framework-reporting-system");
250
+ }
251
+ else {
252
+ console.log('⚠️ Some components need attention. Run "npx xray install" to fix.');
253
+ }
254
+ }
255
+ catch (error) {
256
+ console.error("❌ Health check failed:", error instanceof Error ? error.message : String(error));
257
+ process.exit(1);
258
+ }
259
+ });
260
+ program
261
+ .command("report")
262
+ .description("Generate framework activity and health reports")
263
+ .option("-t, --type <type>", "Report type (full-analysis, agent-usage, performance, orchestration, context-awareness)", "full-analysis")
264
+ .option("-o, --output <file>", "Output file path")
265
+ .option("--daily", "Daily report (full-analysis for last 24 hours)")
266
+ .option("--performance", "Performance report")
267
+ .option("--compliance", "Compliance report (codex violations)")
268
+ .option("--session", "Current session report")
269
+ .option("--ci", "CI-friendly JSON output for pipelines")
270
+ .action(async (options) => {
271
+ // Resolve convenience flags to report type
272
+ const typeMap = {
273
+ daily: "full-analysis",
274
+ performance: "performance",
275
+ compliance: "full-analysis",
276
+ session: "full-analysis",
277
+ ci: "full-analysis",
278
+ };
279
+ let reportType = options.type;
280
+ let outputFormat = "json";
281
+ // Convenience flags override --type
282
+ for (const [flag, mappedType] of Object.entries(typeMap)) {
283
+ if (options[flag]) {
284
+ reportType = mappedType;
285
+ break;
286
+ }
287
+ }
288
+ // CI mode always outputs JSON
289
+ if (options.ci) {
290
+ outputFormat = "json";
291
+ }
292
+ const label = options.ci
293
+ ? "ci"
294
+ : options.daily
295
+ ? "daily"
296
+ : options.performance
297
+ ? "performance"
298
+ : options.compliance
299
+ ? "compliance"
300
+ : options.session
301
+ ? "session"
302
+ : reportType;
303
+ console.log(`📊 xray Framework Report: ${label}`);
304
+ console.log("==========================================");
305
+ console.log("");
306
+ try {
307
+ // Import and run the reporting system directly
308
+ const { FrameworkReportingSystem } = await import("../reporting/framework-reporting-system.js");
309
+ const reportingSystem = new FrameworkReportingSystem();
310
+ const report = await reportingSystem.generateReport({
311
+ type: reportType,
312
+ outputFormat,
313
+ });
314
+ if (options.output) {
315
+ const fs = await import("fs");
316
+ fs.writeFileSync(options.output, report);
317
+ console.log(`✅ Report saved to: ${options.output}`);
318
+ }
319
+ else {
320
+ console.log(report);
321
+ }
322
+ }
323
+ catch (error) {
324
+ console.error("❌ Report generation failed:", error instanceof Error ? error.message : String(error));
325
+ console.log("");
326
+ console.log("💡 Troubleshooting:");
327
+ console.log(" • Make sure OpenCode is running");
328
+ console.log(" • Check framework installation: npx xray status");
329
+ console.log(" • Try manual report: framework-reporting-system generate-report");
330
+ process.exit(1);
331
+ }
332
+ });
333
+ program
334
+ .command("fix")
335
+ .description("Automatically fix common framework issues by running the postinstall setup")
336
+ .action(async () => {
337
+ console.log("🔧 xray Framework Fix");
338
+ console.log("===========================");
339
+ console.log("");
340
+ try {
341
+ console.log("Running postinstall setup to restore configuration...");
342
+ // Run the postinstaller script (same as install command)
343
+ const postinstallScript = join(packageRoot, "scripts", "node", "postinstall.cjs");
344
+ // SECURITY: Validate script path before execution
345
+ validateScriptPath(postinstallScript, "postinstall script");
346
+ execSync(`node "${postinstallScript}"`, {
347
+ stdio: "inherit",
348
+ cwd: process.cwd(),
349
+ });
350
+ console.log("");
351
+ console.log("🎉 Framework configuration restored successfully!");
352
+ console.log("");
353
+ console.log("💡 Next steps:");
354
+ console.log(" • Restart OpenCode to load the restored configuration");
355
+ console.log(" • Run: npx xray health (to verify everything works)");
356
+ console.log(" • Try: @security-auditor scan this project");
357
+ }
358
+ catch (error) {
359
+ console.error("❌ Fix command failed:", error instanceof Error ? error.message : String(error));
360
+ console.log("");
361
+ console.log("💡 Manual fix options:");
362
+ console.log(" • Delete .opencode/ and .xray/ directories");
363
+ console.log(" • Run: npx xray install");
364
+ console.log(" • Or manually restore missing configuration files");
365
+ process.exit(1);
366
+ }
367
+ });
368
+ // Analytics command - pattern analysis, insights, and consent management
369
+ program
370
+ .command("analytics")
371
+ .description("xray Central Analytics - Pattern analysis, insights, and consent management\n" +
372
+ " In v1.7.2+: Includes consent management with granular control\n" +
373
+ " Use 'npx xray analytics enable' to opt-in to data sharing\n" +
374
+ " Core classes: ConsentManager, AnonymizationEngine available programmatically")
375
+ .option("-l, --limit <number>", "Limit analysis to last N task completions")
376
+ .option("-o, --output <file>", "Save report to file")
377
+ .action(async (opts) => {
378
+ console.log("📊 xray Pattern Analytics");
379
+ console.log("==============================");
380
+ console.log("");
381
+ try {
382
+ // Dynamic import to avoid loading analytics module unless needed
383
+ const { SimplePatternAnalyzer } = await import("../analytics/simple-pattern-analyzer.js");
384
+ // Get default limit from features.json
385
+ let defaultLimit = 500;
386
+ try {
387
+ const { featuresConfigLoader } = await import("../core/features-config.js");
388
+ defaultLimit = featuresConfigLoader.loadConfig().analytics?.default_limit ?? 500;
389
+ }
390
+ catch { /* use default */ }
391
+ const analyzer = new SimplePatternAnalyzer();
392
+ const limit = parseInt(opts.limit) || defaultLimit;
393
+ console.log(`Analyzing last ${limit} task completions...`);
394
+ console.log("");
395
+ const insights = await analyzer.analyze(limit);
396
+ const insightsLines = analyzer.generateInsights(insights);
397
+ // Print insights
398
+ insightsLines.forEach((line) => {
399
+ console.log(line);
400
+ });
401
+ // Save to file if requested
402
+ if (opts.output) {
403
+ const fs = await import("fs");
404
+ const report = await analyzer.generateReport();
405
+ fs.writeFileSync(opts.output, report);
406
+ console.log("");
407
+ console.log(`✅ Report saved to: ${opts.output}`);
408
+ }
409
+ console.log("");
410
+ console.log("💡 Run regularly to track agent performance and complexity accuracy");
411
+ }
412
+ catch (error) {
413
+ console.error("❌ Analytics failed:", error instanceof Error ? error.message : String(error));
414
+ process.exit(1);
415
+ }
416
+ });
417
+ program
418
+ .command("doctor")
419
+ .description("Diagnose framework issues (does not fix them)")
420
+ .action(async () => {
421
+ console.log("🩺 xray Framework Doctor");
422
+ console.log("===============================");
423
+ console.log("");
424
+ try {
425
+ const fs = await import("fs");
426
+ const path = await import("path");
427
+ const issues = [];
428
+ const fixes = [];
429
+ // Check Node.js version
430
+ const nodeVersion = process.version;
431
+ const versionParts = nodeVersion.slice(1).split(".");
432
+ const majorVersion = parseInt(versionParts[0] || "0");
433
+ if (majorVersion < 18) {
434
+ issues.push("Node.js version too old");
435
+ fixes.push("Upgrade to Node.js 18+");
436
+ }
437
+ else {
438
+ console.log("✅ Node.js version:", nodeVersion);
439
+ }
440
+ // Check package installation
441
+ const packageExists = fs.existsSync(path.join(process.cwd(), "node_modules", "0xray"));
442
+ if (!packageExists) {
443
+ issues.push("xray package not installed");
444
+ fixes.push("Run: npm install xray");
445
+ }
446
+ else {
447
+ console.log("✅ xray package installed");
448
+ }
449
+ // Check configuration - check for opencode.json or .xray/ (min compat .xray/ fallback for prior 0xRay consumer runtime per Scope Rule; plain xray primary)
450
+ const cwd = process.cwd();
451
+ const opencodeConfigPath = path.join(cwd, "opencode.json");
452
+ const xrayDir = getConfigDir(cwd);
453
+ const opencodeExists = fs.existsSync(opencodeConfigPath);
454
+ const configDirExists = fs.existsSync(xrayDir);
455
+ if (opencodeExists) {
456
+ console.log("✅ opencode configuration found");
457
+ }
458
+ else if (configDirExists) {
459
+ console.log(`✅ Configuration directory found: ${xrayDir}`);
460
+ }
461
+ else {
462
+ console.log("ℹ️ No opencode.json or config directory found (run: npx xray fix to create)");
463
+ }
464
+ // Check for common issues
465
+ const mcpConfigExists = fs.existsSync(path.join(process.cwd(), ".mcp.json"));
466
+ if (mcpConfigExists) {
467
+ console.log("ℹ️ Found .mcp.json - may conflict with framework");
468
+ fixes.push("Consider removing .mcp.json or excluding framework servers");
469
+ }
470
+ console.log("");
471
+ if (issues.length === 0) {
472
+ console.log("🎉 No issues found! Framework is healthy.");
473
+ console.log("");
474
+ console.log("💡 Pro tips:");
475
+ console.log(" • Use @security-auditor for code quality checks");
476
+ console.log(" • Run reports regularly: npx xray report");
477
+ console.log(" • Check health anytime: npx xray health");
478
+ }
479
+ else {
480
+ console.log("⚠️ Issues found:");
481
+ issues.forEach((issue, i) => {
482
+ console.log(` ${i + 1}. ${issue}`);
483
+ });
484
+ console.log("");
485
+ console.log('🔧 Run "npx xray fix" to automatically fix these issues');
486
+ }
487
+ }
488
+ catch (error) {
489
+ console.error("❌ Doctor check failed:", error instanceof Error ? error.message : String(error));
490
+ process.exit(1);
491
+ }
492
+ });
493
+ // Archive logs command - standalone, no framework boot required
494
+ program
495
+ .command("archive-logs")
496
+ .description("Archive log files without framework boot (for git hooks)")
497
+ .option("--dry-run", "Show what would be archived without making changes")
498
+ .option("-v, --verbose", "Verbose output")
499
+ .action(async (opts) => {
500
+ console.log("📦 xray Log Archive");
501
+ console.log("========================");
502
+ if (opts.dryRun) {
503
+ console.log("(Dry run mode - no changes will be made)");
504
+ }
505
+ try {
506
+ // Import and run standalone archiver
507
+ const archiveModule = await import("./commands/archive-logs.js");
508
+ const result = await archiveModule.archiveLogFiles({
509
+ maxFileSizeMB: 10,
510
+ rotationIntervalHours: 24,
511
+ compressionEnabled: true,
512
+ maxArchives: 10,
513
+ }, `cli-${Date.now()}`);
514
+ console.log(`\n📊 Results:`);
515
+ console.log(` Archived: ${result.archived} files`);
516
+ if (result.errors.length > 0) {
517
+ console.log(` Errors: ${result.errors.length}`);
518
+ result.errors.forEach((e) => console.log(` - ${e}`));
519
+ process.exit(1);
520
+ }
521
+ }
522
+ catch (error) {
523
+ console.error("Archive failed:", error);
524
+ process.exit(1);
525
+ }
526
+ });
527
+ // Inference improvement command
528
+ program
529
+ .command('inference:improve')
530
+ .description('Run autonomous inference improvement cycle')
531
+ .option('--dry-run', 'Show what would change without applying')
532
+ .option('-v, --verbose', 'Verbose output')
533
+ .action(async (options) => {
534
+ console.log('🚀 xray Inference Improvement');
535
+ console.log('=================================');
536
+ console.log('');
537
+ try {
538
+ const { LearningEngine } = await import('../delegation/analytics/learning-engine.js');
539
+ const { routingOutcomeTracker } = await import('../delegation/analytics/outcome-tracker.js');
540
+ const { patternPerformanceTracker } = await import('../analytics/pattern-performance-tracker.js');
541
+ const { getAdaptiveKernel } = await import('../core/adaptive-kernel.js');
542
+ // Reload fresh data
543
+ routingOutcomeTracker.reloadFromDisk();
544
+ patternPerformanceTracker.loadFromDisk();
545
+ const outcomes = routingOutcomeTracker.getOutcomes();
546
+ console.log(`📊 Loaded ${outcomes.length} routing outcomes`);
547
+ // Generate performance report
548
+ const perfMetrics = patternPerformanceTracker.getAllPatternMetrics();
549
+ console.log(` Patterns tracked: ${perfMetrics.length}`);
550
+ const successOutcomes = outcomes.filter(o => o.success);
551
+ const successRate = outcomes.length > 0 ? (successOutcomes.length / outcomes.length * 100).toFixed(1) : '100.0';
552
+ console.log(` Overall success rate: ${successRate}%`);
553
+ console.log('');
554
+ // Trigger learning
555
+ const engine = new LearningEngine(true);
556
+ const learningResult = await engine.triggerLearning();
557
+ console.log(`🧠 Learning Results:`);
558
+ console.log(` Patterns analyzed: ${learningResult.patternsAnalyzed}`);
559
+ console.log(` Adaptations: ${learningResult.adaptations}`);
560
+ // Get drift analysis
561
+ const driftAnalysis = engine.getPatternDriftAnalysis();
562
+ console.log(`\n📈 Pattern Drift:`);
563
+ console.log(` Drift detected: ${driftAnalysis.driftDetected}`);
564
+ console.log(` Severity: ${driftAnalysis.severity}`);
565
+ if (driftAnalysis.affectedPatterns.length > 0) {
566
+ console.log(` Affected: ${driftAnalysis.affectedPatterns.slice(0, 5).join(', ')}`);
567
+ }
568
+ // Get adaptive kernel stats
569
+ const kernel = getAdaptiveKernel();
570
+ const kernelStats = kernel.getLearningStats();
571
+ console.log(`\n⚙️ Kernel Stats:`);
572
+ console.log(` Patterns tracked: ${kernelStats.patternsTracked}`);
573
+ console.log(` Thresholds calibrated: ${kernelStats.thresholdsCalibrated}`);
574
+ // Get suggestions
575
+ if (!options.dryRun) {
576
+ const suggestions = engine.suggestImprovements();
577
+ if (suggestions.length > 0) {
578
+ console.log(`\n💡 Suggestions:`);
579
+ suggestions.slice(0, 5).forEach((s, i) => {
580
+ console.log(` ${i + 1}. [${s.type}] ${s.description} (${s.impact} impact)`);
581
+ });
582
+ }
583
+ console.log(`\n✅ Inference improvement cycle complete`);
584
+ }
585
+ else {
586
+ console.log(`\n💡 Dry run - no changes applied`);
587
+ }
588
+ console.log('');
589
+ }
590
+ catch (error) {
591
+ console.error('❌ Inference improvement failed:', error instanceof Error ? error.message : String(error));
592
+ process.exit(1);
593
+ }
594
+ });
595
+ // Inference tuner command
596
+ program
597
+ .command('inference:tuner')
598
+ .description('Start/stop the autonomous inference tuner service')
599
+ .option('-s, --start', 'Start the tuner service')
600
+ .option('-t, --stop', 'Stop the tuner service')
601
+ .option('-r, --run-once', 'Run a single tuning cycle')
602
+ .option('-S, --status', 'Show tuner status')
603
+ .action(async (options) => {
604
+ const { inferenceTuner } = await import('../services/inference-tuner.js');
605
+ if (options.status) {
606
+ const status = inferenceTuner.getStatus();
607
+ console.log('🎛️ Inference Tuner Status');
608
+ console.log('=========================');
609
+ console.log(` Running: ${status.running ? '✅ Yes' : '❌ No'}`);
610
+ console.log(` Last tuning: ${status.lastTuningTime ? new Date(status.lastTuningTime).toISOString() : 'Never'}`);
611
+ console.log(` Auto-update mappings: ${status.config.autoUpdateMappings}`);
612
+ console.log(` Auto-update thresholds: ${status.config.autoUpdateThresholds}`);
613
+ console.log(` Learning interval: ${status.config.learningIntervalMs}ms`);
614
+ return;
615
+ }
616
+ if (options.start) {
617
+ inferenceTuner.start();
618
+ console.log('✅ Inference tuner started');
619
+ console.log(` Interval: ${inferenceTuner.getStatus().config.learningIntervalMs}ms`);
620
+ console.log(' Press Ctrl+C to stop');
621
+ return;
622
+ }
623
+ if (options.stop) {
624
+ inferenceTuner.stop();
625
+ console.log('✅ Inference tuner stopped');
626
+ return;
627
+ }
628
+ if (options.runOnce) {
629
+ console.log('🎛️ Running single tuning cycle...');
630
+ await inferenceTuner.runTuningCycle();
631
+ console.log('✅ Tuning cycle complete');
632
+ return;
633
+ }
634
+ console.log('Usage: npx xray inference:tuner [options]');
635
+ console.log(' --start Start the tuner service');
636
+ console.log(' --stop Stop the tuner service');
637
+ console.log(' --run-once Run a single tuning cycle');
638
+ console.log(' --status Show tuner status');
639
+ });
640
+ // Inference cycle run command
641
+ program
642
+ .command('inference:run')
643
+ .description('Run a self-improvement inference cycle: collect → propose → govern → verify')
644
+ .option('-f, --force', 'Force cycle even if threshold not met')
645
+ .option('--no-verify', 'Skip deploy verification step')
646
+ .option('--no-apply', 'Skip applying approved proposals (create PRs)')
647
+ .option('--no-researcher-review', 'Skip downstream researcher review of PRs')
648
+ .option('--json', 'Output raw JSON result')
649
+ .action(async (options) => {
650
+ const { InferenceCycle } = await import('../inference/inference-cycle.js');
651
+ const { shouldTriggerCycle } = await import('../inference/inference-accumulator.js');
652
+ const { accumulateCorpus } = await import('../inference/inference-accumulator.js');
653
+ const { featuresConfigLoader } = await import('../core/features-config.js');
654
+ const { initializeGovernanceIntegration, shutdownGovernanceIntegration } = await import('../integrations/governance/index.js');
655
+ // Guard: inference:run is internal to xray development only
656
+ const isxrayRepo = (() => {
657
+ try {
658
+ const pkg = JSON.parse(readFileSync(join(process.cwd(), 'package.json'), 'utf-8'));
659
+ return pkg.name === '0xray' && process.env.NODE_ENV !== 'consumer';
660
+ }
661
+ catch {
662
+ return false;
663
+ }
664
+ })();
665
+ if (!isxrayRepo) {
666
+ if (options.json) {
667
+ console.log(JSON.stringify({ triggered: false, reason: 'inference:run is for xray development only (internal tool)' }));
668
+ }
669
+ else {
670
+ console.log('The inference:run command is for xray framework development only.');
671
+ console.log('It is not intended for consumer projects.');
672
+ }
673
+ return;
674
+ }
675
+ const features = featuresConfigLoader.loadConfig();
676
+ const inferenceConfig = features?.inference;
677
+ if (!inferenceConfig?.enabled) {
678
+ if (options.json) {
679
+ console.log(JSON.stringify({ triggered: false, reason: 'Inference feature disabled in features.json' }));
680
+ }
681
+ else {
682
+ console.log('Inference feature is disabled in features.json.');
683
+ console.log('Enable it by setting inference.enabled = true in .opencode/plugins/features.json (min compat .xray/ fallback for prior 0xRay consumer runtime per Scope Rule)');
684
+ }
685
+ return;
686
+ }
687
+ const projectRoot = process.cwd();
688
+ const inferenceDir = `${projectRoot}/docs/inference`;
689
+ const stateDir = `${projectRoot}/.xray/inference`;
690
+ const stateFile = `${stateDir}/inference-cycle-state.json`;
691
+ if (!options.json) {
692
+ console.log('xray Inference Cycle');
693
+ console.log('====================');
694
+ }
695
+ if (!options.force) {
696
+ const threshold = shouldTriggerCycle(inferenceDir, stateFile);
697
+ if (!threshold.trigger) {
698
+ if (options.json) {
699
+ console.log(JSON.stringify({ triggered: false, reason: threshold.reason }));
700
+ }
701
+ else {
702
+ console.log(`Not triggered: ${threshold.reason}`);
703
+ console.log('Use --force to override.');
704
+ }
705
+ return;
706
+ }
707
+ if (!options.json) {
708
+ console.log(`Triggered: ${threshold.reason}`);
709
+ }
710
+ }
711
+ else if (!options.json) {
712
+ console.log('Force mode — skipping threshold check');
713
+ }
714
+ if (!options.json) {
715
+ const corpus = accumulateCorpus(inferenceDir);
716
+ console.log(`\nCorpus: ${corpus.sessions.length} sessions, ${corpus.totalCommits} commits`);
717
+ console.log(` Recurring problems: ${corpus.recurringProblems.length}`);
718
+ console.log(` Recurring patterns: ${corpus.recurringPatterns.length}`);
719
+ }
720
+ // Initialize external governance integration for two-oscillator governance
721
+ const govConfig = features?.inference_governance;
722
+ if (govConfig?.enabled) {
723
+ await shutdownGovernanceIntegration();
724
+ await initializeGovernanceIntegration();
725
+ }
726
+ const cycle = InferenceCycle.getInstance(projectRoot, { skipDeployVerify: options.noVerify ?? true, skipApply: options.noApply ?? false, skipResearcherReview: options.noResearcherReview ?? false, force: options.force ?? false });
727
+ const result = await cycle.maybeRunCycle();
728
+ if (options.json) {
729
+ console.log(JSON.stringify(result, null, 2));
730
+ return;
731
+ }
732
+ console.log(`\nCycle: ${result.cycleId}`);
733
+ console.log(`Phase: ${result.phase}`);
734
+ console.log(`Duration: ${(result.duration / 1000).toFixed(1)}s`);
735
+ if (result.proposals.length > 0) {
736
+ console.log(`\nProposals (${result.proposals.length}):`);
737
+ for (const p of result.proposals) {
738
+ const icon = p.status === 'approved' || p.status === 'applied' ? 'APPROVED' : p.status === 'rejected' ? 'REJECTED' : p.status === 'failed' ? 'FAILED' : 'PENDING';
739
+ console.log(` [${icon}] ${p.type}: ${p.title} (${(p.confidence * 100).toFixed(0)}%)`);
740
+ }
741
+ }
742
+ else {
743
+ console.log('\nNo proposals generated.');
744
+ }
745
+ if (result.votes.length > 0) {
746
+ console.log(`\nGovernance votes (${result.votes.length}):`);
747
+ for (const v of result.votes) {
748
+ console.log(` ${v.proposalId}: ${v.decision} (${(v.confidence * 100).toFixed(0)}%)`);
749
+ for (const d of v.details) {
750
+ console.log(` ${d}`);
751
+ }
752
+ }
753
+ }
754
+ if (result.deployVerification) {
755
+ console.log(`\nDeploy verification: ${result.deployVerification.success ? 'PASSED' : 'FAILED'}`);
756
+ const failedChecks = result.deployVerification.checks.filter((c) => !c.passed);
757
+ if (failedChecks.length > 0) {
758
+ for (const c of failedChecks) {
759
+ console.log(` Failed: ${c.name} — ${c.output?.substring(0, 200)}`);
760
+ }
761
+ }
762
+ }
763
+ });
764
+ // Publish agent command
765
+ program
766
+ .command('publish-agent')
767
+ .description('Package and publish agents to AgentStore')
768
+ .option('-a, --agent <name>', 'Agent name to publish')
769
+ .option('-v, --version <version>', 'Version to publish (default: 1.0.0)')
770
+ .option('-d, --dry-run', 'Show what would be published without publishing')
771
+ .action(async () => {
772
+ const { publishAgentCommand } = await import('./commands/publish-agent.js');
773
+ await publishAgentCommand();
774
+ });
775
+ // Antigravity status command
776
+ program
777
+ .command('antigravity status')
778
+ .description('Show status of all installed skills')
779
+ .action(async () => {
780
+ const { antigravityStatusCommand } = await import('./commands/antigravity-status.js');
781
+ await antigravityStatusCommand();
782
+ });
783
+ // Credible init command
784
+ program
785
+ .command('credible init')
786
+ .description('Initialize Credible Pod infrastructure')
787
+ .option('-n, --name <name>', 'Pod name')
788
+ .option('-t, --template <template>', 'Pod template to use')
789
+ .action(async () => {
790
+ const { credibleInitCommand } = await import('./commands/credible-init.js');
791
+ await credibleInitCommand();
792
+ });
793
+ // Skill registry command
794
+ program
795
+ .command('skill:registry [action]')
796
+ .description('List, add, or remove skills registry sources')
797
+ .option('--name <name>', 'Source name')
798
+ .option('--url <url>', 'Repository URL')
799
+ .option('--desc <desc>', 'Description')
800
+ .option('--license <license>', 'License type')
801
+ .action(async (action, options) => {
802
+ const { skillRegistryCommand } = await import('./commands/skill-install.js');
803
+ await skillRegistryCommand(action, options);
804
+ });
805
+ // Skill install command
806
+ program
807
+ .command('skill:install [source]')
808
+ .description('Install skills from the registry or any git repo')
809
+ .option('--path <dir>', 'Subdirectory in repo containing skills')
810
+ .option('--force', 'Reinstall even if already installed')
811
+ .action(async (sourceArg, options) => {
812
+ const { skillInstallCommand } = await import('./commands/skill-install.js');
813
+ await skillInstallCommand(sourceArg, options);
814
+ });
815
+ // Storyteller command
816
+ program
817
+ .command('storyteller [type]')
818
+ .description('Write reflections, sagas, journeys, or narratives')
819
+ .option('-t, --title <title>', 'Title for the story')
820
+ .option('-f, --framework <framework>', 'Storytelling framework (three_act_structure, hero_journey, spiral)')
821
+ .option('-o, --output <file>', 'Output file path')
822
+ .option('--dry-run', 'Show prompt without creating file')
823
+ .action(async (type, options) => {
824
+ const { storytellerCommand } = await import('./commands/storyteller.js');
825
+ await storytellerCommand(type, options);
826
+ });
827
+ // MCP install commands - support both hyphen and colon formats
828
+ program
829
+ .command('mcp-list')
830
+ .alias('mcp:list')
831
+ .description('List available community MCP servers')
832
+ .action(async () => {
833
+ const { listMCPsCommand } = await import('./commands/mcp-install.js');
834
+ listMCPsCommand();
835
+ });
836
+ program
837
+ .command('mcp-status')
838
+ .alias('mcp:status')
839
+ .description('Show installed MCP servers')
840
+ .action(async () => {
841
+ const { showMCPStatusCommand } = await import('./commands/mcp-install.js');
842
+ showMCPStatusCommand();
843
+ });
844
+ program
845
+ .command('mcp-install <name>')
846
+ .alias('mcp:install')
847
+ .description('Install an MCP server from the registry')
848
+ .action(async (name) => {
849
+ const { installMCPCommand } = await import('./commands/mcp-install.js');
850
+ await installMCPCommand(name);
851
+ });
852
+ program
853
+ .command('mcp-remove <name>')
854
+ .alias('mcp:remove')
855
+ .description('Remove an installed MCP server')
856
+ .action(async (name) => {
857
+ const { removeMCPCommand } = await import('./commands/mcp-install.js');
858
+ removeMCPCommand(name);
859
+ });
860
+ // MCP server subprocess launchers (used by Grok plugin .mcp.json via npx)
861
+ program
862
+ .command('mcp')
863
+ .description('Run an MCP server subprocess (used by Grok/OpenCode .mcp.json)')
864
+ .argument('<server>', 'Server name: governance, skills, researcher, code-review, architect-tools, enforcer, orchestrator')
865
+ .action(async (server) => {
866
+ const serverMap = {
867
+ governance: 'dist/mcps/governance.server.js',
868
+ skills: 'dist/mcps/knowledge-skills/skill-invocation.server.js',
869
+ researcher: 'dist/mcps/researcher.server.js',
870
+ 'code-review': 'dist/mcps/knowledge-skills/code-review.server.js',
871
+ 'architect-tools': 'dist/mcps/architect-tools.server.js',
872
+ enforcer: 'dist/mcps/enforcer-tools.server.js',
873
+ orchestrator: 'dist/mcps/orchestrator.server.js',
874
+ };
875
+ const relPath = serverMap[server];
876
+ if (!relPath) {
877
+ console.error(`Unknown MCP server: ${server}. Use: governance, skills, researcher, code-review, architect-tools, enforcer, orchestrator`);
878
+ process.exit(1);
879
+ }
880
+ const serverPath = resolve(join(packageRoot, relPath));
881
+ if (!existsSync(serverPath)) {
882
+ console.error(`MCP server not found at ${serverPath}. Is xray installed correctly?`);
883
+ process.exit(1);
884
+ }
885
+ const env = { ...process.env };
886
+ if (server === 'governance') {
887
+ env.XRAY_FORCE_MCP_GOVERNANCE = 'true';
888
+ env.XRAY_FORCE_MCP_GOVERNANCE = 'true';
889
+ }
890
+ const child = spawn(process.execPath, [serverPath], { stdio: 'inherit', env });
891
+ child.on('exit', (code) => process.exit(code ?? 0));
892
+ });
893
+ // Grok CLI integration
894
+ const grokCmd = program.command('grok').description('Grok CLI integration commands');
895
+ const { registerGrokCommands } = await import('./commands/grok-install.js');
896
+ registerGrokCommands(grokCmd);
897
+ // Hermes Agent integration
898
+ const hermesCmd = program.command('hermes').description('Hermes Agent integration commands');
899
+ const { registerHermesCommands } = await import('./commands/hermes-install.js');
900
+ registerHermesCommands(hermesCmd);
901
+ // OpenClaw integration
902
+ const openclawCmd = program.command('openclaw').description('OpenClaw integration commands');
903
+ const { registerOpenClawCommands } = await import('./commands/openclaw-install.js');
904
+ registerOpenClawCommands(openclawCmd);
905
+ // OpenCode integration
906
+ const opencodeCmd = program.command('opencode').description('OpenCode integration commands');
907
+ const { registerOpencodeCommands } = await import('./commands/opencode-install.js');
908
+ registerOpencodeCommands(opencodeCmd);
909
+ // Analytics enable command
910
+ // Plugin subcommands
911
+ const pluginCmd = program.command('plugin').description('Manage plugins');
912
+ pluginCmd
913
+ .command('list')
914
+ .description('List installed plugins')
915
+ .action(async () => {
916
+ const { pluginListCommand } = await import('./commands/plugin-commands.js');
917
+ await pluginListCommand();
918
+ });
919
+ pluginCmd
920
+ .command('install <name>')
921
+ .description('Install a plugin')
922
+ .action(async (name) => {
923
+ const { pluginInstallCommand } = await import('./commands/plugin-commands.js');
924
+ await pluginInstallCommand(name);
925
+ });
926
+ pluginCmd
927
+ .command('enable <name>')
928
+ .description('Enable a plugin')
929
+ .action(async (name) => {
930
+ const { pluginEnableCommand } = await import('./commands/plugin-commands.js');
931
+ await pluginEnableCommand(name);
932
+ });
933
+ pluginCmd
934
+ .command('disable <name>')
935
+ .description('Disable a plugin')
936
+ .action(async (name) => {
937
+ const { pluginDisableCommand } = await import('./commands/plugin-commands.js');
938
+ await pluginDisableCommand(name);
939
+ });
940
+ pluginCmd
941
+ .command('status <name>')
942
+ .description('Show plugin details')
943
+ .action(async (name) => {
944
+ const { pluginStatusCommand } = await import('./commands/plugin-commands.js');
945
+ await pluginStatusCommand(name);
946
+ });
947
+ pluginCmd
948
+ .command('uninstall <name>')
949
+ .description('Uninstall a plugin')
950
+ .action(async (name) => {
951
+ const { pluginUninstallCommand } = await import('./commands/plugin-commands.js');
952
+ await pluginUninstallCommand(name);
953
+ });
954
+ // Add help text
955
+ program.addHelpText("after", `
956
+
957
+ Examples:
958
+ $ npx 0xray install # Install xray in current project
959
+ $ npx 0xray init # Initialize configuration
960
+ $ npx 0xray status # Check installation status
961
+ $ npx 0xray validate # Validate framework setup
962
+ $ npx 0xray capabilities # Show all available capabilities
963
+ $ npx 0xray health # Check framework health and status
964
+ $ npx 0xray report # Generate activity and health reports
965
+ $ npx 0xray fix # Automatically restore missing config files
966
+ $ npx 0xray doctor # Diagnose issues (does not fix them)
967
+ $ npx 0xray analytics # Pattern analytics and insights
968
+ $ npx 0xray inference:improve # Run autonomous inference improvement
969
+ $ npx 0xray skill:install agency-agents # Install 170+ agency agent skills
970
+ $ npx 0xray skill:install superpowers # Install 14 agentic workflow skills
971
+ $ npx 0xray skill:install <github-url> # Install from any repo
972
+ $ npx 0xray storyteller saga "v1.18.0 Journey" # Write a saga
973
+ $ npx 0xray storyteller reflection "API Fix" # Write a reflection
974
+
975
+ Quick Start:
976
+ 1. Install: npx 0xray install
977
+ 2. Check health: npx 0xray health
978
+ 3. Use agents: @security-auditor scan
979
+ 4. Generate reports: npx 0xray report
980
+ 5. Fix issues: npx 0xray fix
981
+ 6. View analytics: npx 0xray analytics
982
+ 7. Add skills: npx 0xray skill:install agency-agents
983
+
984
+ For more information, visit: https://github.com/0xRayAI/xray
985
+ `);
986
+ // Parse command line arguments
987
+ program.exitOverride();
988
+ try {
989
+ program.parse();
990
+ }
991
+ catch (err) {
992
+ const code = err && typeof err === 'object' && 'code' in err ? String(err.code) : '';
993
+ if (code === 'commander.helpDisplayed' || code === 'commander.help' || code === 'commander.version') {
994
+ process.exit(0);
995
+ }
996
+ throw err;
997
+ }