0xray 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (739) hide show
  1. package/.opencode/agents/api-design.yml +31 -0
  2. package/.opencode/agents/architect.yml +15 -0
  3. package/.opencode/agents/architecture-patterns.yml +14 -0
  4. package/.opencode/agents/auto-format.yml +14 -0
  5. package/.opencode/agents/backend-engineer.yml +12 -0
  6. package/.opencode/agents/boot-orchestrator.yml +14 -0
  7. package/.opencode/agents/bug-triage-specialist.yml +15 -0
  8. package/.opencode/agents/code-analyzer.yml +12 -0
  9. package/.opencode/agents/code-reviewer.yml +14 -0
  10. package/.opencode/agents/content-creator.yml +12 -0
  11. package/.opencode/agents/database-engineer.yml +12 -0
  12. package/.opencode/agents/devops-engineer.yml +12 -0
  13. package/.opencode/agents/framework-compliance-audit.yml +14 -0
  14. package/.opencode/agents/frontend-engineer.yml +12 -0
  15. package/.opencode/agents/frontend-ui-ux-engineer.yml +12 -0
  16. package/.opencode/agents/git-workflow.yml +15 -0
  17. package/.opencode/agents/growth-strategist.yml +12 -0
  18. package/.opencode/agents/hermes-agent.yml +12 -0
  19. package/.opencode/agents/inference-improve.yml +12 -0
  20. package/.opencode/agents/lint.yml +14 -0
  21. package/.opencode/agents/log-monitor.yml +12 -0
  22. package/.opencode/agents/mobile-developer.yml +12 -0
  23. package/.opencode/agents/model-health-check.yml +12 -0
  24. package/.opencode/agents/multimodal-looker.yml +12 -0
  25. package/.opencode/agents/performance-analysis.yml +12 -0
  26. package/.opencode/agents/performance-engineer.yml +12 -0
  27. package/.opencode/agents/performance-optimization.yml +12 -0
  28. package/.opencode/agents/processor-pipeline.yml +14 -0
  29. package/.opencode/agents/project-analysis.yml +12 -0
  30. package/.opencode/agents/refactorer.yml +12 -0
  31. package/.opencode/agents/researcher.yml +12 -0
  32. package/.opencode/agents/security-auditor.yml +12 -0
  33. package/.opencode/agents/security-scan.yml +12 -0
  34. package/.opencode/agents/seo-consultant.yml +12 -0
  35. package/.opencode/agents/session-management.yml +12 -0
  36. package/.opencode/agents/state-manager.yml +12 -0
  37. package/.opencode/agents/storyteller.yml +12 -0
  38. package/.opencode/agents/strategist.yml +12 -0
  39. package/.opencode/agents/tech-writer.yml +12 -0
  40. package/.opencode/agents/testing-best-practices.yml +12 -0
  41. package/.opencode/agents/testing-lead.yml +12 -0
  42. package/.opencode/agents/ui-ux-design.yml +12 -0
  43. package/.opencode/codex.codex +8 -0
  44. package/.opencode/commands/auto-format.md +99 -0
  45. package/.opencode/commands/auto-summary-capture.md +90 -0
  46. package/.opencode/commands/dependency-audit.md +184 -0
  47. package/.opencode/commands/enforcer-daily-scan.md +137 -0
  48. package/.opencode/commands/framework-compliance-audit.md +205 -0
  49. package/.opencode/commands/interactive-validator.md +75 -0
  50. package/.opencode/commands/job-summary-logger.md +68 -0
  51. package/.opencode/commands/lint.md +11 -0
  52. package/.opencode/commands/mode-switch.md +95 -0
  53. package/.opencode/commands/model-health-check.md +186 -0
  54. package/.opencode/commands/performance-analysis.md +144 -0
  55. package/.opencode/commands/pre-commit-introspection.md +185 -0
  56. package/.opencode/commands/pre-commit-introspection.sh +133 -0
  57. package/.opencode/commands/security-scan.md +157 -0
  58. package/.opencode/commands/sisyphus-validation.md +128 -0
  59. package/.opencode/commands/summary-logger.md +83 -0
  60. package/.opencode/enforcer-config.json +285 -0
  61. package/.opencode/hooks/hook-metrics.json +380 -0
  62. package/.opencode/hooks/post-commit +114 -0
  63. package/.opencode/hooks/post-push +34 -0
  64. package/.opencode/init.sh +151 -0
  65. package/.opencode/skills/api-design/SKILL.md +37 -0
  66. package/.opencode/skills/architect-tools/SKILL.md +37 -0
  67. package/.opencode/skills/architecture-patterns/SKILL.md +37 -0
  68. package/.opencode/skills/auto-format/SKILL.md +37 -0
  69. package/.opencode/skills/backend-engineer/SKILL.md +49 -0
  70. package/.opencode/skills/boot-orchestrator/SKILL.md +37 -0
  71. package/.opencode/skills/bug-triage/SKILL.md +43 -0
  72. package/.opencode/skills/code-analyzer/SKILL.md +45 -0
  73. package/.opencode/skills/code-review/SKILL.md +52 -0
  74. package/.opencode/skills/content-creator/SKILL.md +38 -0
  75. package/.opencode/skills/database-engineer/SKILL.md +46 -0
  76. package/.opencode/skills/devops-engineer/SKILL.md +49 -0
  77. package/.opencode/skills/enforcer/SKILL.md +37 -0
  78. package/.opencode/skills/framework-compliance-audit/SKILL.md +37 -0
  79. package/.opencode/skills/frontend-engineer/SKILL.md +49 -0
  80. package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
  81. package/.opencode/skills/git-workflow/SKILL.md +37 -0
  82. package/.opencode/skills/growth-strategist/SKILL.md +48 -0
  83. package/.opencode/skills/hermes-agent/SKILL.md +212 -0
  84. package/.opencode/skills/inference-improve/SKILL.md +97 -0
  85. package/.opencode/skills/lint/SKILL.md +37 -0
  86. package/.opencode/skills/log-monitor/SKILL.md +44 -0
  87. package/.opencode/skills/mobile-developer/SKILL.md +42 -0
  88. package/.opencode/skills/model-health-check/SKILL.md +37 -0
  89. package/.opencode/skills/multimodal-looker/SKILL.md +45 -0
  90. package/.opencode/skills/orchestrator/SKILL.md +37 -0
  91. package/.opencode/skills/performance-analysis/SKILL.md +37 -0
  92. package/.opencode/skills/performance-engineer/SKILL.md +41 -0
  93. package/.opencode/skills/performance-optimization/SKILL.md +37 -0
  94. package/.opencode/skills/processor-pipeline/SKILL.md +37 -0
  95. package/.opencode/skills/project-analysis/SKILL.md +42 -0
  96. package/.opencode/skills/refactoring-strategies/SKILL.md +37 -0
  97. package/.opencode/skills/registry.json +66 -0
  98. package/.opencode/skills/researcher/SKILL.md +37 -0
  99. package/.opencode/skills/security-audit/SKILL.md +47 -0
  100. package/.opencode/skills/security-scan/SKILL.md +37 -0
  101. package/.opencode/skills/seo-consultant/SKILL.md +43 -0
  102. package/.opencode/skills/session-management/SKILL.md +36 -0
  103. package/.opencode/skills/state-manager/SKILL.md +37 -0
  104. package/.opencode/skills/storyteller/SKILL.md +130 -0
  105. package/.opencode/skills/strategist/SKILL.md +32 -0
  106. package/.opencode/skills/tech-writer/SKILL.md +37 -0
  107. package/.opencode/skills/testing-best-practices/SKILL.md +37 -0
  108. package/.opencode/skills/testing-strategy/SKILL.md +43 -0
  109. package/.opencode/skills/ui-ux-design/SKILL.md +603 -0
  110. package/.opencode/workflows/post-deployment-audit.yml +123 -0
  111. package/AGENTS.md +110 -0
  112. package/LICENSE +21 -0
  113. package/README.md +131 -0
  114. package/dist/AGENTS.md +110 -0
  115. package/dist/CHANGELOG.md +2182 -0
  116. package/dist/LICENSE +21 -0
  117. package/dist/README.md +131 -0
  118. package/dist/agents/architect.js +56 -0
  119. package/dist/agents/backend-engineer.js +81 -0
  120. package/dist/agents/bug-triage-specialist.js +74 -0
  121. package/dist/agents/code-analyzer.js +150 -0
  122. package/dist/agents/code-reviewer.js +69 -0
  123. package/dist/agents/content-creator.js +72 -0
  124. package/dist/agents/database-engineer.js +76 -0
  125. package/dist/agents/devops-engineer.js +84 -0
  126. package/dist/agents/frontend-engineer.js +78 -0
  127. package/dist/agents/frontend-ui-ux-engineer.js +64 -0
  128. package/dist/agents/growth-strategist.js +111 -0
  129. package/dist/agents/index.js +45 -0
  130. package/dist/agents/librarian-agents-updater.js +333 -0
  131. package/dist/agents/log-monitor.js +109 -0
  132. package/dist/agents/mobile-developer.js +102 -0
  133. package/dist/agents/multimodal-looker.js +93 -0
  134. package/dist/agents/performance-engineer.js +86 -0
  135. package/dist/agents/refactorer.js +80 -0
  136. package/dist/agents/registry.js +340 -0
  137. package/dist/agents/researcher.js +83 -0
  138. package/dist/agents/security-auditor.js +158 -0
  139. package/dist/agents/seo-consultant.js +53 -0
  140. package/dist/agents/strategist.js +47 -0
  141. package/dist/agents/tech-writer.js +84 -0
  142. package/dist/agents/testing-lead.js +95 -0
  143. package/dist/agents/types.js +1 -0
  144. package/dist/analytics/consent-manager.js +258 -0
  145. package/dist/analytics/emerging-pattern-detector.js +260 -0
  146. package/dist/analytics/pattern-learning-engine.js +278 -0
  147. package/dist/analytics/pattern-performance-tracker.js +336 -0
  148. package/dist/analytics/predictive-analytics.js +248 -0
  149. package/dist/analytics/prompt-pattern-analyzer.js +371 -0
  150. package/dist/analytics/routing-performance-analyzer.js +356 -0
  151. package/dist/analytics/routing-refiner.js +380 -0
  152. package/dist/analytics/simple-pattern-analyzer.js +297 -0
  153. package/dist/architect/architect-tools.js +437 -0
  154. package/dist/architect/architectural-integrity.js +78 -0
  155. package/dist/benchmark/performance-benchmark.js +372 -0
  156. package/dist/cli/commands/analytics-disable.js +72 -0
  157. package/dist/cli/commands/analytics-enable-action.js +82 -0
  158. package/dist/cli/commands/analytics-preview.js +106 -0
  159. package/dist/cli/commands/analytics-status.js +68 -0
  160. package/dist/cli/commands/antigravity-status.js +106 -0
  161. package/dist/cli/commands/archive-logs.js +161 -0
  162. package/dist/cli/commands/credible-init.js +82 -0
  163. package/dist/cli/commands/grok-install.js +16 -0
  164. package/dist/cli/commands/hermes-install.js +66 -0
  165. package/dist/cli/commands/mcp-install.js +253 -0
  166. package/dist/cli/commands/openclaw-install.js +44 -0
  167. package/dist/cli/commands/opencode-install.js +99 -0
  168. package/dist/cli/commands/plugin-commands.js +246 -0
  169. package/dist/cli/commands/publish-agent.js +184 -0
  170. package/dist/cli/commands/security-audit.js +219 -0
  171. package/dist/cli/commands/skill-install.js +481 -0
  172. package/dist/cli/commands/status.js +196 -0
  173. package/dist/cli/commands/storyteller.js +230 -0
  174. package/dist/cli/index.js +986 -0
  175. package/dist/cli/server.js +147 -0
  176. package/dist/config/default-agents.js +16 -0
  177. package/dist/core/activity-logger.js +260 -0
  178. package/dist/core/adaptive-kernel.js +192 -0
  179. package/dist/core/agent-spawn-gate.js +120 -0
  180. package/dist/core/boot-orchestrator.js +812 -0
  181. package/dist/core/bridge.mjs +945 -0
  182. package/dist/core/codex-formatter.js +220 -0
  183. package/dist/core/codex-injector.js +424 -0
  184. package/dist/core/config-loader.js +148 -0
  185. package/dist/core/config-paths.js +162 -0
  186. package/dist/core/context-loader.js +269 -0
  187. package/dist/core/context-validator.js +212 -0
  188. package/dist/core/features-config.js +457 -0
  189. package/dist/core/framework-logger.js +275 -0
  190. package/dist/core/index.js +6 -0
  191. package/dist/core/kernel-patterns.js +302 -0
  192. package/dist/core/logging-config.js +43 -0
  193. package/dist/core/model-router.js +175 -0
  194. package/dist/core/orchestrator.js +408 -0
  195. package/dist/core/system-prompt-generator.js +265 -0
  196. package/dist/core/trace-context.js +33 -0
  197. package/dist/core/xray-activation.js +134 -0
  198. package/dist/delegation/agent-delegator.js +769 -0
  199. package/dist/delegation/agent-expertise.js +156 -0
  200. package/dist/delegation/analytics/index.js +12 -0
  201. package/dist/delegation/analytics/learning-engine.js +277 -0
  202. package/dist/delegation/analytics/outcome-tracker.js +279 -0
  203. package/dist/delegation/analytics/routing-analytics.js +193 -0
  204. package/dist/delegation/ast-code-parser.js +878 -0
  205. package/dist/delegation/codebase-context-analyzer.js +1040 -0
  206. package/dist/delegation/complexity-analyzer.js +282 -0
  207. package/dist/delegation/complexity-core.js +219 -0
  208. package/dist/delegation/config/types.js +6 -0
  209. package/dist/delegation/dependency-graph-builder.js +409 -0
  210. package/dist/delegation/index.js +20 -0
  211. package/dist/delegation/metrics-aggregator.js +335 -0
  212. package/dist/delegation/session-coordinator.js +352 -0
  213. package/dist/delegation/strategy-selector.js +108 -0
  214. package/dist/delegation/voting-coordinator.js +375 -0
  215. package/dist/delegation/voting-types.js +10 -0
  216. package/dist/delegation/weighted-voting-aggregator.js +194 -0
  217. package/dist/enforcement/core/index.js +19 -0
  218. package/dist/enforcement/core/rule-executor.js +365 -0
  219. package/dist/enforcement/core/rule-hierarchy.js +259 -0
  220. package/dist/enforcement/core/rule-registry.js +240 -0
  221. package/dist/enforcement/core/violation-fixer.js +651 -0
  222. package/dist/enforcement/enforcer-tools.js +909 -0
  223. package/dist/enforcement/index.js +41 -0
  224. package/dist/enforcement/loaders/agent-triage-loader.js +222 -0
  225. package/dist/enforcement/loaders/agents-md-validation-loader.js +252 -0
  226. package/dist/enforcement/loaders/base-loader.js +86 -0
  227. package/dist/enforcement/loaders/codex-loader.js +396 -0
  228. package/dist/enforcement/loaders/index.js +40 -0
  229. package/dist/enforcement/loaders/loader-orchestrator.js +168 -0
  230. package/dist/enforcement/loaders/processor-loader.js +113 -0
  231. package/dist/enforcement/rule-enforcer.js +298 -0
  232. package/dist/enforcement/test-auto-healing.js +325 -0
  233. package/dist/enforcement/types.js +30 -0
  234. package/dist/enforcement/validators/architecture-validators.js +600 -0
  235. package/dist/enforcement/validators/base-validator.js +108 -0
  236. package/dist/enforcement/validators/code-quality-validators.js +336 -0
  237. package/dist/enforcement/validators/index.js +21 -0
  238. package/dist/enforcement/validators/security-validators.js +220 -0
  239. package/dist/enforcement/validators/testing-validators.js +253 -0
  240. package/dist/enforcement/validators/validator-registry.js +150 -0
  241. package/dist/execution/opencode-cli-invoker.js +173 -0
  242. package/dist/execution/proposal-applier.js +254 -0
  243. package/dist/governance/codex-policy.service.js +167 -0
  244. package/dist/governance/governance-core.js +152 -0
  245. package/dist/governance/governance-service.js +274 -0
  246. package/dist/governance/governance-types.js +6 -0
  247. package/dist/index.js +24 -0
  248. package/dist/inference/deploy-verifier.js +161 -0
  249. package/dist/inference/index.js +5 -0
  250. package/dist/inference/inference-accumulator.js +126 -0
  251. package/dist/inference/inference-cycle.js +1168 -0
  252. package/dist/inference/semantic-patterns.js +310 -0
  253. package/dist/inference/session-capture.js +308 -0
  254. package/dist/integrations/base/ExampleIntegration.js +181 -0
  255. package/dist/integrations/base/Integration.js +395 -0
  256. package/dist/integrations/base/README.md +446 -0
  257. package/dist/integrations/base/index.js +16 -0
  258. package/dist/integrations/base/registry.js +606 -0
  259. package/dist/integrations/base/types.js +118 -0
  260. package/dist/integrations/governance/governance-client.js +316 -0
  261. package/dist/integrations/governance/index.js +373 -0
  262. package/dist/integrations/governance/types.js +97 -0
  263. package/dist/integrations/grok/grok-cli.js +83 -0
  264. package/dist/integrations/grok/hooks/pre-tool-use.js +134 -0
  265. package/dist/integrations/grok/plugin/0xray/.mcp.json +15 -0
  266. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +30 -0
  267. package/dist/integrations/hermes-agent/__init__.py +718 -0
  268. package/dist/integrations/hermes-agent/after-install.md +71 -0
  269. package/dist/integrations/hermes-agent/bridge.mjs +861 -0
  270. package/dist/integrations/hermes-agent/conftest.py +14 -0
  271. package/dist/integrations/hermes-agent/plugin.yaml +12 -0
  272. package/dist/integrations/hermes-agent/schemas.py +100 -0
  273. package/dist/integrations/hermes-agent/test_plugin.py +1100 -0
  274. package/dist/integrations/hermes-agent/tools.py +253 -0
  275. package/dist/integrations/openclaw/README.md +134 -0
  276. package/dist/integrations/openclaw/api-server.js +389 -0
  277. package/dist/integrations/openclaw/client.js +492 -0
  278. package/dist/integrations/openclaw/config.js +374 -0
  279. package/dist/integrations/openclaw/hooks/strray-hooks.js +280 -0
  280. package/dist/integrations/openclaw/index.js +351 -0
  281. package/dist/integrations/openclaw/types.js +153 -0
  282. package/dist/integrations/plugins/index.js +10 -0
  283. package/dist/integrations/plugins/plugin-integration.js +606 -0
  284. package/dist/integrations/plugins/plugin-registry.js +580 -0
  285. package/dist/mcps/agent-resolver.js +106 -0
  286. package/dist/mcps/architect-tools.server.js +277 -0
  287. package/dist/mcps/auto-format.server.js +413 -0
  288. package/dist/mcps/boot-orchestrator.server.js +853 -0
  289. package/dist/mcps/config/config-loader.js +103 -0
  290. package/dist/mcps/config/config-validator.js +101 -0
  291. package/dist/mcps/config/index.js +30 -0
  292. package/dist/mcps/config/plugin-server-registry.js +223 -0
  293. package/dist/mcps/config/server-config-registry.js +348 -0
  294. package/dist/mcps/connection/connection-manager.js +79 -0
  295. package/dist/mcps/connection/connection-pool.js +164 -0
  296. package/dist/mcps/connection/mcp-connection.js +233 -0
  297. package/dist/mcps/connection/process-spawner.js +34 -0
  298. package/dist/mcps/enforcer-tools.server.js +778 -0
  299. package/dist/mcps/estimation.server.js +192 -0
  300. package/dist/mcps/framework-compliance-audit.server.js +500 -0
  301. package/dist/mcps/framework-help.server.js +400 -0
  302. package/dist/mcps/governance.server.js +464 -0
  303. package/dist/mcps/in-process-skill-registry.js +48 -0
  304. package/dist/mcps/knowledge-skills/api-design.server.js +123 -0
  305. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +113 -0
  306. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +474 -0
  307. package/dist/mcps/knowledge-skills/code-analyzer.server.js +605 -0
  308. package/dist/mcps/knowledge-skills/code-review.server.js +847 -0
  309. package/dist/mcps/knowledge-skills/content-creator.server.js +256 -0
  310. package/dist/mcps/knowledge-skills/database-design.server.js +822 -0
  311. package/dist/mcps/knowledge-skills/devops-deployment.server.js +1180 -0
  312. package/dist/mcps/knowledge-skills/git-workflow.server.js +115 -0
  313. package/dist/mcps/knowledge-skills/growth-strategist.server.js +361 -0
  314. package/dist/mcps/knowledge-skills/log-monitor.server.js +451 -0
  315. package/dist/mcps/knowledge-skills/mobile-development.server.js +525 -0
  316. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1063 -0
  317. package/dist/mcps/knowledge-skills/performance-optimization.server.js +1587 -0
  318. package/dist/mcps/knowledge-skills/project-analysis.server.js +811 -0
  319. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +796 -0
  320. package/dist/mcps/knowledge-skills/security-audit.server.js +846 -0
  321. package/dist/mcps/knowledge-skills/seo-consultant.server.js +937 -0
  322. package/dist/mcps/knowledge-skills/session-management.server.js +470 -0
  323. package/dist/mcps/knowledge-skills/skill-invocation.server.js +729 -0
  324. package/dist/mcps/knowledge-skills/strategist.server.js +217 -0
  325. package/dist/mcps/knowledge-skills/tech-writer.server.js +1191 -0
  326. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +866 -0
  327. package/dist/mcps/knowledge-skills/testing-strategy.server.js +827 -0
  328. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1538 -0
  329. package/dist/mcps/lint.server.js +381 -0
  330. package/dist/mcps/mcp-client.js +574 -0
  331. package/dist/mcps/model-health-check.server.js +228 -0
  332. package/dist/mcps/orchestrator/config/agent-capabilities.js +87 -0
  333. package/dist/mcps/orchestrator/execution/execution-planner.js +279 -0
  334. package/dist/mcps/orchestrator/handlers/complexity-handler.js +94 -0
  335. package/dist/mcps/orchestrator/handlers/status-handler.js +232 -0
  336. package/dist/mcps/orchestrator/handlers/task-handler.js +197 -0
  337. package/dist/mcps/orchestrator/server.js +305 -0
  338. package/dist/mcps/orchestrator/types.js +6 -0
  339. package/dist/mcps/orchestrator.server.js +19 -0
  340. package/dist/mcps/performance-analysis.server.js +519 -0
  341. package/dist/mcps/processor-pipeline.server.js +561 -0
  342. package/dist/mcps/protocol/protocol-constants.js +46 -0
  343. package/dist/mcps/registry.json +110 -0
  344. package/dist/mcps/researcher.server.js +504 -0
  345. package/dist/mcps/security-scan.server.js +531 -0
  346. package/dist/mcps/simulation/index.js +12 -0
  347. package/dist/mcps/simulation/server-simulations.js +219 -0
  348. package/dist/mcps/simulation/simulation-engine.js +96 -0
  349. package/dist/mcps/state-manager.server.js +637 -0
  350. package/dist/mcps/tools/index.js +14 -0
  351. package/dist/mcps/tools/tool-cache.js +112 -0
  352. package/dist/mcps/tools/tool-discovery.js +65 -0
  353. package/dist/mcps/tools/tool-executor.js +75 -0
  354. package/dist/mcps/tools/tool-registry.js +67 -0
  355. package/dist/mcps/types/index.js +15 -0
  356. package/dist/mcps/types/json-rpc.types.js +7 -0
  357. package/dist/mcps/types/mcp.types.js +7 -0
  358. package/dist/metrics/agent-metrics.js +574 -0
  359. package/dist/metrics/index.js +6 -0
  360. package/dist/monitoring/advanced-profiler.js +232 -0
  361. package/dist/monitoring/memory-monitor.js +315 -0
  362. package/dist/monitoring/nudge-watchdog.js +356 -0
  363. package/dist/monitoring/test-auto-generation-monitor.js +157 -0
  364. package/dist/orchestrator/agent-spawn-governor.js +559 -0
  365. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +399 -0
  366. package/dist/orchestrator/intelligent-commit-batcher.js +353 -0
  367. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +456 -0
  368. package/dist/orchestrator/orchestrator.js +657 -0
  369. package/dist/orchestrator/self-direction-activation.js +245 -0
  370. package/dist/orchestrator/universal-librarian-consultation.js +216 -0
  371. package/dist/orchestrator/universal-registry-bridge.js +247 -0
  372. package/dist/performance/performance-budget-enforcer.js +434 -0
  373. package/dist/performance/performance-regression-tester.js +342 -0
  374. package/dist/plugin/xray-codex-injection.js +857 -0
  375. package/dist/postprocessor/PostProcessor.js +1048 -0
  376. package/dist/postprocessor/analysis/FailureAnalysisEngine.js +245 -0
  377. package/dist/postprocessor/autofix/AutoFixEngine.js +254 -0
  378. package/dist/postprocessor/autofix/FixValidator.js +56 -0
  379. package/dist/postprocessor/config.js +65 -0
  380. package/dist/postprocessor/escalation/EscalationEngine.js +492 -0
  381. package/dist/postprocessor/monitoring/MonitoringEngine.js +125 -0
  382. package/dist/postprocessor/redeploy/RedeployCoordinator.js +342 -0
  383. package/dist/postprocessor/services/RegressionAnalysisService.js +131 -0
  384. package/dist/postprocessor/success/SuccessHandler.js +134 -0
  385. package/dist/postprocessor/triggers/APITrigger.js +115 -0
  386. package/dist/postprocessor/triggers/GitHookTrigger.js +551 -0
  387. package/dist/postprocessor/triggers/WebhookTrigger.js +211 -0
  388. package/dist/postprocessor/types.js +4 -0
  389. package/dist/processors/doc-write-guard.js +46 -0
  390. package/dist/processors/implementations/agents-md-validation-processor.js +286 -0
  391. package/dist/processors/implementations/async-pattern-processor.js +158 -0
  392. package/dist/processors/implementations/codex-compliance-processor.js +57 -0
  393. package/dist/processors/implementations/commit-batcher-processor.js +71 -0
  394. package/dist/processors/implementations/console-log-guard-processor.js +163 -0
  395. package/dist/processors/implementations/coverage-analysis-processor.js +138 -0
  396. package/dist/processors/implementations/error-boundary-processor.js +44 -0
  397. package/dist/processors/implementations/inference-improvement-processor.js +270 -0
  398. package/dist/processors/implementations/log-protection-processor.js +118 -0
  399. package/dist/processors/implementations/nudge-processor.js +130 -0
  400. package/dist/processors/implementations/performance-budget-processor.js +217 -0
  401. package/dist/processors/implementations/postprocessor-chain-validator.js +149 -0
  402. package/dist/processors/implementations/pre-validate-processor.js +18 -0
  403. package/dist/processors/implementations/publish-preflight-processor.js +249 -0
  404. package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +33 -0
  405. package/dist/processors/implementations/refactoring-logging-processor.js +96 -0
  406. package/dist/processors/implementations/regression-testing-processor.js +59 -0
  407. package/dist/processors/implementations/session-capture-processor.js +37 -0
  408. package/dist/processors/implementations/session-summary-processor.js +130 -0
  409. package/dist/processors/implementations/spawn-governance-processor.js +219 -0
  410. package/dist/processors/implementations/state-validation-processor.js +15 -0
  411. package/dist/processors/implementations/storytelling-trigger-processor.js +589 -0
  412. package/dist/processors/implementations/test-auto-creation-processor.js +484 -0
  413. package/dist/processors/implementations/test-execution-processor.js +132 -0
  414. package/dist/processors/implementations/typescript-compilation-processor.js +87 -0
  415. package/dist/processors/implementations/version-compliance-processor.js +350 -0
  416. package/dist/processors/processor-interfaces.js +126 -0
  417. package/dist/processors/processor-manager.js +826 -0
  418. package/dist/processors/processor-types.js +12 -0
  419. package/dist/public/about.html +228 -0
  420. package/dist/public/enterprise.html +27 -0
  421. package/dist/public/features.html +102 -0
  422. package/dist/public/index.html +145 -0
  423. package/dist/reporting/framework-reporting-system.js +187 -0
  424. package/dist/reporting/log-parser.js +281 -0
  425. package/dist/reporting/metrics.js +202 -0
  426. package/dist/reporting/report-formatter.js +146 -0
  427. package/dist/reporting/types.js +1 -0
  428. package/dist/scripts/activate-kernel-pipeline.js +101 -0
  429. package/dist/scripts/integration.js +234 -0
  430. package/dist/scripts/pre-command +26 -0
  431. package/dist/scripts/pre-command.mjs +358 -0
  432. package/dist/security/comprehensive-security-audit.js +1005 -0
  433. package/dist/security/index.js +13 -0
  434. package/dist/security/prompt-security-validator.js +148 -0
  435. package/dist/security/security-agent-coordinator.js +204 -0
  436. package/dist/security/security-auditor.js +584 -0
  437. package/dist/security/security-hardener.js +170 -0
  438. package/dist/security/security-hardening-system.js +727 -0
  439. package/dist/security/security-headers.js +118 -0
  440. package/dist/security/security-orchestration-layer.js +496 -0
  441. package/dist/security/security-scanner.js +429 -0
  442. package/dist/services/inference-tuner.js +301 -0
  443. package/dist/session/index.js +3 -0
  444. package/dist/session/session-cleanup-manager.js +366 -0
  445. package/dist/session/session-monitor.js +503 -0
  446. package/dist/session/session-state-manager.js +522 -0
  447. package/dist/skills/api-design/SKILL.md +37 -0
  448. package/dist/skills/architect-tools/SKILL.md +37 -0
  449. package/dist/skills/architecture-patterns/SKILL.md +37 -0
  450. package/dist/skills/auto-format/SKILL.md +37 -0
  451. package/dist/skills/backend-engineer/SKILL.md +49 -0
  452. package/dist/skills/boot-orchestrator/SKILL.md +37 -0
  453. package/dist/skills/bug-triage/SKILL.md +43 -0
  454. package/dist/skills/code-analyzer/SKILL.md +45 -0
  455. package/dist/skills/code-review/SKILL.md +52 -0
  456. package/dist/skills/content-creator/SKILL.md +38 -0
  457. package/dist/skills/database-engineer/SKILL.md +46 -0
  458. package/dist/skills/devops-engineer/SKILL.md +49 -0
  459. package/dist/skills/enforcer/SKILL.md +37 -0
  460. package/dist/skills/framework-compliance-audit/SKILL.md +37 -0
  461. package/dist/skills/frontend-engineer/SKILL.md +49 -0
  462. package/dist/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
  463. package/dist/skills/git-workflow/SKILL.md +37 -0
  464. package/dist/skills/growth-strategist/SKILL.md +48 -0
  465. package/dist/skills/hermes-agent/SKILL.md +212 -0
  466. package/dist/skills/inference-improve/SKILL.md +97 -0
  467. package/dist/skills/lint/SKILL.md +37 -0
  468. package/dist/skills/log-monitor/SKILL.md +44 -0
  469. package/dist/skills/mobile-developer/SKILL.md +42 -0
  470. package/dist/skills/model-health-check/SKILL.md +37 -0
  471. package/dist/skills/multimodal-looker/SKILL.md +45 -0
  472. package/dist/skills/orchestrator/SKILL.md +37 -0
  473. package/dist/skills/performance-analysis/SKILL.md +37 -0
  474. package/dist/skills/performance-engineer/SKILL.md +41 -0
  475. package/dist/skills/performance-optimization/SKILL.md +37 -0
  476. package/dist/skills/processor-pipeline/SKILL.md +37 -0
  477. package/dist/skills/project-analysis/SKILL.md +42 -0
  478. package/dist/skills/refactoring-strategies/SKILL.md +37 -0
  479. package/dist/skills/registry.json +66 -0
  480. package/dist/skills/researcher/SKILL.md +37 -0
  481. package/dist/skills/security-audit/SKILL.md +48 -0
  482. package/dist/skills/security-scan/SKILL.md +37 -0
  483. package/dist/skills/seo-consultant/SKILL.md +43 -0
  484. package/dist/skills/session-management/SKILL.md +36 -0
  485. package/dist/skills/state-manager/SKILL.md +37 -0
  486. package/dist/skills/storyteller/SKILL.md +130 -0
  487. package/dist/skills/strategist/SKILL.md +32 -0
  488. package/dist/skills/tech-writer/SKILL.md +37 -0
  489. package/dist/skills/testing-best-practices/SKILL.md +37 -0
  490. package/dist/skills/testing-strategy/SKILL.md +43 -0
  491. package/dist/skills/ui-ux-design/SKILL.md +603 -0
  492. package/dist/state/context-providers.js +1 -0
  493. package/dist/state/index.js +7 -0
  494. package/dist/state/state-manager.js +208 -0
  495. package/dist/state/state-types.js +1 -0
  496. package/dist/testing/memory-regression-suite.js +258 -0
  497. package/dist/utils/batch-operations.js +292 -0
  498. package/dist/utils/codex-parser.js +445 -0
  499. package/dist/utils/command-runner.js +96 -0
  500. package/dist/utils/import-resolver.js +189 -0
  501. package/dist/utils/language-detector.js +383 -0
  502. package/dist/utils/path-resolver.js +112 -0
  503. package/dist/utils/shutdown-handler.js +75 -0
  504. package/dist/utils/test-template-generator.js +178 -0
  505. package/dist/utils/token-manager.js +163 -0
  506. package/dist/validation/estimation-validator.js +241 -0
  507. package/dist/validation/report-content-validator.js +218 -0
  508. package/opencode.json +153 -0
  509. package/package.json +170 -0
  510. package/scripts/helpers/resolve-config-path.cjs +57 -0
  511. package/scripts/helpers/resolve-config-path.mjs +73 -0
  512. package/scripts/hooks/pre-command +26 -0
  513. package/scripts/hooks/pre-command.mjs +358 -0
  514. package/scripts/hooks/run-hook.js +570 -0
  515. package/scripts/mjs/test-consumer-readiness.mjs +273 -0
  516. package/scripts/mjs/test-mcp-functionality.mjs +507 -0
  517. package/scripts/mjs/validate-mcp-connectivity.cjs +75 -0
  518. package/scripts/mjs/validate-postinstall-config.mjs +308 -0
  519. package/scripts/node/auto-reflection-generator.mjs +496 -0
  520. package/scripts/node/basic-security-audit.cjs +338 -0
  521. package/scripts/node/ci-cd-auto-fix.cjs +263 -0
  522. package/scripts/node/ci-report-generator.mjs +227 -0
  523. package/scripts/node/enforce-agents-md.mjs +420 -0
  524. package/scripts/node/enforce-version-compliance.sh +22 -0
  525. package/scripts/node/enforce-version-compliance.ts +126 -0
  526. package/scripts/node/github-actions-monitor.cjs +23 -0
  527. package/scripts/node/govern-reflection.mjs +160 -0
  528. package/scripts/node/postinstall.cjs +78 -0
  529. package/scripts/node/pre-publish-guard.js +267 -0
  530. package/scripts/node/prepare-consumer.cjs +143 -0
  531. package/scripts/node/reflection-processor.cjs +213 -0
  532. package/scripts/node/reflection-validate.sh +194 -0
  533. package/scripts/node/release-tweet.mjs +39 -0
  534. package/scripts/node/release.js +159 -0
  535. package/scripts/node/release.mjs +213 -0
  536. package/scripts/node/setup-dev.cjs +83 -0
  537. package/scripts/node/setup.cjs +214 -0
  538. package/scripts/node/sync-versions.mjs +140 -0
  539. package/scripts/node/universal-version-manager.js +1025 -0
  540. package/scripts/node/validate-external-processes.js +265 -0
  541. package/scripts/node/validate-mcp-connectivity.js +258 -0
  542. package/scripts/node/version-manager.mjs +524 -0
  543. package/scripts/validate-stringray-comprehensive.js +636 -0
  544. package/src/integrations/grok/plugin/0xray/.mcp.json +15 -0
  545. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +30 -0
  546. package/src/mcps/agent-resolver.ts +168 -0
  547. package/src/mcps/architect-tools.server.ts +343 -0
  548. package/src/mcps/auto-format.server.ts +529 -0
  549. package/src/mcps/boot-orchestrator.server.ts +1082 -0
  550. package/src/mcps/config/__tests__/config-loader.test.ts +338 -0
  551. package/src/mcps/config/__tests__/config-validator.test.ts +646 -0
  552. package/src/mcps/config/__tests__/server-config-registry.test.ts +257 -0
  553. package/src/mcps/config/config-loader.ts +127 -0
  554. package/src/mcps/config/config-validator.ts +127 -0
  555. package/src/mcps/config/index.ts +32 -0
  556. package/src/mcps/config/plugin-server-registry.ts +335 -0
  557. package/src/mcps/config/server-config-registry.ts +395 -0
  558. package/src/mcps/connection/connection-manager.ts +91 -0
  559. package/src/mcps/connection/connection-pool.ts +216 -0
  560. package/src/mcps/connection/mcp-connection.ts +327 -0
  561. package/src/mcps/connection/process-spawner.ts +47 -0
  562. package/src/mcps/enforcer-tools.server.ts +1106 -0
  563. package/src/mcps/estimation.server.ts +229 -0
  564. package/src/mcps/framework-compliance-audit.server.ts +635 -0
  565. package/src/mcps/framework-help.server.ts +467 -0
  566. package/src/mcps/governance.server.ts +551 -0
  567. package/src/mcps/in-process-skill-registry.ts +79 -0
  568. package/src/mcps/knowledge-skills/api-design.server.test.ts +41 -0
  569. package/src/mcps/knowledge-skills/api-design.server.ts +160 -0
  570. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +152 -0
  571. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +624 -0
  572. package/src/mcps/knowledge-skills/code-analyzer.server.test.ts +129 -0
  573. package/src/mcps/knowledge-skills/code-analyzer.server.ts +591 -0
  574. package/src/mcps/knowledge-skills/code-review.server.ts +1132 -0
  575. package/src/mcps/knowledge-skills/content-creator.server.ts +300 -0
  576. package/src/mcps/knowledge-skills/database-design.server.ts +1200 -0
  577. package/src/mcps/knowledge-skills/devops-deployment.server.ts +1622 -0
  578. package/src/mcps/knowledge-skills/git-workflow.server.ts +152 -0
  579. package/src/mcps/knowledge-skills/growth-strategist.server.ts +413 -0
  580. package/src/mcps/knowledge-skills/log-monitor.server.ts +619 -0
  581. package/src/mcps/knowledge-skills/mobile-development.server.ts +672 -0
  582. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +1500 -0
  583. package/src/mcps/knowledge-skills/performance-optimization.server.ts +2065 -0
  584. package/src/mcps/knowledge-skills/project-analysis.server.ts +1111 -0
  585. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +1092 -0
  586. package/src/mcps/knowledge-skills/security-audit.server.test.ts +112 -0
  587. package/src/mcps/knowledge-skills/security-audit.server.ts +1193 -0
  588. package/src/mcps/knowledge-skills/seo-consultant.server.ts +1160 -0
  589. package/src/mcps/knowledge-skills/session-management.server.ts +576 -0
  590. package/src/mcps/knowledge-skills/skill-invocation.server.ts +941 -0
  591. package/src/mcps/knowledge-skills/strategist.server.ts +267 -0
  592. package/src/mcps/knowledge-skills/tech-writer.server.ts +1638 -0
  593. package/src/mcps/knowledge-skills/testing-best-practices.server.test.ts +136 -0
  594. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +1232 -0
  595. package/src/mcps/knowledge-skills/testing-strategy.server.test.ts +100 -0
  596. package/src/mcps/knowledge-skills/testing-strategy.server.ts +1172 -0
  597. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +2076 -0
  598. package/src/mcps/lint.server.ts +483 -0
  599. package/src/mcps/mcp-client.ts +706 -0
  600. package/src/mcps/model-health-check.server.ts +292 -0
  601. package/src/mcps/orchestrator/config/agent-capabilities.ts +108 -0
  602. package/src/mcps/orchestrator/execution/execution-planner.ts +353 -0
  603. package/src/mcps/orchestrator/handlers/complexity-handler.ts +125 -0
  604. package/src/mcps/orchestrator/handlers/status-handler.ts +295 -0
  605. package/src/mcps/orchestrator/handlers/task-handler.ts +268 -0
  606. package/src/mcps/orchestrator/server.ts +388 -0
  607. package/src/mcps/orchestrator/types.ts +81 -0
  608. package/src/mcps/orchestrator.server.ts +34 -0
  609. package/src/mcps/performance-analysis.server.ts +715 -0
  610. package/src/mcps/processor-pipeline.server.ts +778 -0
  611. package/src/mcps/protocol/protocol-constants.ts +51 -0
  612. package/src/mcps/registry.json +110 -0
  613. package/src/mcps/researcher.server.ts +595 -0
  614. package/src/mcps/security-scan.server.ts +651 -0
  615. package/src/mcps/simulation/__tests__/simulation-engine.test.ts +275 -0
  616. package/src/mcps/simulation/index.ts +23 -0
  617. package/src/mcps/simulation/server-simulations.ts +241 -0
  618. package/src/mcps/simulation/simulation-engine.ts +126 -0
  619. package/src/mcps/state-manager.server.ts +777 -0
  620. package/src/mcps/tools/__tests__/tool-cache.test.ts +205 -0
  621. package/src/mcps/tools/__tests__/tool-discovery.test.ts +189 -0
  622. package/src/mcps/tools/__tests__/tool-executor.test.ts +215 -0
  623. package/src/mcps/tools/__tests__/tool-registry.test.ts +230 -0
  624. package/src/mcps/tools/index.ts +15 -0
  625. package/src/mcps/tools/tool-cache.ts +145 -0
  626. package/src/mcps/tools/tool-discovery.ts +83 -0
  627. package/src/mcps/tools/tool-executor.ts +106 -0
  628. package/src/mcps/tools/tool-registry.ts +78 -0
  629. package/src/mcps/types/__tests__/types.test.ts +341 -0
  630. package/src/mcps/types/index.ts +17 -0
  631. package/src/mcps/types/json-rpc.types.ts +38 -0
  632. package/src/mcps/types/mcp.types.ts +115 -0
  633. package/src/opencode/agents/api-design.yml +31 -0
  634. package/src/opencode/agents/architect.yml +15 -0
  635. package/src/opencode/agents/architecture-patterns.yml +14 -0
  636. package/src/opencode/agents/auto-format.yml +14 -0
  637. package/src/opencode/agents/backend-engineer.yml +12 -0
  638. package/src/opencode/agents/boot-orchestrator.yml +14 -0
  639. package/src/opencode/agents/bug-triage-specialist.yml +15 -0
  640. package/src/opencode/agents/code-analyzer.yml +12 -0
  641. package/src/opencode/agents/code-reviewer.yml +14 -0
  642. package/src/opencode/agents/content-creator.yml +12 -0
  643. package/src/opencode/agents/database-engineer.yml +12 -0
  644. package/src/opencode/agents/devops-engineer.yml +12 -0
  645. package/src/opencode/agents/framework-compliance-audit.yml +14 -0
  646. package/src/opencode/agents/frontend-engineer.yml +12 -0
  647. package/src/opencode/agents/frontend-ui-ux-engineer.yml +12 -0
  648. package/src/opencode/agents/git-workflow.yml +15 -0
  649. package/src/opencode/agents/growth-strategist.yml +12 -0
  650. package/src/opencode/agents/hermes-agent.yml +12 -0
  651. package/src/opencode/agents/inference-improve.yml +12 -0
  652. package/src/opencode/agents/lint.yml +14 -0
  653. package/src/opencode/agents/log-monitor.yml +12 -0
  654. package/src/opencode/agents/mobile-developer.yml +12 -0
  655. package/src/opencode/agents/model-health-check.yml +12 -0
  656. package/src/opencode/agents/multimodal-looker.yml +12 -0
  657. package/src/opencode/agents/performance-analysis.yml +12 -0
  658. package/src/opencode/agents/performance-engineer.yml +12 -0
  659. package/src/opencode/agents/performance-optimization.yml +12 -0
  660. package/src/opencode/agents/processor-pipeline.yml +14 -0
  661. package/src/opencode/agents/project-analysis.yml +12 -0
  662. package/src/opencode/agents/refactorer.yml +12 -0
  663. package/src/opencode/agents/researcher.yml +12 -0
  664. package/src/opencode/agents/security-auditor.yml +12 -0
  665. package/src/opencode/agents/security-scan.yml +12 -0
  666. package/src/opencode/agents/seo-consultant.yml +12 -0
  667. package/src/opencode/agents/session-management.yml +12 -0
  668. package/src/opencode/agents/state-manager.yml +12 -0
  669. package/src/opencode/agents/storyteller.yml +12 -0
  670. package/src/opencode/agents/strategist.yml +12 -0
  671. package/src/opencode/agents/tech-writer.yml +12 -0
  672. package/src/opencode/agents/testing-best-practices.yml +12 -0
  673. package/src/opencode/agents/testing-lead.yml +12 -0
  674. package/src/opencode/agents/ui-ux-design.yml +12 -0
  675. package/src/opencode/codex.codex +8 -0
  676. package/src/opencode/commands/auto-format.md +99 -0
  677. package/src/opencode/commands/auto-summary-capture.md +90 -0
  678. package/src/opencode/commands/dependency-audit.md +184 -0
  679. package/src/opencode/commands/enforcer-daily-scan.md +137 -0
  680. package/src/opencode/commands/framework-compliance-audit.md +205 -0
  681. package/src/opencode/commands/interactive-validator.md +75 -0
  682. package/src/opencode/commands/job-summary-logger.md +68 -0
  683. package/src/opencode/commands/lint.md +11 -0
  684. package/src/opencode/commands/mode-switch.md +95 -0
  685. package/src/opencode/commands/model-health-check.md +186 -0
  686. package/src/opencode/commands/performance-analysis.md +144 -0
  687. package/src/opencode/commands/pre-commit-introspection.md +185 -0
  688. package/src/opencode/commands/pre-commit-introspection.sh +133 -0
  689. package/src/opencode/commands/security-scan.md +157 -0
  690. package/src/opencode/commands/sisyphus-validation.md +128 -0
  691. package/src/opencode/commands/summary-logger.md +83 -0
  692. package/src/opencode/enforcer-config.json +285 -0
  693. package/src/opencode/openclaw/config.json +25 -0
  694. package/src/opencode/workflows/post-deployment-audit.yml +123 -0
  695. package/src/skills/api-design/SKILL.md +37 -0
  696. package/src/skills/architect-tools/SKILL.md +37 -0
  697. package/src/skills/architecture-patterns/SKILL.md +37 -0
  698. package/src/skills/auto-format/SKILL.md +37 -0
  699. package/src/skills/backend-engineer/SKILL.md +49 -0
  700. package/src/skills/boot-orchestrator/SKILL.md +37 -0
  701. package/src/skills/bug-triage/SKILL.md +43 -0
  702. package/src/skills/code-analyzer/SKILL.md +45 -0
  703. package/src/skills/code-review/SKILL.md +52 -0
  704. package/src/skills/content-creator/SKILL.md +38 -0
  705. package/src/skills/database-engineer/SKILL.md +46 -0
  706. package/src/skills/devops-engineer/SKILL.md +49 -0
  707. package/src/skills/enforcer/SKILL.md +37 -0
  708. package/src/skills/framework-compliance-audit/SKILL.md +37 -0
  709. package/src/skills/frontend-engineer/SKILL.md +49 -0
  710. package/src/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
  711. package/src/skills/git-workflow/SKILL.md +37 -0
  712. package/src/skills/growth-strategist/SKILL.md +48 -0
  713. package/src/skills/hermes-agent/SKILL.md +212 -0
  714. package/src/skills/inference-improve/SKILL.md +97 -0
  715. package/src/skills/lint/SKILL.md +37 -0
  716. package/src/skills/log-monitor/SKILL.md +44 -0
  717. package/src/skills/mobile-developer/SKILL.md +42 -0
  718. package/src/skills/model-health-check/SKILL.md +37 -0
  719. package/src/skills/multimodal-looker/SKILL.md +45 -0
  720. package/src/skills/orchestrator/SKILL.md +37 -0
  721. package/src/skills/performance-analysis/SKILL.md +37 -0
  722. package/src/skills/performance-engineer/SKILL.md +41 -0
  723. package/src/skills/performance-optimization/SKILL.md +37 -0
  724. package/src/skills/processor-pipeline/SKILL.md +37 -0
  725. package/src/skills/project-analysis/SKILL.md +42 -0
  726. package/src/skills/refactoring-strategies/SKILL.md +37 -0
  727. package/src/skills/registry.json +66 -0
  728. package/src/skills/researcher/SKILL.md +37 -0
  729. package/src/skills/security-audit/SKILL.md +48 -0
  730. package/src/skills/security-scan/SKILL.md +37 -0
  731. package/src/skills/seo-consultant/SKILL.md +43 -0
  732. package/src/skills/session-management/SKILL.md +36 -0
  733. package/src/skills/state-manager/SKILL.md +37 -0
  734. package/src/skills/storyteller/SKILL.md +130 -0
  735. package/src/skills/strategist/SKILL.md +32 -0
  736. package/src/skills/tech-writer/SKILL.md +37 -0
  737. package/src/skills/testing-best-practices/SKILL.md +37 -0
  738. package/src/skills/testing-strategy/SKILL.md +43 -0
  739. package/src/skills/ui-ux-design/SKILL.md +603 -0
