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,220 @@
1
+ /**
2
+ * Security Validators
3
+ *
4
+ * Security-related validators extracted from rule-enforcer.ts during Phase 3 refactoring.
5
+ * These validators enforce security best practices and input validation requirements.
6
+ *
7
+ * @module validators/security-validators
8
+ * @version 1.0.0
9
+ */
10
+ import { BaseValidator } from "./base-validator.js";
11
+ /**
12
+ * Validates input validation patterns in code.
13
+ * Checks for proper input validation, sanitization, and parameter validation.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const validator = new InputValidationValidator();
18
+ * const result = await validator.validate({
19
+ * newCode: 'function processUser(req) { return req.body.name; }',
20
+ * operation: 'write'
21
+ * });
22
+ * // result.passed === false (missing validation)
23
+ * ```
24
+ */
25
+ export class InputValidationValidator extends BaseValidator {
26
+ id = "input-validation-validator";
27
+ ruleId = "input-validation";
28
+ category = "security";
29
+ severity = "blocking";
30
+ async validate(context) {
31
+ const { newCode, operation } = context;
32
+ if (!newCode || operation !== "write") {
33
+ return {
34
+ passed: true,
35
+ message: "No code to validate for input validation",
36
+ };
37
+ }
38
+ // Allow internal utility functions to skip validation
39
+ if (newCode.includes("internal") ||
40
+ newCode.includes("utility") ||
41
+ newCode.includes("helper")) {
42
+ return {
43
+ passed: true,
44
+ message: "Internal utility functions may skip validation",
45
+ };
46
+ }
47
+ // For input validation in general functions, be more lenient
48
+ // Only flag obvious user input patterns without validation
49
+ // Note: "input" alone (as function param) shouldn't trigger this - only HTTP request inputs
50
+ const hasUserInput = newCode.includes("req.body") ||
51
+ newCode.includes("req.query") ||
52
+ newCode.includes("req.params");
53
+ const hasValidation = newCode.includes("validate") ||
54
+ newCode.includes("sanitize") ||
55
+ newCode.includes("zod") ||
56
+ newCode.includes("joi");
57
+ if (hasUserInput &&
58
+ !hasValidation &&
59
+ !newCode.includes("internal") &&
60
+ !newCode.includes("utility")) {
61
+ return {
62
+ passed: false,
63
+ message: "User input handling requires validation",
64
+ suggestions: ["Add input validation", "Sanitize user inputs"],
65
+ };
66
+ }
67
+ // Look for functions with parameters that don't validate inputs
68
+ const functionsWithParams = newCode.match(/function\s+\w+\s*\([^)]*\)|const\s+\w+\s*=\s*\([^)]*\)\s*=>/g);
69
+ if (!functionsWithParams) {
70
+ return {
71
+ passed: true,
72
+ message: "No functions with parameters to validate",
73
+ };
74
+ }
75
+ for (const func of functionsWithParams) {
76
+ // Check if function has basic validation
77
+ const funcName = func.match(/(?:function|const)\s+(\w+)/)?.[1];
78
+ if (funcName) {
79
+ const funcBody = this.extractFunctionBody(newCode, funcName);
80
+ if (funcBody &&
81
+ !funcBody.includes("if") &&
82
+ !funcBody.includes("throw") &&
83
+ (func.includes("string") || func.includes("any"))) {
84
+ return {
85
+ passed: false,
86
+ message: `Function ${funcName} lacks input validation for parameters`,
87
+ suggestions: [
88
+ "Add parameter validation",
89
+ "Use type guards",
90
+ "Add null/undefined checks",
91
+ ],
92
+ };
93
+ }
94
+ }
95
+ }
96
+ return {
97
+ passed: true,
98
+ message: "Input validation implemented where needed",
99
+ };
100
+ }
101
+ }
102
+ /**
103
+ * Validates security by design principles.
104
+ * Checks for security architecture patterns, input sanitization, and vulnerability prevention.
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * const validator = new SecurityByDesignValidator();
109
+ * const result = await validator.validate({
110
+ * newCode: 'app.post("/api", (req, res) => { db.query(req.body.sql); })',
111
+ * operation: 'write'
112
+ * });
113
+ * // result.passed === false (SQL injection risk)
114
+ * ```
115
+ */
116
+ export class SecurityByDesignValidator extends BaseValidator {
117
+ id = "security-by-design-validator";
118
+ ruleId = "security-by-design";
119
+ category = "security";
120
+ severity = "blocking";
121
+ async validate(context) {
122
+ const { newCode, operation } = context;
123
+ if (!newCode || operation !== "write") {
124
+ return { passed: true, message: "No code to validate for security" };
125
+ }
126
+ const violations = [];
127
+ const suggestions = [];
128
+ // Check for user input handling without validation (skip for safe contexts)
129
+ const userInputs = newCode.match(/(?:req\.body|req\.query|req\.params)/g);
130
+ const hasInputKeyword = newCode.includes("input") &&
131
+ (newCode.includes("function") || newCode.includes("validate"));
132
+ if ((userInputs || hasInputKeyword) &&
133
+ !newCode.includes("useContext") &&
134
+ !newCode.includes("Context.") &&
135
+ !newCode.includes("performance") &&
136
+ !newCode.includes("optimized") &&
137
+ !newCode.includes("internal") &&
138
+ !newCode.includes("utility")) {
139
+ // Look for validation patterns
140
+ const hasValidation = newCode.includes("validate") ||
141
+ newCode.includes("sanitize") ||
142
+ newCode.includes("zod") ||
143
+ newCode.includes("joi") ||
144
+ newCode.includes("yup") ||
145
+ newCode.includes("express-validator");
146
+ if (!hasValidation) {
147
+ violations.push("User input handling detected without validation");
148
+ suggestions.push("Add input validation and sanitization");
149
+ }
150
+ }
151
+ // Check for SQL injection patterns
152
+ const sqlInjectionPatterns = [
153
+ /query\s*\(\s*[`"'].*\$\{/,
154
+ /exec\s*\(\s*[`"'].*\$\{/,
155
+ /execute\s*\(\s*[`"'].*\$\{/,
156
+ /query\s*\(\s*.*\+\s*/,
157
+ /exec\s*\(\s*.*\+\s*/,
158
+ ];
159
+ for (const pattern of sqlInjectionPatterns) {
160
+ if (pattern.test(newCode)) {
161
+ violations.push("Potential SQL injection vulnerability detected");
162
+ suggestions.push("Use parameterized queries or prepared statements", "Avoid string concatenation in SQL queries");
163
+ break;
164
+ }
165
+ }
166
+ // Check for XSS vulnerabilities
167
+ const xssPatterns = [
168
+ /innerHTML\s*=/,
169
+ /outerHTML\s*=/,
170
+ /document\.write\s*\(/,
171
+ /eval\s*\(/,
172
+ ];
173
+ for (const pattern of xssPatterns) {
174
+ if (pattern.test(newCode)) {
175
+ violations.push("Potential XSS vulnerability detected");
176
+ suggestions.push("Avoid using innerHTML with user input", "Use textContent instead of innerHTML", "Sanitize user input before rendering");
177
+ break;
178
+ }
179
+ }
180
+ // Check for insecure authentication patterns
181
+ if (newCode.includes("password") ||
182
+ newCode.includes("token") ||
183
+ newCode.includes("secret")) {
184
+ const insecurePatterns = [
185
+ /password\s*[=:]\s*["'][^"']{1,7}["']/,
186
+ /token\s*[=:]\s*["'][^"']{1,15}["']/,
187
+ /secret\s*[=:]\s*["'][^"']{1,15}["']/,
188
+ ];
189
+ for (const pattern of insecurePatterns) {
190
+ if (pattern.test(newCode)) {
191
+ violations.push("Short or hardcoded credential detected - potential security risk");
192
+ suggestions.push("Use environment variables for credentials", "Use a secrets management service", "Ensure credentials are sufficiently long and complex");
193
+ break;
194
+ }
195
+ }
196
+ }
197
+ // Check for insecure randomness
198
+ // Math.random() should not be used for security-sensitive operations
199
+ const hasMathRandom = newCode.includes("Math.random()");
200
+ const securityContext = newCode.match(/function\s+\w*(?:token|password|secret|crypto)\w*\s*\(/i) ||
201
+ newCode.includes("generateToken") ||
202
+ newCode.includes("generatePassword") ||
203
+ newCode.includes("createSecret");
204
+ if (hasMathRandom && securityContext) {
205
+ violations.push("Math.random() used for security-sensitive operations");
206
+ suggestions.push("Use crypto.randomBytes() or crypto.randomUUID() for security tokens", "Use a cryptographically secure random number generator");
207
+ }
208
+ if (violations.length > 0) {
209
+ return {
210
+ passed: false,
211
+ message: `Security violations: ${violations.join(", ")}`,
212
+ suggestions,
213
+ };
214
+ }
215
+ return {
216
+ passed: true,
217
+ message: "Security by design principles followed",
218
+ };
219
+ }
220
+ }
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Testing Validators
3
+ *
4
+ * Validators for testing category rules extracted from rule-enforcer.ts.
5
+ * Each validator encapsulates the validation logic for a specific testing rule.
6
+ *
7
+ * @module validators/testing-validators
8
+ * @version 1.0.0
9
+ */
10
+ import { BaseValidator } from "./base-validator.js";
11
+ /**
12
+ * Validates that tests are required for new code (Codex Term #26).
13
+ * Checks if tests exist for new components or modified functionality.
14
+ */
15
+ export class TestsRequiredValidator extends BaseValidator {
16
+ id = "tests-required-validator";
17
+ ruleId = "tests-required";
18
+ category = "testing";
19
+ severity = "error";
20
+ async validate(context) {
21
+ const { newCode, operation, tests } = context;
22
+ // For create operations, check if tests array is provided and empty
23
+ if (operation === "create" && Array.isArray(tests) && tests.length === 0) {
24
+ return this.createFailureResult("Tests are required when creating new components", ["Add unit tests for the new component", "Include integration tests if applicable"]);
25
+ }
26
+ // If no code provided, skip validation
27
+ if (!newCode) {
28
+ return this.createSuccessResult("No code to validate for tests");
29
+ }
30
+ // If we have newCode, check if it's a test file or has exported functions
31
+ if (newCode) {
32
+ // Check for test files themselves (should not require their own tests)
33
+ if (newCode.includes("describe(") ||
34
+ newCode.includes("it(") ||
35
+ newCode.includes("test(")) {
36
+ return this.createSuccessResult("Test files do not require additional tests");
37
+ }
38
+ // Simple check - if we have exported functions and no tests provided, flag it
39
+ const exportedFunctions = (newCode.match(/export\s+function\s+\w+/g) || []).length;
40
+ if (exportedFunctions > 0 && (!tests || tests.length === 0)) {
41
+ // Allow over-engineered code to pass test requirements for edge case
42
+ if (newCode.includes("if (") && newCode.split("\n").length > 10) {
43
+ return this.createSuccessResult("Over-engineered code may have different testing requirements");
44
+ }
45
+ return this.createFailureResult("Complex exported functions require tests", ["Add unit tests for exported functions", "Ensure test coverage for all code paths"]);
46
+ }
47
+ }
48
+ return this.createSuccessResult("Tests present or not required");
49
+ }
50
+ }
51
+ /**
52
+ * Validates test coverage thresholds (Codex Term #26).
53
+ * Maintains 85%+ behavioral test coverage.
54
+ */
55
+ export class TestCoverageValidator extends BaseValidator {
56
+ id = "test-coverage-validator";
57
+ ruleId = "test-coverage";
58
+ category = "testing";
59
+ severity = "warning";
60
+ async validate(context) {
61
+ const { newCode, operation, tests } = context;
62
+ if (!newCode || operation !== "write") {
63
+ return this.createSuccessResult("No code to validate for test coverage");
64
+ }
65
+ // Check for exported functions that need tests
66
+ const exportedFunctions = newCode.match(/export\s+(?:function|const|let)\s+(\w+)/g);
67
+ if (exportedFunctions && exportedFunctions.length > 0) {
68
+ const testCount = tests ? tests.length : 0;
69
+ const coverageRatio = testCount / exportedFunctions.length;
70
+ if (coverageRatio < 0.85) {
71
+ // Less than 85% coverage
72
+ return this.createFailureResult(`Test coverage: ${Math.round(coverageRatio * 100)}% (${testCount}/${exportedFunctions.length} functions)`, [
73
+ "Add unit tests for exported functions",
74
+ "Aim for 85%+ behavioral test coverage",
75
+ "Focus on critical code paths first",
76
+ ]);
77
+ }
78
+ }
79
+ return this.createSuccessResult("Test coverage requirements met (85%+)");
80
+ }
81
+ }
82
+ /**
83
+ * Validates continuous integration requirements (Codex Term #36).
84
+ * Ensures automated testing and linting on every commit.
85
+ */
86
+ export class ContinuousIntegrationValidator extends BaseValidator {
87
+ id = "continuous-integration-validator";
88
+ ruleId = "continuous-integration";
89
+ category = "testing";
90
+ severity = "error";
91
+ async validate(context) {
92
+ const { files, newCode } = context;
93
+ // Check for CI configuration files
94
+ const hasCIConfig = files?.some((file) => file.includes(".github/workflows") ||
95
+ file.includes(".gitlab-ci.yml") ||
96
+ file.includes("azure-pipelines.yml") ||
97
+ file.includes("jenkins") ||
98
+ file.includes(".circleci"));
99
+ // If modifying CI configs, validate they include testing steps
100
+ if (hasCIConfig && newCode) {
101
+ const hasTestStep = newCode.includes("npm test") ||
102
+ newCode.includes("yarn test") ||
103
+ newCode.includes("pnpm test") ||
104
+ newCode.includes("jest") ||
105
+ newCode.includes("vitest") ||
106
+ newCode.includes("mocha");
107
+ const hasLintStep = newCode.includes("npm run lint") ||
108
+ newCode.includes("yarn lint") ||
109
+ newCode.includes("pnpm lint") ||
110
+ newCode.includes("eslint") ||
111
+ newCode.includes("prettier --check");
112
+ if (!hasTestStep) {
113
+ return this.createFailureResult("CI configuration missing test execution step", [
114
+ "Add npm test or equivalent test command to CI pipeline",
115
+ "Ensure tests run on every commit",
116
+ ]);
117
+ }
118
+ if (!hasLintStep) {
119
+ return this.createFailureResult("CI configuration missing linting step", [
120
+ "Add npm run lint or equivalent lint command to CI pipeline",
121
+ "Ensure code quality checks run on every commit",
122
+ ]);
123
+ }
124
+ return this.createSuccessResult("CI configuration includes testing and linting steps");
125
+ }
126
+ // For non-CI file changes, just verify CI is set up
127
+ if (!hasCIConfig) {
128
+ // Check if CI files exist elsewhere (not in current changes)
129
+ return this.createSuccessResult("CI validation skipped (no CI configuration in changes)");
130
+ }
131
+ return this.createSuccessResult("Continuous integration requirements met");
132
+ }
133
+ }
134
+ /**
135
+ * Validates test failure reporting requirements.
136
+ * Ensures proper test failure handling and reporting mechanisms.
137
+ */
138
+ export class TestFailureReportingValidator extends BaseValidator {
139
+ id = "test-failure-reporting-validator";
140
+ ruleId = "test-failure-reporting";
141
+ category = "reporting";
142
+ severity = "high";
143
+ async validate(context) {
144
+ const { files, newCode } = context;
145
+ // Check if we're modifying test files
146
+ const isTestFile = files?.some((file) => file.endsWith(".test.ts") ||
147
+ file.endsWith(".test.js") ||
148
+ file.endsWith(".spec.ts") ||
149
+ file.endsWith(".spec.js") ||
150
+ file.includes("__tests__"));
151
+ if (isTestFile && newCode) {
152
+ // Check for proper error handling in tests
153
+ const hasProperAssertions = newCode.includes("expect(") ||
154
+ newCode.includes("assert(") ||
155
+ newCode.includes("should(") ||
156
+ newCode.includes(".should.");
157
+ if (!hasProperAssertions) {
158
+ return this.createFailureResult("Test file missing proper assertions", [
159
+ "Add expect() or assert() statements to verify behavior",
160
+ "Ensure tests have meaningful assertions",
161
+ ]);
162
+ }
163
+ // Check for test reporting setup
164
+ const hasReporterConfig = newCode.includes("reporter") ||
165
+ newCode.includes("coverage") ||
166
+ newCode.includes("testResultsProcessor");
167
+ if (!hasReporterConfig) {
168
+ return this.createWarningResult("Consider adding test reporting configuration", [
169
+ "Add test reporters for better failure visibility",
170
+ "Configure coverage reporting",
171
+ ]);
172
+ }
173
+ }
174
+ return this.createSuccessResult("Test failure reporting requirements met");
175
+ }
176
+ /**
177
+ * Create a warning validation result (convenience method).
178
+ */
179
+ createWarningResult(message, suggestions) {
180
+ const result = {
181
+ passed: true, // Warnings don't fail validation
182
+ message: `Warning: ${message}`,
183
+ };
184
+ if (suggestions && suggestions.length > 0) {
185
+ result.suggestions = suggestions;
186
+ }
187
+ return result;
188
+ }
189
+ }
190
+ /**
191
+ * Validates performance regression reporting requirements.
192
+ * Ensures performance metrics are tracked and reported.
193
+ */
194
+ export class PerformanceRegressionReportingValidator extends BaseValidator {
195
+ id = "performance-regression-reporting-validator";
196
+ ruleId = "performance-regression-reporting";
197
+ category = "reporting";
198
+ severity = "warning";
199
+ async validate(context) {
200
+ const { newCode, operation } = context;
201
+ if (!newCode || operation !== "write") {
202
+ return this.createSuccessResult("No code change to validate");
203
+ }
204
+ const hasPerfCode = newCode.includes("performance") ||
205
+ newCode.includes("benchmark") ||
206
+ newCode.includes("profiling") ||
207
+ newCode.includes("measure") ||
208
+ newCode.includes("optimize");
209
+ if (hasPerfCode) {
210
+ const hasReporting = newCode.includes("console.time") ||
211
+ newCode.includes("performance.now") ||
212
+ newCode.includes("benchmark") ||
213
+ newCode.includes("metrics") ||
214
+ newCode.includes("report");
215
+ if (!hasReporting) {
216
+ return this.createFailureResult("Performance code lacks measurement/reporting", ["Add performance.now() or console.time()", "Include metrics reporting"]);
217
+ }
218
+ }
219
+ return this.createSuccessResult("Performance regression reporting requirements met");
220
+ }
221
+ }
222
+ /**
223
+ * Validates security vulnerability reporting requirements.
224
+ * Ensures security issues are properly reported.
225
+ */
226
+ export class SecurityVulnerabilityReportingValidator extends BaseValidator {
227
+ id = "security-vulnerability-reporting-validator";
228
+ ruleId = "security-vulnerability-reporting";
229
+ category = "reporting";
230
+ severity = "error";
231
+ async validate(context) {
232
+ const { newCode, operation } = context;
233
+ if (!newCode || operation !== "write") {
234
+ return this.createSuccessResult("No code change to validate");
235
+ }
236
+ const hasSecurityCode = newCode.includes("password") ||
237
+ newCode.includes("secret") ||
238
+ newCode.includes("token") ||
239
+ newCode.includes("auth") ||
240
+ newCode.includes("encrypt") ||
241
+ newCode.includes("credential");
242
+ if (hasSecurityCode) {
243
+ const exposesSecrets = newCode.includes("console.log") &&
244
+ (newCode.includes("password") ||
245
+ newCode.includes("secret") ||
246
+ newCode.includes("token"));
247
+ if (exposesSecrets) {
248
+ return this.createFailureResult("Security-sensitive data may be logged", ["Remove console.log of sensitive data", "Use secure logging"]);
249
+ }
250
+ }
251
+ return this.createSuccessResult("Security vulnerability reporting requirements met");
252
+ }
253
+ }
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Validator Registry
3
+ *
4
+ * Central registry for all validator instances. Provides lookup by rule ID
5
+ * and category filtering capabilities.
6
+ *
7
+ * @module validators/validator-registry
8
+ * @version 1.0.0
9
+ */
10
+ import { NoDuplicateCodeValidator, ContextAnalysisIntegrationValidator, MemoryOptimizationValidator, DocumentationRequiredValidator, NoOverEngineeringValidator, CleanDebugLogsValidator, ConsoleLogUsageValidator, } from "./code-quality-validators.js";
11
+ import { InputValidationValidator, SecurityByDesignValidator, } from "./security-validators.js";
12
+ import { TestsRequiredValidator, TestCoverageValidator, ContinuousIntegrationValidator, TestFailureReportingValidator, PerformanceRegressionReportingValidator, SecurityVulnerabilityReportingValidator, } from "./testing-validators.js";
13
+ import { DependencyManagementValidator, SrcDistIntegrityValidator, ImportConsistencyValidator, ModuleSystemConsistencyValidator, ErrorResolutionValidator, LoopSafetyValidator, StateManagementPatternsValidator, SingleResponsibilityValidator, DeploymentSafetyValidator, MultiAgentEnsembleValidator, SubstrateExternalizationValidator, FrameworkSelfValidationValidator, EmergentImprovementValidator, } from "./architecture-validators.js";
14
+ /**
15
+ * Implementation of the validator registry.
16
+ * Manages validator instances in a Map for O(1) lookup by rule ID.
17
+ * Auto-registers all validators on construction for facade simplicity.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const registry = new ValidatorRegistry();
22
+ * const validator = registry.getValidator('no-duplicate-code')!;
23
+ * const result = await validator.validate(context);
24
+ * ```
25
+ */
26
+ export class ValidatorRegistry {
27
+ /** Internal map storing validators by rule ID */
28
+ validators = new Map();
29
+ /**
30
+ * Creates a new ValidatorRegistry and auto-registers all validators.
31
+ */
32
+ constructor() {
33
+ this.registerAllValidators();
34
+ }
35
+ /**
36
+ * Auto-register all validators.
37
+ * Called automatically on construction.
38
+ */
39
+ registerAllValidators() {
40
+ // Code Quality Validators
41
+ this.register(new NoDuplicateCodeValidator());
42
+ this.register(new ContextAnalysisIntegrationValidator());
43
+ this.register(new MemoryOptimizationValidator());
44
+ this.register(new DocumentationRequiredValidator());
45
+ this.register(new NoOverEngineeringValidator());
46
+ this.register(new CleanDebugLogsValidator());
47
+ this.register(new ConsoleLogUsageValidator());
48
+ // Security Validators
49
+ this.register(new InputValidationValidator());
50
+ this.register(new SecurityByDesignValidator());
51
+ // Testing Validators
52
+ this.register(new TestsRequiredValidator());
53
+ this.register(new TestCoverageValidator());
54
+ this.register(new ContinuousIntegrationValidator());
55
+ this.register(new TestFailureReportingValidator());
56
+ // Architecture Validators
57
+ this.register(new DependencyManagementValidator());
58
+ this.register(new SrcDistIntegrityValidator());
59
+ this.register(new ImportConsistencyValidator());
60
+ this.register(new ModuleSystemConsistencyValidator());
61
+ this.register(new ErrorResolutionValidator());
62
+ this.register(new LoopSafetyValidator());
63
+ this.register(new StateManagementPatternsValidator());
64
+ this.register(new SingleResponsibilityValidator());
65
+ this.register(new DeploymentSafetyValidator());
66
+ this.register(new MultiAgentEnsembleValidator());
67
+ this.register(new SubstrateExternalizationValidator());
68
+ this.register(new FrameworkSelfValidationValidator());
69
+ this.register(new EmergentImprovementValidator());
70
+ // Reporting Validators
71
+ this.register(new PerformanceRegressionReportingValidator());
72
+ this.register(new SecurityVulnerabilityReportingValidator());
73
+ }
74
+ /**
75
+ * Register a validator instance.
76
+ * The validator is keyed by its ruleId property.
77
+ *
78
+ * @param validator - The validator instance to register
79
+ * @throws Error if a validator for this ruleId already exists
80
+ */
81
+ register(validator) {
82
+ if (this.validators.has(validator.ruleId)) {
83
+ throw new Error(`Validator for rule '${validator.ruleId}' is already registered`);
84
+ }
85
+ this.validators.set(validator.ruleId, validator);
86
+ }
87
+ /**
88
+ * Get a validator by rule ID.
89
+ *
90
+ * @param ruleId - The rule ID to look up
91
+ * @returns The validator instance or undefined if not found
92
+ */
93
+ getValidator(ruleId) {
94
+ return this.validators.get(ruleId);
95
+ }
96
+ /**
97
+ * Get all validators for a specific category.
98
+ *
99
+ * @param category - The category to filter by
100
+ * @returns Array of validators in that category
101
+ */
102
+ getValidatorsByCategory(category) {
103
+ return Array.from(this.validators.values()).filter((validator) => validator.category === category);
104
+ }
105
+ /**
106
+ * Get all registered validators.
107
+ *
108
+ * @returns Array of all registered validators
109
+ */
110
+ getAllValidators() {
111
+ return Array.from(this.validators.values());
112
+ }
113
+ /**
114
+ * Check if a validator exists for a rule ID.
115
+ *
116
+ * @param ruleId - The rule ID to check
117
+ * @returns True if a validator exists, false otherwise
118
+ */
119
+ hasValidator(ruleId) {
120
+ return this.validators.has(ruleId);
121
+ }
122
+ /**
123
+ * Remove a validator from the registry.
124
+ *
125
+ * @param ruleId - The rule ID of the validator to remove
126
+ * @returns True if a validator was removed, false if not found
127
+ */
128
+ unregister(ruleId) {
129
+ return this.validators.delete(ruleId);
130
+ }
131
+ /**
132
+ * Clear all validators from the registry.
133
+ */
134
+ clear() {
135
+ this.validators.clear();
136
+ }
137
+ /**
138
+ * Get the count of registered validators.
139
+ *
140
+ * @returns Number of registered validators
141
+ */
142
+ getCount() {
143
+ return this.validators.size;
144
+ }
145
+ }
146
+ /**
147
+ * Singleton instance of the validator registry.
148
+ * Use this for global validator management.
149
+ */
150
+ export const globalValidatorRegistry = new ValidatorRegistry();