@@ -0,0 +1,372 @@
1
+ // Consumer runtime compat shim from prior StringRay releases (1-line min per Scope Rule; primary xray paths + XRAY_||STRRAY_ env + .strray fallbacks)
2
+ import { frameworkLogger } from "../core/framework-logger.js";
3
+ import crypto from "crypto";
4
+ export class StringRayPerformanceBenchmark {
5
+ results = [];
6
+ activeBenchmarks = new Map();
7
+ /**
8
+ * Start a benchmark measurement
9
+ */
10
+ startBenchmark(operation, metadata = {}) {
11
+ const benchmarkId = `${operation}_${Date.now()}_${crypto.randomBytes(4).toString("hex")}`;
12
+ this.activeBenchmarks.set(benchmarkId, {
13
+ startTime: performance.now(),
14
+ metadata,
15
+ });
16
+ return benchmarkId;
17
+ }
18
+ /**
19
+ * End a benchmark measurement
20
+ */
21
+ endBenchmark(benchmarkId, success = true, error) {
22
+ const activeBenchmark = this.activeBenchmarks.get(benchmarkId);
23
+ if (!activeBenchmark) {
24
+ frameworkLogger.log("performance-benchmark", "benchmark-not-found", "warning", { benchmarkId });
25
+ return null;
26
+ }
27
+ const endTime = performance.now();
28
+ const duration = endTime - activeBenchmark.startTime;
29
+ const result = {
30
+ operation: benchmarkId.split("_")[0] || "unknown",
31
+ startTime: activeBenchmark.startTime,
32
+ endTime,
33
+ duration,
34
+ success,
35
+ metadata: activeBenchmark.metadata,
36
+ error,
37
+ };
38
+ this.results.push(result);
39
+ this.activeBenchmarks.delete(benchmarkId);
40
+ return result;
41
+ }
42
+ /**
43
+ * Benchmark boot sequence performance
44
+ */
45
+ async benchmarkBootSequence(_bootOrchestrator) {
46
+ const result = {
47
+ totalBootTime: 0,
48
+ phaseTimings: {},
49
+ componentLoadTimes: {},
50
+ memoryUsage: {
51
+ beforeBoot: 0,
52
+ afterBoot: 0,
53
+ peakDuringBoot: 0,
54
+ },
55
+ success: false,
56
+ errors: [],
57
+ };
58
+ const bootStartTime = performance.now();
59
+ const peakMemory = 0;
60
+ try {
61
+ // Measure initial memory
62
+ result.memoryUsage.beforeBoot = process.memoryUsage().heapUsed;
63
+ // Phase 1: Orchestrator loading
64
+ const orchestratorStart = performance.now();
65
+ const benchmarkId = this.startBenchmark("orchestrator_load");
66
+ // Boot sequence will be executed by the caller
67
+ const orchestratorResult = this.endBenchmark(benchmarkId, true);
68
+ if (orchestratorResult) {
69
+ result.phaseTimings.orchestrator_load = orchestratorResult.duration;
70
+ result.componentLoadTimes.orchestrator = orchestratorResult.duration;
71
+ }
72
+ // Phase 2: Delegation system initialization
73
+ const delegationStart = performance.now();
74
+ const delegationBenchmarkId = this.startBenchmark("delegation_init");
75
+ // This will be measured during actual boot
76
+ const delegationResult = this.endBenchmark(delegationBenchmarkId, true);
77
+ if (delegationResult) {
78
+ result.phaseTimings.delegation_init = delegationResult.duration;
79
+ result.componentLoadTimes.delegation_system = delegationResult.duration;
80
+ }
81
+ // Phase 3: Session management initialization
82
+ const sessionStart = performance.now();
83
+ const sessionBenchmarkId = this.startBenchmark("session_management_init");
84
+ const sessionResult = this.endBenchmark(sessionBenchmarkId, true);
85
+ if (sessionResult) {
86
+ result.phaseTimings.session_management_init = sessionResult.duration;
87
+ result.componentLoadTimes.session_management = sessionResult.duration;
88
+ }
89
+ // Phase 4: Processor activation
90
+ const processorStart = performance.now();
91
+ const processorBenchmarkId = this.startBenchmark("processor_activation");
92
+ const processorResult = this.endBenchmark(processorBenchmarkId, true);
93
+ if (processorResult) {
94
+ result.phaseTimings.processor_activation = processorResult.duration;
95
+ result.componentLoadTimes.processor_pipeline = processorResult.duration;
96
+ }
97
+ // Phase 5: Agent loading
98
+ const agentStart = performance.now();
99
+ const agentBenchmarkId = this.startBenchmark("agent_loading");
100
+ const agentResult = this.endBenchmark(agentBenchmarkId, true);
101
+ if (agentResult) {
102
+ result.phaseTimings.agent_loading = agentResult.duration;
103
+ result.componentLoadTimes.agent_loading = agentResult.duration;
104
+ }
105
+ // Phase 6: Enforcement activation
106
+ const enforcementStart = performance.now();
107
+ const enforcementBenchmarkId = this.startBenchmark("enforcement_activation");
108
+ const enforcementResult = this.endBenchmark(enforcementBenchmarkId, true);
109
+ if (enforcementResult) {
110
+ result.phaseTimings.enforcement_activation = enforcementResult.duration;
111
+ result.componentLoadTimes.enforcement_system =
112
+ enforcementResult.duration;
113
+ }
114
+ // Phase 7: Codex compliance activation
115
+ const codexStart = performance.now();
116
+ const codexBenchmarkId = this.startBenchmark("codex_compliance_activation");
117
+ const codexResult = this.endBenchmark(codexBenchmarkId, true);
118
+ if (codexResult) {
119
+ result.phaseTimings.codex_compliance_activation = codexResult.duration;
120
+ result.componentLoadTimes.codex_compliance = codexResult.duration;
121
+ }
122
+ // Calculate total boot time
123
+ result.totalBootTime = performance.now() - bootStartTime;
124
+ result.memoryUsage.afterBoot = process.memoryUsage().heapUsed;
125
+ result.memoryUsage.peakDuringBoot = peakMemory;
126
+ result.success = true;
127
+ }
128
+ catch (error) {
129
+ result.errors.push(error instanceof Error ? error.message : String(error));
130
+ result.success = false;
131
+ }
132
+ return result;
133
+ }
134
+ /**
135
+ * Benchmark orchestrator task execution
136
+ */
137
+ async benchmarkOrchestratorTasks(_orchestrator, taskCount = 10, concurrentTasks = 3) {
138
+ const result = {
139
+ taskExecutionTimes: [],
140
+ delegationLatencies: [],
141
+ conflictResolutionTimes: [],
142
+ concurrentTaskThroughput: 0,
143
+ dependencyResolutionTime: 0,
144
+ overallSuccess: true,
145
+ };
146
+ try {
147
+ // Benchmark single task execution
148
+ for (let i = 0; i < taskCount; i++) {
149
+ const taskStart = performance.now();
150
+ const benchmarkId = this.startBenchmark(`single_task_${i}`, {
151
+ taskId: `task_${i}`,
152
+ });
153
+ // Simulate task execution
154
+ await new Promise((resolve) => setTimeout(resolve, Math.random() * 100 + 50));
155
+ const taskResult = this.endBenchmark(benchmarkId, true);
156
+ if (taskResult) {
157
+ result.taskExecutionTimes.push(taskResult.duration);
158
+ }
159
+ }
160
+ // Benchmark concurrent task execution
161
+ const concurrentStart = performance.now();
162
+ const concurrentPromises = [];
163
+ for (let i = 0; i < concurrentTasks; i++) {
164
+ const benchmarkId = this.startBenchmark(`concurrent_task_${i}`, {
165
+ concurrent: true,
166
+ });
167
+ const promise = new Promise((resolve) => {
168
+ setTimeout(() => {
169
+ this.endBenchmark(benchmarkId, true);
170
+ resolve();
171
+ }, Math.random() * 200 + 100);
172
+ });
173
+ concurrentPromises.push(promise);
174
+ }
175
+ await Promise.all(concurrentPromises);
176
+ const concurrentEnd = performance.now();
177
+ result.concurrentTaskThroughput =
178
+ concurrentTasks / ((concurrentEnd - concurrentStart) / 1000);
179
+ // Benchmark complex task with dependencies
180
+ const dependencyStart = performance.now();
181
+ const dependencyBenchmarkId = this.startBenchmark("dependency_resolution");
182
+ const complexTasks = [
183
+ {
184
+ id: "task_a",
185
+ description: "Task A",
186
+ subagentType: "architect",
187
+ dependencies: [],
188
+ },
189
+ {
190
+ id: "task_b",
191
+ description: "Task B",
192
+ subagentType: "code-reviewer",
193
+ dependencies: ["task_a"],
194
+ },
195
+ {
196
+ id: "task_c",
197
+ description: "Task C",
198
+ subagentType: "researcher",
199
+ dependencies: ["task_b"],
200
+ },
201
+ ];
202
+ // Simulate dependency resolution
203
+ await new Promise((resolve) => setTimeout(resolve, 150));
204
+ const dependencyResult = this.endBenchmark(dependencyBenchmarkId, true);
205
+ if (dependencyResult) {
206
+ result.dependencyResolutionTime = dependencyResult.duration;
207
+ }
208
+ }
209
+ catch (error) {
210
+ result.overallSuccess = false;
211
+ await frameworkLogger.log("performance-benchmark", "orchestrator-benchmarking-failed", "error", { error: String(error) });
212
+ }
213
+ return result;
214
+ }
215
+ /**
216
+ * Benchmark session management operations
217
+ */
218
+ async benchmarkSessionOperations(_sessionStateManager, operationCount = 20) {
219
+ const result = {
220
+ stateShareLatencies: [],
221
+ dependencyUpdateTimes: [],
222
+ groupOperationTimes: [],
223
+ migrationTimes: [],
224
+ failoverTimes: [],
225
+ concurrentSessionOperations: 0,
226
+ };
227
+ try {
228
+ // Benchmark state sharing
229
+ for (let i = 0; i < operationCount; i++) {
230
+ const shareStart = performance.now();
231
+ const benchmarkId = this.startBenchmark(`state_share_${i}`, {
232
+ operation: "share",
233
+ });
234
+ // Simulate state sharing
235
+ await new Promise((resolve) => setTimeout(resolve, Math.random() * 20 + 5));
236
+ const shareResult = this.endBenchmark(benchmarkId, true);
237
+ if (shareResult) {
238
+ result.stateShareLatencies.push(shareResult.duration);
239
+ }
240
+ }
241
+ // Benchmark dependency operations
242
+ for (let i = 0; i < operationCount / 2; i++) {
243
+ const depStart = performance.now();
244
+ const benchmarkId = this.startBenchmark(`dependency_update_${i}`, {
245
+ operation: "dependency",
246
+ });
247
+ // Simulate dependency update
248
+ await new Promise((resolve) => setTimeout(resolve, Math.random() * 30 + 10));
249
+ const depResult = this.endBenchmark(benchmarkId, true);
250
+ if (depResult) {
251
+ result.dependencyUpdateTimes.push(depResult.duration);
252
+ }
253
+ }
254
+ // Benchmark group operations
255
+ const groupStart = performance.now();
256
+ const groupBenchmarkId = this.startBenchmark("group_operations", {
257
+ operation: "group",
258
+ });
259
+ // Simulate group operations
260
+ await new Promise((resolve) => setTimeout(resolve, 100));
261
+ const groupResult = this.endBenchmark(groupBenchmarkId, true);
262
+ if (groupResult) {
263
+ result.groupOperationTimes.push(groupResult.duration);
264
+ }
265
+ // Benchmark migration simulation
266
+ const migrationStart = performance.now();
267
+ const migrationBenchmarkId = this.startBenchmark("session_migration", {
268
+ operation: "migration",
269
+ });
270
+ // Simulate migration
271
+ await new Promise((resolve) => setTimeout(resolve, 200));
272
+ const migrationResult = this.endBenchmark(migrationBenchmarkId, true);
273
+ if (migrationResult) {
274
+ result.migrationTimes.push(migrationResult.duration);
275
+ }
276
+ }
277
+ catch (error) {
278
+ await frameworkLogger.log("performance-benchmark", "session-benchmarking-failed", "error", { error: String(error) });
279
+ }
280
+ return result;
281
+ }
282
+ /**
283
+ * Calculate performance metrics from benchmark results
284
+ */
285
+ calculateMetrics(operationFilter) {
286
+ const filteredResults = operationFilter
287
+ ? this.results.filter((r) => r.operation.includes(operationFilter))
288
+ : this.results;
289
+ if (filteredResults.length === 0) {
290
+ return {
291
+ totalOperations: 0,
292
+ successfulOperations: 0,
293
+ failedOperations: 0,
294
+ averageDuration: 0,
295
+ medianDuration: 0,
296
+ p95Duration: 0,
297
+ p99Duration: 0,
298
+ minDuration: 0,
299
+ maxDuration: 0,
300
+ throughput: 0,
301
+ };
302
+ }
303
+ const durations = filteredResults
304
+ .map((r) => r.duration)
305
+ .sort((a, b) => a - b);
306
+ const successful = filteredResults.filter((r) => r.success);
307
+ const totalTime = Math.max(...filteredResults.map((r) => r.endTime)) -
308
+ Math.min(...filteredResults.map((r) => r.startTime));
309
+ const avgDuration = durations.length > 0
310
+ ? durations.reduce((a, b) => a + b, 0) / durations.length
311
+ : 0;
312
+ const medianIndex = Math.floor(durations.length / 2);
313
+ const medianDuration = durations.length > 0 ? durations[medianIndex] : 0;
314
+ const p95Index = Math.floor(durations.length * 0.95);
315
+ const p95Duration = durations.length > 0 ? durations[p95Index] : 0;
316
+ const p99Index = Math.floor(durations.length * 0.99);
317
+ const p99Duration = durations.length > 0 ? durations[p99Index] : 0;
318
+ const minDuration = durations.length > 0 ? Math.min(...durations) : 0;
319
+ const maxDuration = durations.length > 0 ? Math.max(...durations) : 0;
320
+ return {
321
+ totalOperations: filteredResults.length,
322
+ successfulOperations: successful.length,
323
+ failedOperations: filteredResults.length - successful.length,
324
+ averageDuration: avgDuration,
325
+ medianDuration,
326
+ p95Duration,
327
+ p99Duration,
328
+ minDuration,
329
+ maxDuration,
330
+ throughput: filteredResults.length / (totalTime / 1000),
331
+ };
332
+ }
333
+ /**
334
+ * Generate comprehensive benchmark report
335
+ */
336
+ generateReport() {
337
+ const summary = this.calculateMetrics();
338
+ const report = {
339
+ summary,
340
+ recommendations: [],
341
+ };
342
+ // Analyze results and generate recommendations
343
+ if (summary.averageDuration > 100) {
344
+ report.recommendations.push("Consider optimizing slow operations (>100ms average)");
345
+ }
346
+ if (summary.failedOperations > 0) {
347
+ report.recommendations.push(`${summary.failedOperations} operations failed - investigate error patterns`);
348
+ }
349
+ if (summary.p95Duration > 500) {
350
+ report.recommendations.push("P95 latency >500ms - consider performance optimizations");
351
+ }
352
+ if (summary.throughput < 10) {
353
+ report.recommendations.push("Low throughput (<10 ops/sec) - evaluate bottlenecks");
354
+ }
355
+ return report;
356
+ }
357
+ /**
358
+ * Clear all benchmark results
359
+ */
360
+ clearResults() {
361
+ this.results = [];
362
+ this.activeBenchmarks.clear();
363
+ }
364
+ /**
365
+ * Export results for external analysis
366
+ */
367
+ exportResults() {
368
+ return [...this.results];
369
+ }
370
+ }
371
+ // Export singleton instance
372
+ export const performanceBenchmark = new StringRayPerformanceBenchmark();
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Analytics Disable CLI Command
3
+ *
4
+ * Disables 0xRay Central Analytics with immediate opt-out
5
+ *
6
+ * Usage: npx 0xray analytics disable
7
+ */
8
+ import { program } from "commander";
9
+ import { ConsentManager } from "../../analytics/consent-manager.js";
10
+ export const analyticsDisableCommand = program
11
+ .command("analytics disable")
12
+ .description("Disable 0xRay Central Analytics (opt-out)")
13
+ .option("-y, --yes", "Skip confirmation prompts", false)
14
+ .action(async (options) => {
15
+ console.log("šŸ”’ Disabling 0xRay Central Analytics...\n");
16
+ try {
17
+ const consentManager = new ConsentManager();
18
+ const currentStatus = await consentManager.initialize();
19
+ // Check if already disabled
20
+ if (!currentStatus.analyticsEnabled) {
21
+ console.log("āœ… Analytics is already disabled!");
22
+ return;
23
+ }
24
+ // Show what will be disabled
25
+ console.log("šŸ“‹ Current Status:");
26
+ console.log(` Project ID: ${currentStatus.projectId}`);
27
+ console.log(` Enabled Categories: ${Object.entries(currentStatus.categories)
28
+ .filter(([_, enabled]) => enabled)
29
+ .map(([cat]) => cat)
30
+ .join(', ')}`);
31
+ console.log(` Submissions will: STOP IMMEDIATELY`);
32
+ // Confirmation
33
+ if (!options.yes) {
34
+ console.log(`\nāš ļø This will immediately stop all data submission.`);
35
+ console.log(` • Existing submission queue will be cleared`);
36
+ console.log(` • Your project ID will be preserved in config`);
37
+ console.log(` • You can re-enable anytime: npx 0xray analytics enable\n`);
38
+ const readline = await import('readline');
39
+ const rl = readline.createInterface({
40
+ input: process.stdin,
41
+ output: process.stdout
42
+ });
43
+ const answer = await new Promise((resolve) => {
44
+ rl.question("Do you want to proceed? (yes/no): ", resolve);
45
+ });
46
+ rl.close();
47
+ if (answer.toLowerCase() !== 'yes' && answer.toLowerCase() !== 'y') {
48
+ console.log("āŒ Consent not disabled. Aborted.");
49
+ return;
50
+ }
51
+ }
52
+ // Disable consent
53
+ await consentManager.disableConsent();
54
+ // Show success
55
+ console.log("\nāœ… Analytics successfully disabled!");
56
+ console.log(`\nšŸ”’ All data submission has stopped.`);
57
+ console.log(`\nšŸ“‹ Your consent configuration:`);
58
+ const updatedStatus = await consentManager.getStatus();
59
+ console.log(` Project ID: ${updatedStatus.projectId}`);
60
+ console.log(` Opt-Out Date: ${updatedStatus.lastOptOut?.toISOString()}`);
61
+ console.log(` Analytics Enabled: ${updatedStatus.analyticsEnabled}`);
62
+ console.log(`\nšŸ’” Re-enable anytime:`);
63
+ console.log(` npx 0xray analytics enable`);
64
+ console.log(`\nšŸ“– Learn more: docs/architecture/central-analytics-store.md`);
65
+ }
66
+ catch (error) {
67
+ console.error("āŒ Failed to disable analytics:", error instanceof Error ? error.message : String(error));
68
+ console.error("\nšŸ’” Try: npx 0xray analytics disable --help");
69
+ process.exit(1);
70
+ }
71
+ });
72
+ export default analyticsDisableCommand;
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Analytics Enable Action
3
+ *
4
+ * Enables 0xRay Central Analytics with opt-in consent
5
+ *
6
+ * Usage: npx 0xray analytics enable [--categories reflections,logs,metrics,patterns]
7
+ */
8
+ import { ConsentManager } from "../../analytics/consent-manager.js";
9
+ export async function analyticsEnableAction(options) {
10
+ console.log("šŸ”“ Enabling 0xRay Central Analytics...\n");
11
+ try {
12
+ const consentManager = new ConsentManager();
13
+ const currentStatus = await consentManager.initialize();
14
+ // Check if already enabled
15
+ if (currentStatus.analyticsEnabled) {
16
+ console.log("āœ… Analytics is already enabled!");
17
+ console.log(`\nCurrent Status:`);
18
+ console.log(` Project ID: ${currentStatus.projectId}`);
19
+ console.log(` Categories: ${Object.entries(currentStatus.categories)
20
+ .filter(([_, enabled]) => enabled)
21
+ .map(([cat]) => cat)
22
+ .join(', ')}`);
23
+ return;
24
+ }
25
+ // Parse categories
26
+ let categories;
27
+ if (options.all) {
28
+ categories = ["reflections", "logs", "metrics", "patterns"];
29
+ }
30
+ else if (options.categories) {
31
+ categories = options.categories.split(',').map((c) => c.trim());
32
+ }
33
+ // Show what will be enabled
34
+ console.log("šŸ“‹ Configuration:");
35
+ console.log(` Categories to enable: ${categories ? categories.join(', ') : 'all'}`);
36
+ console.log(` Project ID will be: ${currentStatus.projectId}`);
37
+ console.log(` Consent version: 1.0`);
38
+ // Confirmation
39
+ if (!options.yes) {
40
+ console.log(`\nāš ļø This will enable anonymous data submission to 0xRay Central Analytics.`);
41
+ console.log(` • Data is anonymized before submission`);
42
+ console.log(` • You can disable anytime with: npx 0xray analytics disable`);
43
+ console.log(` • Preview what would be submitted: npx 0xray analytics preview`);
44
+ console.log(` • Learn more: docs/architecture/central-analytics-store.md\n`);
45
+ const readline = await import('readline');
46
+ const rl = readline.createInterface({
47
+ input: process.stdin,
48
+ output: process.stdout
49
+ });
50
+ const answer = await new Promise((resolve) => {
51
+ rl.question("Do you want to proceed? (yes/no): ", resolve);
52
+ });
53
+ rl.close();
54
+ if (answer.toLowerCase() !== 'yes' && answer.toLowerCase() !== 'y') {
55
+ console.log("āŒ Consent not enabled. Aborted.");
56
+ return;
57
+ }
58
+ }
59
+ // Enable consent
60
+ await consentManager.enableConsent(categories);
61
+ // Show success
62
+ console.log("\nāœ… Analytics successfully enabled!");
63
+ console.log(`\nšŸŽ‰ Your project can now contribute to community learning!`);
64
+ console.log(`\nšŸ“‹ Your consent configuration:`);
65
+ const updatedStatus = await consentManager.getStatus();
66
+ console.log(` Project ID: ${updatedStatus.projectId}`);
67
+ console.log(` Consent Date: ${updatedStatus.consentDate.toISOString()}`);
68
+ console.log(` Categories Enabled: ${Object.entries(updatedStatus.categories)
69
+ .filter(([_, enabled]) => enabled)
70
+ .map(([cat]) => cat)
71
+ .join(', ')}`);
72
+ console.log(`\nšŸ’” Next steps:`);
73
+ console.log(` 1. Check what will be submitted: npx 0xray analytics preview`);
74
+ console.log(` 2. View current status: npx 0xray analytics status`);
75
+ console.log(` 3. Disable anytime: npx 0xray analytics disable`);
76
+ }
77
+ catch (error) {
78
+ console.error("āŒ Failed to enable analytics:", error instanceof Error ? error.message : String(error));
79
+ console.error("\nšŸ’” Try: npx 0xray analytics enable --help");
80
+ process.exit(1);
81
+ }
82
+ }
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Analytics Preview CLI Command
3
+ *
4
+ * Shows what data would be submitted without actually submitting it
5
+ *
6
+ * Usage: npx 0xray analytics preview [--type reflections|logs|metrics|patterns] [--all]
7
+ */
8
+ import { program } from "commander";
9
+ import { ConsentManager } from "../../analytics/consent-manager.js";
10
+ export const analyticsPreviewCommand = program
11
+ .command("analytics preview")
12
+ .description("Preview what data would be submitted (without submitting)")
13
+ .option("-t, --type <type>", "Specific data type to preview", "all")
14
+ .option("--all", "Preview all data types", false)
15
+ .action(async (options) => {
16
+ console.log("šŸ‘ļø 0xRay Central Analytics - Data Preview\n");
17
+ try {
18
+ const consentManager = new ConsentManager();
19
+ const status = await consentManager.initialize();
20
+ // Check if analytics is enabled
21
+ if (!status.analyticsEnabled) {
22
+ console.log("āŒ Analytics is currently disabled.");
23
+ console.log(`\nšŸ’” Enable analytics first: npx 0xray analytics enable`);
24
+ console.log(` Then preview what would be submitted: npx 0xray analytics preview`);
25
+ return;
26
+ }
27
+ console.log("šŸ” This preview shows what anonymized data would be submitted.\n");
28
+ // Show what gets anonymized vs preserved
29
+ console.log("šŸ”’ What Gets REMOVED (Privacy Protection):");
30
+ console.log(" āŒ Project names and company information");
31
+ console.log(" āŒ Repository URLs and file paths");
32
+ console.log(" āŒ User names, emails, and personal identifiers");
33
+ console.log(" āŒ IP addresses and precise timestamps");
34
+ console.log(" āŒ API keys, secrets, and credentials");
35
+ console.log(" āŒ Actual code snippets and proprietary logic");
36
+ console.log("\nāœ… What Gets PRESERVED (For Learning):");
37
+ console.log(" āœ… Agent performance metrics (success rates, confidence scores)");
38
+ console.log(" āœ… Complexity ratings and outcomes");
39
+ console.log(" āœ… Pattern effectiveness data");
40
+ console.log(" āœ… Anonymized emotional/struggle patterns");
41
+ console.log(" āœ… Counterfactual analysis structures");
42
+ // Show anonymization example
43
+ console.log("\nšŸ“Š Anonymization Example:");
44
+ console.log(" šŸ“„ Before (Local - Never Submitted):");
45
+ console.log(" {");
46
+ console.log(` "project": "acme-corp/legacy-system",`);
47
+ console.log(` "reflection": "Fixed bug in user authentication...",`);
48
+ console.log(` "filePath": "/Users/john/projects/legacy/src/auth.ts",`);
49
+ console.log(` "author": "john.doe@acme.com",`);
50
+ console.log(` "code": "function authenticate(user) { ... }"`);
51
+ console.log(" }");
52
+ console.log("\n šŸ“¤ After (Anonymized - What Gets Submitted):");
53
+ console.log(" {");
54
+ console.log(` "submissionId": "uuid-v4",`);
55
+ console.log(` "taskType": "bug_fix",`);
56
+ console.log(` "complexity": 75,`);
57
+ console.log(` "routedAgent": "bug-triage-specialist",`);
58
+ console.log(` "success": true,`);
59
+ console.log(` "emotionalContext": {`);
60
+ console.log(` "struggleLevel": "medium",`);
61
+ console.log(` "hasCounterfactualAnalysis": true,`);
62
+ console.log(` "depthScore": 4`);
63
+ console.log(" },");
64
+ console.log(` "patterns": {`);
65
+ console.log(` "keywords": ["bug", "authentication", "critical"],`);
66
+ console.log(` "successRate": 0.85`);
67
+ console.log(" }");
68
+ console.log(" }");
69
+ // Show enabled categories
70
+ const categories = consentManager.getCategories();
71
+ const enabledCategories = categories.filter(c => c.enabled);
72
+ console.log("\nšŸ“‚ Currently Enabled Categories:");
73
+ enabledCategories.forEach(cat => {
74
+ console.log(` āœ… ${cat.name.padEnd(20)} ${cat.description}`);
75
+ });
76
+ const disabledCategories = categories.filter(c => !c.enabled);
77
+ if (disabledCategories.length > 0) {
78
+ console.log("\nāŒ Disabled Categories (Will Not Be Submitted):");
79
+ disabledCategories.forEach(cat => {
80
+ console.log(` āŒ ${cat.name.padEnd(20)} ${cat.description}`);
81
+ });
82
+ }
83
+ // Show privacy guarantees
84
+ console.log("\nšŸ” Privacy Guarantees:");
85
+ console.log(" āœ… Your data is anonymized before leaving your machine");
86
+ console.log(" āœ… All submissions encrypted in transit (HTTPS/TLS)");
87
+ console.log(" āœ… You can disable anytime: npx 0xray analytics disable");
88
+ console.log(" āœ… Request data deletion anytime");
89
+ console.log(" āœ… Full transparency - see exactly what's submitted");
90
+ console.log("\nšŸ’” Next Steps:");
91
+ console.log(" 1. Review this preview carefully");
92
+ console.log(" 2. Enable specific categories: npx 0xray analytics enable --categories reflections,metrics");
93
+ console.log(" 3. View current status: npx 0xray analytics status");
94
+ console.log(" 4. Learn more: docs/architecture/central-analytics-store.md");
95
+ console.log("\nšŸ“– Documentation:");
96
+ console.log(" • Architecture: docs/architecture/central-analytics-store.md");
97
+ console.log(" • Privacy Policy: [To be published]");
98
+ console.log(" • FAQ: docs/quickstart/central-analytics-quickstart.md");
99
+ }
100
+ catch (error) {
101
+ console.error("āŒ Failed to preview analytics:", error instanceof Error ? error.message : String(error));
102
+ console.error("\nšŸ’” Try: npx 0xray analytics preview --help");
103
+ process.exit(1);
104
+ }
105
+ });
106
+ export default analyticsPreviewCommand;