0xray 4.0.12 → 4.0.13

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 (940) hide show
  1. package/.grok-plugin/plugin.json +1 -1
  2. package/.xray/features.json +1 -1
  3. package/llms.txt +1 -1
  4. package/package.json +1 -1
  5. package/scripts/foundry/CHANGELOG.md +3 -1
  6. package/scripts/foundry/README.md +1 -1
  7. package/scripts/foundry/package.json +1 -1
  8. package/scripts/foundry/plant/agents/inspect.yml +1 -1
  9. package/scripts/foundry/plant/agents/mill.yml +1 -1
  10. package/src/integrations/openclaw/plugin/xray-pre-tool/package.json +1 -1
  11. package/xray/features.json +1 -1
  12. package/.opencode/skills/api-design/SKILL.md +0 -37
  13. package/.opencode/skills/architect-tools/SKILL.md +0 -37
  14. package/.opencode/skills/architecture-patterns/SKILL.md +0 -37
  15. package/.opencode/skills/auto-format/SKILL.md +0 -37
  16. package/.opencode/skills/backend-engineer/SKILL.md +0 -49
  17. package/.opencode/skills/boot-orchestrator/SKILL.md +0 -33
  18. package/.opencode/skills/bug-triage/SKILL.md +0 -43
  19. package/.opencode/skills/code-analyzer/SKILL.md +0 -45
  20. package/.opencode/skills/code-review/SKILL.md +0 -52
  21. package/.opencode/skills/content-creator/SKILL.md +0 -38
  22. package/.opencode/skills/database-engineer/SKILL.md +0 -46
  23. package/.opencode/skills/devops-engineer/SKILL.md +0 -49
  24. package/.opencode/skills/enforcer/SKILL.md +0 -37
  25. package/.opencode/skills/framework-compliance-audit/SKILL.md +0 -37
  26. package/.opencode/skills/frontend-engineer/SKILL.md +0 -49
  27. package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +0 -41
  28. package/.opencode/skills/git-workflow/SKILL.md +0 -37
  29. package/.opencode/skills/growth-strategist/SKILL.md +0 -48
  30. package/.opencode/skills/hermes-agent/SKILL.md +0 -212
  31. package/.opencode/skills/inference-improve/SKILL.md +0 -97
  32. package/.opencode/skills/lint/SKILL.md +0 -37
  33. package/.opencode/skills/log-monitor/SKILL.md +0 -44
  34. package/.opencode/skills/mobile-developer/SKILL.md +0 -42
  35. package/.opencode/skills/model-health-check/SKILL.md +0 -37
  36. package/.opencode/skills/multimodal-looker/SKILL.md +0 -45
  37. package/.opencode/skills/orchestrator/SKILL.md +0 -61
  38. package/.opencode/skills/performance-analysis/SKILL.md +0 -37
  39. package/.opencode/skills/performance-engineer/SKILL.md +0 -41
  40. package/.opencode/skills/performance-optimization/SKILL.md +0 -37
  41. package/.opencode/skills/processor-pipeline/SKILL.md +0 -37
  42. package/.opencode/skills/project-analysis/SKILL.md +0 -42
  43. package/.opencode/skills/refactoring-strategies/SKILL.md +0 -37
  44. package/.opencode/skills/registry.json +0 -65
  45. package/.opencode/skills/researcher/SKILL.md +0 -50
  46. package/.opencode/skills/security-audit/SKILL.md +0 -48
  47. package/.opencode/skills/security-scan/SKILL.md +0 -37
  48. package/.opencode/skills/seo-consultant/SKILL.md +0 -43
  49. package/.opencode/skills/session-management/SKILL.md +0 -36
  50. package/.opencode/skills/state-manager/SKILL.md +0 -37
  51. package/.opencode/skills/storyteller/SKILL.md +0 -130
  52. package/.opencode/skills/strategist/SKILL.md +0 -44
  53. package/.opencode/skills/tech-writer/SKILL.md +0 -37
  54. package/.opencode/skills/testing-best-practices/SKILL.md +0 -37
  55. package/.opencode/skills/testing-strategy/SKILL.md +0 -54
  56. package/.opencode/skills/ui-ux-design/SKILL.md +0 -603
  57. package/.opencode/skills/xray-orchestrator/SKILL.md +0 -141
  58. package/.opencode/skills/xray-orchestrator/index.ts +0 -267
  59. package/dist/.gitignore.default +0 -67
  60. package/dist/AGENTS.md +0 -225
  61. package/dist/CHANGELOG.md +0 -2764
  62. package/dist/LICENSE +0 -21
  63. package/dist/README.md +0 -233
  64. package/dist/SKILLS.md +0 -166
  65. package/dist/agents/architect.d.ts +0 -2
  66. package/dist/agents/architect.js +0 -56
  67. package/dist/agents/backend-engineer.d.ts +0 -8
  68. package/dist/agents/backend-engineer.js +0 -81
  69. package/dist/agents/bug-triage-specialist.d.ts +0 -2
  70. package/dist/agents/bug-triage-specialist.js +0 -74
  71. package/dist/agents/code-analyzer.d.ts +0 -7
  72. package/dist/agents/code-analyzer.js +0 -150
  73. package/dist/agents/code-reviewer.d.ts +0 -2
  74. package/dist/agents/code-reviewer.js +0 -69
  75. package/dist/agents/content-creator.d.ts +0 -9
  76. package/dist/agents/content-creator.js +0 -72
  77. package/dist/agents/database-engineer.d.ts +0 -8
  78. package/dist/agents/database-engineer.js +0 -76
  79. package/dist/agents/devops-engineer.d.ts +0 -8
  80. package/dist/agents/devops-engineer.js +0 -84
  81. package/dist/agents/frontend-engineer.d.ts +0 -8
  82. package/dist/agents/frontend-engineer.js +0 -78
  83. package/dist/agents/frontend-ui-ux-engineer.d.ts +0 -8
  84. package/dist/agents/frontend-ui-ux-engineer.js +0 -64
  85. package/dist/agents/growth-strategist.d.ts +0 -8
  86. package/dist/agents/growth-strategist.js +0 -111
  87. package/dist/agents/index.d.ts +0 -25
  88. package/dist/agents/index.js +0 -47
  89. package/dist/agents/known-names.d.ts +0 -26
  90. package/dist/agents/known-names.js +0 -72
  91. package/dist/agents/librarian-agents-updater.d.ts +0 -30
  92. package/dist/agents/librarian-agents-updater.js +0 -333
  93. package/dist/agents/log-monitor.d.ts +0 -2
  94. package/dist/agents/log-monitor.js +0 -109
  95. package/dist/agents/mobile-developer.d.ts +0 -9
  96. package/dist/agents/mobile-developer.js +0 -102
  97. package/dist/agents/multimodal-looker.d.ts +0 -9
  98. package/dist/agents/multimodal-looker.js +0 -93
  99. package/dist/agents/performance-engineer.d.ts +0 -8
  100. package/dist/agents/performance-engineer.js +0 -86
  101. package/dist/agents/refactorer.d.ts +0 -2
  102. package/dist/agents/refactorer.js +0 -80
  103. package/dist/agents/registry.d.ts +0 -37
  104. package/dist/agents/registry.js +0 -354
  105. package/dist/agents/researcher.d.ts +0 -2
  106. package/dist/agents/researcher.js +0 -83
  107. package/dist/agents/security-auditor.d.ts +0 -2
  108. package/dist/agents/security-auditor.js +0 -158
  109. package/dist/agents/seo-consultant.d.ts +0 -8
  110. package/dist/agents/seo-consultant.js +0 -53
  111. package/dist/agents/strategist.d.ts +0 -7
  112. package/dist/agents/strategist.js +0 -47
  113. package/dist/agents/tech-writer.d.ts +0 -8
  114. package/dist/agents/tech-writer.js +0 -84
  115. package/dist/agents/testing-lead.d.ts +0 -2
  116. package/dist/agents/testing-lead.js +0 -95
  117. package/dist/agents/types.d.ts +0 -45
  118. package/dist/agents/types.js +0 -1
  119. package/dist/analytics/consent-manager.d.ts +0 -92
  120. package/dist/analytics/consent-manager.js +0 -257
  121. package/dist/analytics/emerging-pattern-detector.d.ts +0 -66
  122. package/dist/analytics/emerging-pattern-detector.js +0 -259
  123. package/dist/analytics/pattern-learning-engine.d.ts +0 -79
  124. package/dist/analytics/pattern-learning-engine.js +0 -277
  125. package/dist/analytics/pattern-performance-tracker.d.ts +0 -96
  126. package/dist/analytics/pattern-performance-tracker.js +0 -335
  127. package/dist/analytics/predictive-analytics.d.ts +0 -40
  128. package/dist/analytics/predictive-analytics.js +0 -247
  129. package/dist/analytics/prompt-pattern-analyzer.d.ts +0 -98
  130. package/dist/analytics/prompt-pattern-analyzer.js +0 -370
  131. package/dist/analytics/routing-performance-analyzer.d.ts +0 -100
  132. package/dist/analytics/routing-performance-analyzer.js +0 -355
  133. package/dist/analytics/routing-refiner.d.ts +0 -102
  134. package/dist/analytics/routing-refiner.js +0 -377
  135. package/dist/analytics/simple-pattern-analyzer.d.ts +0 -79
  136. package/dist/analytics/simple-pattern-analyzer.js +0 -296
  137. package/dist/architect/architect-tools.d.ts +0 -70
  138. package/dist/architect/architect-tools.js +0 -437
  139. package/dist/architect/architectural-integrity.d.ts +0 -20
  140. package/dist/architect/architectural-integrity.js +0 -78
  141. package/dist/benchmark/performance-benchmark.d.ts +0 -103
  142. package/dist/benchmark/performance-benchmark.js +0 -373
  143. package/dist/cli/commands/analytics-disable.d.ts +0 -9
  144. package/dist/cli/commands/analytics-disable.js +0 -72
  145. package/dist/cli/commands/analytics-enable-action.d.ts +0 -8
  146. package/dist/cli/commands/analytics-enable-action.js +0 -82
  147. package/dist/cli/commands/analytics-preview.d.ts +0 -9
  148. package/dist/cli/commands/analytics-preview.js +0 -106
  149. package/dist/cli/commands/analytics-status.d.ts +0 -9
  150. package/dist/cli/commands/analytics-status.js +0 -68
  151. package/dist/cli/commands/antigravity-status.d.ts +0 -9
  152. package/dist/cli/commands/antigravity-status.js +0 -106
  153. package/dist/cli/commands/archive-logs.d.ts +0 -23
  154. package/dist/cli/commands/archive-logs.js +0 -160
  155. package/dist/cli/commands/credible-init.d.ts +0 -11
  156. package/dist/cli/commands/credible-init.js +0 -82
  157. package/dist/cli/commands/enforce.d.ts +0 -12
  158. package/dist/cli/commands/enforce.js +0 -78
  159. package/dist/cli/commands/foundry-mint-wear.d.ts +0 -3
  160. package/dist/cli/commands/foundry-mint-wear.js +0 -17
  161. package/dist/cli/commands/govern.d.ts +0 -29
  162. package/dist/cli/commands/govern.js +0 -149
  163. package/dist/cli/commands/grok-install.d.ts +0 -7
  164. package/dist/cli/commands/grok-install.js +0 -16
  165. package/dist/cli/commands/hermes-install.d.ts +0 -2
  166. package/dist/cli/commands/hermes-install.js +0 -90
  167. package/dist/cli/commands/mcp-install.d.ts +0 -4
  168. package/dist/cli/commands/mcp-install.js +0 -253
  169. package/dist/cli/commands/openclaw-install.d.ts +0 -2
  170. package/dist/cli/commands/openclaw-install.js +0 -80
  171. package/dist/cli/commands/opencode-install.d.ts +0 -2
  172. package/dist/cli/commands/opencode-install.js +0 -153
  173. package/dist/cli/commands/plugin-commands.d.ts +0 -18
  174. package/dist/cli/commands/plugin-commands.js +0 -245
  175. package/dist/cli/commands/publish-agent.d.ts +0 -15
  176. package/dist/cli/commands/publish-agent.js +0 -184
  177. package/dist/cli/commands/security-audit.d.ts +0 -23
  178. package/dist/cli/commands/security-audit.js +0 -219
  179. package/dist/cli/commands/skill-install.d.ts +0 -6
  180. package/dist/cli/commands/skill-install.js +0 -522
  181. package/dist/cli/commands/status.d.ts +0 -41
  182. package/dist/cli/commands/status.js +0 -199
  183. package/dist/cli/commands/storyteller.d.ts +0 -19
  184. package/dist/cli/commands/storyteller.js +0 -230
  185. package/dist/cli/index.d.ts +0 -7
  186. package/dist/cli/index.js +0 -996
  187. package/dist/cli/server.d.ts +0 -1
  188. package/dist/cli/server.js +0 -147
  189. package/dist/config/default-agents.d.ts +0 -12
  190. package/dist/config/default-agents.js +0 -16
  191. package/dist/config/routing-mappings.d.ts +0 -26
  192. package/dist/config/routing-mappings.js +0 -151
  193. package/dist/core/activity-logger.d.ts +0 -71
  194. package/dist/core/activity-logger.js +0 -259
  195. package/dist/core/adaptive-kernel.d.ts +0 -108
  196. package/dist/core/adaptive-kernel.js +0 -191
  197. package/dist/core/agent-spawn-gate.d.ts +0 -56
  198. package/dist/core/agent-spawn-gate.js +0 -120
  199. package/dist/core/boot-orchestrator.d.ts +0 -99
  200. package/dist/core/boot-orchestrator.js +0 -809
  201. package/dist/core/bridge.mjs +0 -922
  202. package/dist/core/codex-formatter.d.ts +0 -95
  203. package/dist/core/codex-formatter.js +0 -218
  204. package/dist/core/codex-injector.d.ts +0 -73
  205. package/dist/core/codex-injector.js +0 -423
  206. package/dist/core/config-loader.d.ts +0 -59
  207. package/dist/core/config-loader.js +0 -157
  208. package/dist/core/config-paths.d.ts +0 -66
  209. package/dist/core/config-paths.js +0 -169
  210. package/dist/core/context-loader.d.ts +0 -120
  211. package/dist/core/context-loader.js +0 -268
  212. package/dist/core/context-validator.d.ts +0 -52
  213. package/dist/core/context-validator.js +0 -211
  214. package/dist/core/features-config.d.ts +0 -531
  215. package/dist/core/features-config.js +0 -524
  216. package/dist/core/framework-logger.d.ts +0 -76
  217. package/dist/core/framework-logger.js +0 -275
  218. package/dist/core/index.d.ts +0 -5
  219. package/dist/core/index.js +0 -6
  220. package/dist/core/kernel-patterns.d.ts +0 -129
  221. package/dist/core/kernel-patterns.js +0 -301
  222. package/dist/core/logging-config.d.ts +0 -10
  223. package/dist/core/logging-config.js +0 -43
  224. package/dist/core/model-router.d.ts +0 -56
  225. package/dist/core/model-router.js +0 -134
  226. package/dist/core/orchestrator.d.ts +0 -71
  227. package/dist/core/orchestrator.js +0 -408
  228. package/dist/core/system-prompt-generator.d.ts +0 -34
  229. package/dist/core/system-prompt-generator.js +0 -264
  230. package/dist/core/trace-context.d.ts +0 -12
  231. package/dist/core/trace-context.js +0 -33
  232. package/dist/core/xray-activation.d.ts +0 -14
  233. package/dist/core/xray-activation.js +0 -135
  234. package/dist/delegation/agent-delegator.d.ts +0 -185
  235. package/dist/delegation/agent-delegator.js +0 -768
  236. package/dist/delegation/agent-expertise.d.ts +0 -15
  237. package/dist/delegation/agent-expertise.js +0 -155
  238. package/dist/delegation/analytics/index.d.ts +0 -11
  239. package/dist/delegation/analytics/index.js +0 -11
  240. package/dist/delegation/analytics/learning-engine.d.ts +0 -84
  241. package/dist/delegation/analytics/learning-engine.js +0 -276
  242. package/dist/delegation/analytics/outcome-tracker.d.ts +0 -117
  243. package/dist/delegation/analytics/outcome-tracker.js +0 -278
  244. package/dist/delegation/analytics/routing-analytics.d.ts +0 -60
  245. package/dist/delegation/analytics/routing-analytics.js +0 -192
  246. package/dist/delegation/ast-code-parser.d.ts +0 -173
  247. package/dist/delegation/ast-code-parser.js +0 -877
  248. package/dist/delegation/codebase-context-analyzer.d.ts +0 -164
  249. package/dist/delegation/codebase-context-analyzer.js +0 -1040
  250. package/dist/delegation/complexity-analyzer.d.ts +0 -110
  251. package/dist/delegation/complexity-analyzer.js +0 -281
  252. package/dist/delegation/complexity-core.d.ts +0 -119
  253. package/dist/delegation/complexity-core.js +0 -219
  254. package/dist/delegation/config/types.d.ts +0 -247
  255. package/dist/delegation/config/types.js +0 -6
  256. package/dist/delegation/dependency-graph-builder.d.ts +0 -94
  257. package/dist/delegation/dependency-graph-builder.js +0 -408
  258. package/dist/delegation/index.d.ts +0 -25
  259. package/dist/delegation/index.js +0 -20
  260. package/dist/delegation/metrics-aggregator.d.ts +0 -91
  261. package/dist/delegation/metrics-aggregator.js +0 -334
  262. package/dist/delegation/session-coordinator.d.ts +0 -132
  263. package/dist/delegation/session-coordinator.js +0 -351
  264. package/dist/delegation/strategy-selector.d.ts +0 -27
  265. package/dist/delegation/strategy-selector.js +0 -107
  266. package/dist/delegation/voting-coordinator.d.ts +0 -48
  267. package/dist/delegation/voting-coordinator.js +0 -374
  268. package/dist/delegation/voting-types.d.ts +0 -154
  269. package/dist/delegation/voting-types.js +0 -9
  270. package/dist/delegation/weighted-voting-aggregator.d.ts +0 -36
  271. package/dist/delegation/weighted-voting-aggregator.js +0 -193
  272. package/dist/enforcement/core/index.d.ts +0 -14
  273. package/dist/enforcement/core/index.js +0 -18
  274. package/dist/enforcement/core/rule-executor.d.ts +0 -157
  275. package/dist/enforcement/core/rule-executor.js +0 -364
  276. package/dist/enforcement/core/rule-hierarchy.d.ts +0 -145
  277. package/dist/enforcement/core/rule-hierarchy.js +0 -258
  278. package/dist/enforcement/core/rule-registry.d.ts +0 -196
  279. package/dist/enforcement/core/rule-registry.js +0 -239
  280. package/dist/enforcement/core/violation-fixer.d.ts +0 -105
  281. package/dist/enforcement/core/violation-fixer.js +0 -650
  282. package/dist/enforcement/enforcer-tools.d.ts +0 -85
  283. package/dist/enforcement/enforcer-tools.js +0 -818
  284. package/dist/enforcement/index.d.ts +0 -22
  285. package/dist/enforcement/index.js +0 -40
  286. package/dist/enforcement/loaders/agent-triage-loader.d.ts +0 -98
  287. package/dist/enforcement/loaders/agent-triage-loader.js +0 -221
  288. package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +0 -75
  289. package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -251
  290. package/dist/enforcement/loaders/base-loader.d.ts +0 -82
  291. package/dist/enforcement/loaders/base-loader.js +0 -85
  292. package/dist/enforcement/loaders/codex-loader.d.ts +0 -76
  293. package/dist/enforcement/loaders/codex-loader.js +0 -395
  294. package/dist/enforcement/loaders/index.d.ts +0 -36
  295. package/dist/enforcement/loaders/index.js +0 -39
  296. package/dist/enforcement/loaders/loader-orchestrator.d.ts +0 -96
  297. package/dist/enforcement/loaders/loader-orchestrator.js +0 -167
  298. package/dist/enforcement/loaders/processor-loader.d.ts +0 -59
  299. package/dist/enforcement/loaders/processor-loader.js +0 -112
  300. package/dist/enforcement/rule-enforcer.d.ts +0 -142
  301. package/dist/enforcement/rule-enforcer.js +0 -298
  302. package/dist/enforcement/test-auto-healing.d.ts +0 -83
  303. package/dist/enforcement/test-auto-healing.js +0 -325
  304. package/dist/enforcement/types.d.ts +0 -500
  305. package/dist/enforcement/types.js +0 -29
  306. package/dist/enforcement/validators/architecture-validators.d.ts +0 -154
  307. package/dist/enforcement/validators/architecture-validators.js +0 -599
  308. package/dist/enforcement/validators/base-validator.d.ts +0 -87
  309. package/dist/enforcement/validators/base-validator.js +0 -107
  310. package/dist/enforcement/validators/code-quality-validators.d.ts +0 -88
  311. package/dist/enforcement/validators/code-quality-validators.js +0 -335
  312. package/dist/enforcement/validators/index.d.ts +0 -14
  313. package/dist/enforcement/validators/index.js +0 -20
  314. package/dist/enforcement/validators/security-validators.d.ts +0 -52
  315. package/dist/enforcement/validators/security-validators.js +0 -219
  316. package/dist/enforcement/validators/testing-validators.d.ts +0 -80
  317. package/dist/enforcement/validators/testing-validators.js +0 -252
  318. package/dist/enforcement/validators/validator-registry.d.ts +0 -91
  319. package/dist/enforcement/validators/validator-registry.js +0 -149
  320. package/dist/execution/opencode-cli-invoker.d.ts +0 -8
  321. package/dist/execution/opencode-cli-invoker.js +0 -173
  322. package/dist/execution/proposal-applier.d.ts +0 -24
  323. package/dist/execution/proposal-applier.js +0 -254
  324. package/dist/governance/codex-policy.service.d.ts +0 -56
  325. package/dist/governance/codex-policy.service.js +0 -166
  326. package/dist/governance/governance-core.d.ts +0 -53
  327. package/dist/governance/governance-core.js +0 -168
  328. package/dist/governance/governance-service.d.ts +0 -39
  329. package/dist/governance/governance-service.js +0 -351
  330. package/dist/governance/governance-types.d.ts +0 -90
  331. package/dist/governance/governance-types.js +0 -11
  332. package/dist/governance/llm-governance-provider.d.ts +0 -16
  333. package/dist/governance/llm-governance-provider.js +0 -284
  334. package/dist/governance/local-confer.d.ts +0 -10
  335. package/dist/governance/local-confer.js +0 -27
  336. package/dist/index.d.ts +0 -28
  337. package/dist/index.js +0 -24
  338. package/dist/inference/deploy-verifier.d.ts +0 -26
  339. package/dist/inference/deploy-verifier.js +0 -161
  340. package/dist/inference/index.d.ts +0 -10
  341. package/dist/inference/index.js +0 -5
  342. package/dist/inference/inference-accumulator.d.ts +0 -29
  343. package/dist/inference/inference-accumulator.js +0 -126
  344. package/dist/inference/inference-agent-invoker.d.ts +0 -3
  345. package/dist/inference/inference-agent-invoker.js +0 -67
  346. package/dist/inference/inference-applier.d.ts +0 -4
  347. package/dist/inference/inference-applier.js +0 -178
  348. package/dist/inference/inference-cycle.d.ts +0 -70
  349. package/dist/inference/inference-cycle.js +0 -392
  350. package/dist/inference/inference-proposal-generator.d.ts +0 -3
  351. package/dist/inference/inference-proposal-generator.js +0 -149
  352. package/dist/inference/semantic-patterns.d.ts +0 -7
  353. package/dist/inference/semantic-patterns.js +0 -310
  354. package/dist/inference/session-capture.d.ts +0 -32
  355. package/dist/inference/session-capture.js +0 -308
  356. package/dist/infrastructure/iac-validator.d.ts +0 -150
  357. package/dist/infrastructure/iac-validator.js +0 -465
  358. package/dist/infrastructure/schemas/cloud-schemas.d.ts +0 -482
  359. package/dist/infrastructure/schemas/cloud-schemas.js +0 -488
  360. package/dist/integrations/base/ExampleIntegration.d.ts +0 -46
  361. package/dist/integrations/base/ExampleIntegration.js +0 -180
  362. package/dist/integrations/base/Integration.d.ts +0 -266
  363. package/dist/integrations/base/Integration.js +0 -394
  364. package/dist/integrations/base/README.md +0 -446
  365. package/dist/integrations/base/index.d.ts +0 -11
  366. package/dist/integrations/base/index.js +0 -15
  367. package/dist/integrations/base/registry.d.ts +0 -272
  368. package/dist/integrations/base/registry.js +0 -605
  369. package/dist/integrations/base/types.d.ts +0 -167
  370. package/dist/integrations/base/types.js +0 -117
  371. package/dist/integrations/enforcement-gate.d.ts +0 -44
  372. package/dist/integrations/enforcement-gate.js +0 -348
  373. package/dist/integrations/governance/governance-client.d.ts +0 -75
  374. package/dist/integrations/governance/governance-client.js +0 -315
  375. package/dist/integrations/governance/index.d.ts +0 -98
  376. package/dist/integrations/governance/index.js +0 -365
  377. package/dist/integrations/governance/types.d.ts +0 -238
  378. package/dist/integrations/governance/types.js +0 -96
  379. package/dist/integrations/grok/grok-cli.d.ts +0 -31
  380. package/dist/integrations/grok/grok-cli.js +0 -222
  381. package/dist/integrations/grok/hooks/grok-hook-activity.js +0 -53
  382. package/dist/integrations/grok/hooks/grok-hook-utils.js +0 -372
  383. package/dist/integrations/grok/hooks/post-tool-use.js +0 -118
  384. package/dist/integrations/grok/hooks/pre-tool-use.js +0 -136
  385. package/dist/integrations/grok/hooks/session-start.js +0 -189
  386. package/dist/integrations/grok/plugin/0xray/.mcp.json +0 -35
  387. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +0 -70
  388. package/dist/integrations/hermes-agent/.mcp.json +0 -32
  389. package/dist/integrations/hermes-agent/__init__.py +0 -790
  390. package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
  391. package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
  392. package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
  393. package/dist/integrations/hermes-agent/after-install.md +0 -71
  394. package/dist/integrations/hermes-agent/bridge.mjs +0 -1060
  395. package/dist/integrations/hermes-agent/conftest.py +0 -14
  396. package/dist/integrations/hermes-agent/logs/framework/routing-outcomes.json +0 -1
  397. package/dist/integrations/hermes-agent/plugin.yaml +0 -12
  398. package/dist/integrations/hermes-agent/schemas.py +0 -149
  399. package/dist/integrations/hermes-agent/test_plugin.py +0 -1100
  400. package/dist/integrations/hermes-agent/tools.py +0 -357
  401. package/dist/integrations/hooks/confer-hook-runtime.mjs +0 -49
  402. package/dist/integrations/hooks/delegation-gate-runtime.mjs +0 -110
  403. package/dist/integrations/hooks/pipeline-hook-runtime.mjs +0 -211
  404. package/dist/integrations/hooks/plan-hook-runtime.mjs +0 -68
  405. package/dist/integrations/hooks/station-hook-runtime.cjs +0 -421
  406. package/dist/integrations/hooks/station-hook-runtime.mjs +0 -24
  407. package/dist/integrations/hooks/station-memory-ingest.mjs +0 -45
  408. package/dist/integrations/hooks/station-memory-match.mjs +0 -47
  409. package/dist/integrations/hooks/synthesis-hook-runtime.mjs +0 -50
  410. package/dist/integrations/hooks/user-aside-hook-runtime.mjs +0 -49
  411. package/dist/integrations/openclaw/README.md +0 -134
  412. package/dist/integrations/openclaw/api-server.d.ts +0 -86
  413. package/dist/integrations/openclaw/api-server.js +0 -388
  414. package/dist/integrations/openclaw/client.d.ts +0 -125
  415. package/dist/integrations/openclaw/client.js +0 -499
  416. package/dist/integrations/openclaw/config.d.ts +0 -95
  417. package/dist/integrations/openclaw/config.js +0 -372
  418. package/dist/integrations/openclaw/hooks/pre-tool-gate-runtime.mjs +0 -102
  419. package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +0 -123
  420. package/dist/integrations/openclaw/hooks/xray-hooks.js +0 -279
  421. package/dist/integrations/openclaw/index.d.ts +0 -100
  422. package/dist/integrations/openclaw/index.js +0 -367
  423. package/dist/integrations/openclaw/plugin/xray-pre-tool/index.js +0 -75
  424. package/dist/integrations/openclaw/plugin/xray-pre-tool/openclaw.plugin.json +0 -10
  425. package/dist/integrations/openclaw/plugin/xray-pre-tool/package.json +0 -12
  426. package/dist/integrations/openclaw/pre-tool-gate.d.ts +0 -19
  427. package/dist/integrations/openclaw/pre-tool-gate.js +0 -39
  428. package/dist/integrations/openclaw/types.d.ts +0 -425
  429. package/dist/integrations/openclaw/types.js +0 -152
  430. package/dist/integrations/plugins/index.d.ts +0 -9
  431. package/dist/integrations/plugins/index.js +0 -9
  432. package/dist/integrations/plugins/plugin-integration.d.ts +0 -288
  433. package/dist/integrations/plugins/plugin-integration.js +0 -605
  434. package/dist/integrations/plugins/plugin-registry.d.ts +0 -223
  435. package/dist/integrations/plugins/plugin-registry.js +0 -579
  436. package/dist/mcps/agent-resolver.d.ts +0 -45
  437. package/dist/mcps/agent-resolver.js +0 -105
  438. package/dist/mcps/architect-tools.server.d.ts +0 -16
  439. package/dist/mcps/architect-tools.server.js +0 -217
  440. package/dist/mcps/auto-format.server.d.ts +0 -18
  441. package/dist/mcps/auto-format.server.js +0 -395
  442. package/dist/mcps/boot-orchestrator.server.d.ts +0 -48
  443. package/dist/mcps/boot-orchestrator.server.js +0 -835
  444. package/dist/mcps/config/config-loader.d.ts +0 -56
  445. package/dist/mcps/config/config-loader.js +0 -140
  446. package/dist/mcps/config/config-validator.d.ts +0 -40
  447. package/dist/mcps/config/config-validator.js +0 -101
  448. package/dist/mcps/config/index.d.ts +0 -31
  449. package/dist/mcps/config/index.js +0 -30
  450. package/dist/mcps/config/plugin-server-registry.d.ts +0 -126
  451. package/dist/mcps/config/plugin-server-registry.js +0 -222
  452. package/dist/mcps/config/server-config-registry.d.ts +0 -51
  453. package/dist/mcps/config/server-config-registry.js +0 -349
  454. package/dist/mcps/connection/connection-manager.d.ts +0 -39
  455. package/dist/mcps/connection/connection-manager.js +0 -79
  456. package/dist/mcps/connection/connection-pool.d.ts +0 -64
  457. package/dist/mcps/connection/connection-pool.js +0 -164
  458. package/dist/mcps/connection/mcp-connection.d.ts +0 -66
  459. package/dist/mcps/connection/mcp-connection.js +0 -233
  460. package/dist/mcps/connection/process-spawner.d.ts +0 -24
  461. package/dist/mcps/connection/process-spawner.js +0 -34
  462. package/dist/mcps/enforcer-tools.server.d.ts +0 -26
  463. package/dist/mcps/enforcer-tools.server.js +0 -712
  464. package/dist/mcps/estimation.server.d.ts +0 -19
  465. package/dist/mcps/estimation.server.js +0 -149
  466. package/dist/mcps/framework-compliance-audit.server.d.ts +0 -20
  467. package/dist/mcps/framework-compliance-audit.server.js +0 -471
  468. package/dist/mcps/framework-help.server.d.ts +0 -13
  469. package/dist/mcps/framework-help.server.js +0 -383
  470. package/dist/mcps/governance.server.d.ts +0 -36
  471. package/dist/mcps/governance.server.js +0 -499
  472. package/dist/mcps/in-process-skill-registry.d.ts +0 -20
  473. package/dist/mcps/in-process-skill-registry.js +0 -48
  474. package/dist/mcps/index.d.ts +0 -17
  475. package/dist/mcps/index.js +0 -65
  476. package/dist/mcps/knowledge-skills/api-design.server.d.ts +0 -13
  477. package/dist/mcps/knowledge-skills/api-design.server.js +0 -92
  478. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +0 -13
  479. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +0 -82
  480. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +0 -31
  481. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +0 -434
  482. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +0 -29
  483. package/dist/mcps/knowledge-skills/code-analyzer.server.js +0 -578
  484. package/dist/mcps/knowledge-skills/code-review.server.d.ts +0 -44
  485. package/dist/mcps/knowledge-skills/code-review.server.js +0 -783
  486. package/dist/mcps/knowledge-skills/content-creator.server.d.ts +0 -11
  487. package/dist/mcps/knowledge-skills/content-creator.server.js +0 -234
  488. package/dist/mcps/knowledge-skills/database-design.server.d.ts +0 -41
  489. package/dist/mcps/knowledge-skills/database-design.server.js +0 -788
  490. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +0 -41
  491. package/dist/mcps/knowledge-skills/devops-deployment.server.js +0 -1147
  492. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +0 -13
  493. package/dist/mcps/knowledge-skills/git-workflow.server.js +0 -83
  494. package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +0 -11
  495. package/dist/mcps/knowledge-skills/growth-strategist.server.js +0 -339
  496. package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +0 -22
  497. package/dist/mcps/knowledge-skills/log-monitor.server.js +0 -431
  498. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +0 -17
  499. package/dist/mcps/knowledge-skills/mobile-development.server.js +0 -495
  500. package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +0 -53
  501. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +0 -1028
  502. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +0 -69
  503. package/dist/mcps/knowledge-skills/performance-optimization.server.js +0 -1537
  504. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +0 -35
  505. package/dist/mcps/knowledge-skills/project-analysis.server.js +0 -724
  506. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +0 -31
  507. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +0 -762
  508. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +0 -46
  509. package/dist/mcps/knowledge-skills/security-audit.server.js +0 -684
  510. package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +0 -24
  511. package/dist/mcps/knowledge-skills/seo-consultant.server.js +0 -745
  512. package/dist/mcps/knowledge-skills/session-management.server.d.ts +0 -22
  513. package/dist/mcps/knowledge-skills/session-management.server.js +0 -394
  514. package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +0 -32
  515. package/dist/mcps/knowledge-skills/skill-invocation.server.js +0 -454
  516. package/dist/mcps/knowledge-skills/storyteller.server.d.ts +0 -11
  517. package/dist/mcps/knowledge-skills/storyteller.server.js +0 -167
  518. package/dist/mcps/knowledge-skills/strategist.server.d.ts +0 -15
  519. package/dist/mcps/knowledge-skills/strategist.server.js +0 -172
  520. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +0 -45
  521. package/dist/mcps/knowledge-skills/tech-writer.server.js +0 -1016
  522. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +0 -34
  523. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +0 -694
  524. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +0 -45
  525. package/dist/mcps/knowledge-skills/testing-strategy.server.js +0 -689
  526. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +0 -67
  527. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +0 -1265
  528. package/dist/mcps/lint.server.d.ts +0 -15
  529. package/dist/mcps/lint.server.js +0 -340
  530. package/dist/mcps/mcp-client.d.ts +0 -157
  531. package/dist/mcps/mcp-client.js +0 -574
  532. package/dist/mcps/model-health-check.server.d.ts +0 -14
  533. package/dist/mcps/model-health-check.server.js +0 -201
  534. package/dist/mcps/orchestrator/aside-context.d.ts +0 -21
  535. package/dist/mcps/orchestrator/aside-context.js +0 -207
  536. package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +0 -39
  537. package/dist/mcps/orchestrator/config/agent-capabilities.js +0 -128
  538. package/dist/mcps/orchestrator/config/memory-routing-bridge.d.ts +0 -12
  539. package/dist/mcps/orchestrator/config/memory-routing-bridge.js +0 -71
  540. package/dist/mcps/orchestrator/execution/execution-planner.d.ts +0 -64
  541. package/dist/mcps/orchestrator/execution/execution-planner.js +0 -320
  542. package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +0 -55
  543. package/dist/mcps/orchestrator/handlers/complexity-handler.js +0 -285
  544. package/dist/mcps/orchestrator/handlers/status-handler.d.ts +0 -71
  545. package/dist/mcps/orchestrator/handlers/status-handler.js +0 -239
  546. package/dist/mcps/orchestrator/handlers/task-handler.d.ts +0 -59
  547. package/dist/mcps/orchestrator/handlers/task-handler.js +0 -354
  548. package/dist/mcps/orchestrator/index.d.ts +0 -6
  549. package/dist/mcps/orchestrator/index.js +0 -5
  550. package/dist/mcps/orchestrator/server.d.ts +0 -38
  551. package/dist/mcps/orchestrator/server.js +0 -538
  552. package/dist/mcps/orchestrator/types.d.ts +0 -131
  553. package/dist/mcps/orchestrator/types.js +0 -6
  554. package/dist/mcps/orchestrator.server.d.ts +0 -10
  555. package/dist/mcps/orchestrator.server.js +0 -20
  556. package/dist/mcps/performance-analysis.server.d.ts +0 -25
  557. package/dist/mcps/performance-analysis.server.js +0 -488
  558. package/dist/mcps/processor-pipeline.server.d.ts +0 -29
  559. package/dist/mcps/processor-pipeline.server.js +0 -531
  560. package/dist/mcps/protocol/protocol-constants.d.ts +0 -46
  561. package/dist/mcps/protocol/protocol-constants.js +0 -46
  562. package/dist/mcps/registry.json +0 -109
  563. package/dist/mcps/researcher-confidence.d.ts +0 -21
  564. package/dist/mcps/researcher-confidence.js +0 -92
  565. package/dist/mcps/researcher.server.d.ts +0 -29
  566. package/dist/mcps/researcher.server.js +0 -419
  567. package/dist/mcps/security-scan.server.d.ts +0 -19
  568. package/dist/mcps/security-scan.server.js +0 -517
  569. package/dist/mcps/shared/knowledge-skill-base.d.ts +0 -17
  570. package/dist/mcps/shared/knowledge-skill-base.js +0 -52
  571. package/dist/mcps/shared/prompt-security-validator.d.ts +0 -44
  572. package/dist/mcps/shared/prompt-security-validator.js +0 -148
  573. package/dist/mcps/shared/security-scanner.d.ts +0 -119
  574. package/dist/mcps/shared/security-scanner.js +0 -429
  575. package/dist/mcps/simulation/index.d.ts +0 -12
  576. package/dist/mcps/simulation/index.js +0 -12
  577. package/dist/mcps/simulation/server-simulations.d.ts +0 -39
  578. package/dist/mcps/simulation/server-simulations.js +0 -219
  579. package/dist/mcps/simulation/simulation-engine.d.ts +0 -51
  580. package/dist/mcps/simulation/simulation-engine.js +0 -96
  581. package/dist/mcps/state-manager.server.d.ts +0 -27
  582. package/dist/mcps/state-manager.server.js +0 -609
  583. package/dist/mcps/tools/index.d.ts +0 -14
  584. package/dist/mcps/tools/index.js +0 -14
  585. package/dist/mcps/tools/tool-cache.d.ts +0 -53
  586. package/dist/mcps/tools/tool-cache.js +0 -112
  587. package/dist/mcps/tools/tool-discovery.d.ts +0 -27
  588. package/dist/mcps/tools/tool-discovery.js +0 -65
  589. package/dist/mcps/tools/tool-executor.d.ts +0 -41
  590. package/dist/mcps/tools/tool-executor.js +0 -75
  591. package/dist/mcps/tools/tool-registry.d.ts +0 -42
  592. package/dist/mcps/tools/tool-registry.js +0 -67
  593. package/dist/mcps/types/index.d.ts +0 -13
  594. package/dist/mcps/types/index.js +0 -15
  595. package/dist/mcps/types/json-rpc.types.d.ts +0 -35
  596. package/dist/mcps/types/json-rpc.types.js +0 -7
  597. package/dist/mcps/types/mcp.types.d.ts +0 -105
  598. package/dist/mcps/types/mcp.types.js +0 -7
  599. package/dist/memory-routing/index.d.ts +0 -6
  600. package/dist/memory-routing/index.js +0 -4
  601. package/dist/memory-routing/null-provider.d.ts +0 -14
  602. package/dist/memory-routing/null-provider.js +0 -63
  603. package/dist/memory-routing/provider-loader.d.ts +0 -6
  604. package/dist/memory-routing/provider-loader.js +0 -165
  605. package/dist/memory-routing/provider-registry.d.ts +0 -8
  606. package/dist/memory-routing/provider-registry.js +0 -41
  607. package/dist/memory-routing/types.d.ts +0 -111
  608. package/dist/memory-routing/types.js +0 -7
  609. package/dist/memory-routing/validate-config.d.ts +0 -7
  610. package/dist/memory-routing/validate-config.js +0 -32
  611. package/dist/metrics/agent-metrics.d.ts +0 -169
  612. package/dist/metrics/agent-metrics.js +0 -574
  613. package/dist/metrics/index.d.ts +0 -6
  614. package/dist/metrics/index.js +0 -6
  615. package/dist/monitoring/advanced-profiler.d.ts +0 -51
  616. package/dist/monitoring/advanced-profiler.js +0 -232
  617. package/dist/monitoring/memory-monitor.d.ts +0 -113
  618. package/dist/monitoring/memory-monitor.js +0 -315
  619. package/dist/monitoring/nudge-watchdog.d.ts +0 -87
  620. package/dist/monitoring/nudge-watchdog.js +0 -355
  621. package/dist/monitoring/test-auto-generation-monitor.d.ts +0 -64
  622. package/dist/monitoring/test-auto-generation-monitor.js +0 -157
  623. package/dist/nucleus/aside-worktree.d.ts +0 -41
  624. package/dist/nucleus/aside-worktree.js +0 -164
  625. package/dist/nucleus/autonomy-kernel.d.ts +0 -55
  626. package/dist/nucleus/autonomy-kernel.js +0 -234
  627. package/dist/nucleus/confer.d.ts +0 -57
  628. package/dist/nucleus/confer.js +0 -322
  629. package/dist/nucleus/default-plugins.d.ts +0 -17
  630. package/dist/nucleus/default-plugins.js +0 -173
  631. package/dist/nucleus/delegation-gate.d.ts +0 -105
  632. package/dist/nucleus/delegation-gate.js +0 -582
  633. package/dist/nucleus/govern-http.d.ts +0 -59
  634. package/dist/nucleus/govern-http.js +0 -175
  635. package/dist/nucleus/index.d.ts +0 -17
  636. package/dist/nucleus/index.js +0 -12
  637. package/dist/nucleus/kernel.d.ts +0 -51
  638. package/dist/nucleus/kernel.js +0 -62
  639. package/dist/nucleus/lead-dev-plan-persistence.d.ts +0 -70
  640. package/dist/nucleus/lead-dev-plan-persistence.js +0 -402
  641. package/dist/nucleus/pending-delegations.d.ts +0 -71
  642. package/dist/nucleus/pending-delegations.js +0 -285
  643. package/dist/nucleus/plugin-registry.d.ts +0 -132
  644. package/dist/nucleus/plugin-registry.js +0 -175
  645. package/dist/nucleus/spawn-plan-resolution.d.ts +0 -20
  646. package/dist/nucleus/spawn-plan-resolution.js +0 -42
  647. package/dist/nucleus/suit-temperament.d.ts +0 -40
  648. package/dist/nucleus/suit-temperament.js +0 -157
  649. package/dist/nucleus/synthesis-completion.d.ts +0 -6
  650. package/dist/nucleus/synthesis-completion.js +0 -29
  651. package/dist/nucleus/synthesis-consult-receipt.d.ts +0 -32
  652. package/dist/nucleus/synthesis-consult-receipt.js +0 -171
  653. package/dist/nucleus/synthesis-context.d.ts +0 -31
  654. package/dist/nucleus/synthesis-context.js +0 -86
  655. package/dist/nucleus/synthesis.d.ts +0 -54
  656. package/dist/nucleus/synthesis.js +0 -196
  657. package/dist/nucleus/thin-dispatch.d.ts +0 -33
  658. package/dist/nucleus/thin-dispatch.js +0 -85
  659. package/dist/nucleus/user-aside.d.ts +0 -70
  660. package/dist/nucleus/user-aside.js +0 -393
  661. package/dist/orchestrator/agent-spawn-governor.d.ts +0 -126
  662. package/dist/orchestrator/agent-spawn-governor.js +0 -558
  663. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +0 -156
  664. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +0 -399
  665. package/dist/orchestrator/intelligent-commit-batcher.d.ts +0 -114
  666. package/dist/orchestrator/intelligent-commit-batcher.js +0 -344
  667. package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +0 -126
  668. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +0 -455
  669. package/dist/orchestrator/orchestrator.d.ts +0 -141
  670. package/dist/orchestrator/orchestrator.js +0 -648
  671. package/dist/orchestrator/self-direction-activation.d.ts +0 -108
  672. package/dist/orchestrator/self-direction-activation.js +0 -244
  673. package/dist/orchestrator/universal-librarian-consultation.d.ts +0 -98
  674. package/dist/orchestrator/universal-librarian-consultation.js +0 -216
  675. package/dist/orchestrator/universal-registry-bridge.d.ts +0 -84
  676. package/dist/orchestrator/universal-registry-bridge.js +0 -246
  677. package/dist/performance/performance-budget-enforcer.d.ts +0 -157
  678. package/dist/performance/performance-budget-enforcer.js +0 -433
  679. package/dist/performance/performance-regression-tester.d.ts +0 -107
  680. package/dist/performance/performance-regression-tester.js +0 -341
  681. package/dist/plugin/plugin-codex-context.d.ts +0 -18
  682. package/dist/plugin/plugin-codex-context.js +0 -87
  683. package/dist/plugin/plugin-helpers.d.ts +0 -23
  684. package/dist/plugin/plugin-helpers.js +0 -155
  685. package/dist/plugin/plugin-logger.d.ts +0 -8
  686. package/dist/plugin/plugin-logger.js +0 -46
  687. package/dist/plugin/plugin-modules.d.ts +0 -11
  688. package/dist/plugin/plugin-modules.js +0 -144
  689. package/dist/plugin/plugin-quality-gate.d.ts +0 -11
  690. package/dist/plugin/plugin-quality-gate.js +0 -88
  691. package/dist/plugin/plugin-types.d.ts +0 -93
  692. package/dist/plugin/plugin-types.js +0 -1
  693. package/dist/plugin/xray-codex-injection.d.ts +0 -39
  694. package/dist/plugin/xray-codex-injection.js +0 -399
  695. package/dist/postprocessor/PostProcessor.d.ts +0 -108
  696. package/dist/postprocessor/PostProcessor.js +0 -1053
  697. package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +0 -11
  698. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +0 -50
  699. package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +0 -39
  700. package/dist/postprocessor/analysis/FailureAnalysisEngine.js +0 -245
  701. package/dist/postprocessor/autofix/AutoFixEngine.d.ts +0 -48
  702. package/dist/postprocessor/autofix/AutoFixEngine.js +0 -254
  703. package/dist/postprocessor/autofix/FixValidator.d.ts +0 -23
  704. package/dist/postprocessor/autofix/FixValidator.js +0 -56
  705. package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +0 -44
  706. package/dist/postprocessor/config/ProcessorConfigLoader.js +0 -16
  707. package/dist/postprocessor/config.d.ts +0 -6
  708. package/dist/postprocessor/config.js +0 -65
  709. package/dist/postprocessor/escalation/EscalationEngine.d.ts +0 -154
  710. package/dist/postprocessor/escalation/EscalationEngine.js +0 -492
  711. package/dist/postprocessor/integration.d.ts +0 -156
  712. package/dist/postprocessor/integration.js +0 -194
  713. package/dist/postprocessor/metamorphosis/SelfProposalEngine.d.ts +0 -87
  714. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +0 -472
  715. package/dist/postprocessor/metamorphosis/index.d.ts +0 -2
  716. package/dist/postprocessor/metamorphosis/index.js +0 -1
  717. package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +0 -40
  718. package/dist/postprocessor/monitoring/MonitoringEngine.js +0 -125
  719. package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +0 -91
  720. package/dist/postprocessor/redeploy/RedeployCoordinator.js +0 -342
  721. package/dist/postprocessor/redeploy/RetryHandler.d.ts +0 -49
  722. package/dist/postprocessor/redeploy/RetryHandler.js +0 -118
  723. package/dist/postprocessor/services/RegressionAnalysisService.d.ts +0 -39
  724. package/dist/postprocessor/services/RegressionAnalysisService.js +0 -130
  725. package/dist/postprocessor/success/SuccessHandler.d.ts +0 -57
  726. package/dist/postprocessor/success/SuccessHandler.js +0 -134
  727. package/dist/postprocessor/triggers/APITrigger.d.ts +0 -34
  728. package/dist/postprocessor/triggers/APITrigger.js +0 -114
  729. package/dist/postprocessor/triggers/GitHookTrigger.d.ts +0 -38
  730. package/dist/postprocessor/triggers/GitHookTrigger.js +0 -557
  731. package/dist/postprocessor/triggers/WebhookTrigger.d.ts +0 -46
  732. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -210
  733. package/dist/postprocessor/types.d.ts +0 -227
  734. package/dist/postprocessor/types.js +0 -4
  735. package/dist/processors/doc-write-guard.d.ts +0 -6
  736. package/dist/processors/doc-write-guard.js +0 -46
  737. package/dist/processors/implementations/agents-md-validation-processor.d.ts +0 -62
  738. package/dist/processors/implementations/agents-md-validation-processor.js +0 -285
  739. package/dist/processors/implementations/async-pattern-processor.d.ts +0 -47
  740. package/dist/processors/implementations/async-pattern-processor.js +0 -157
  741. package/dist/processors/implementations/codex-compliance-processor.d.ts +0 -7
  742. package/dist/processors/implementations/codex-compliance-processor.js +0 -57
  743. package/dist/processors/implementations/commit-batcher-processor.d.ts +0 -13
  744. package/dist/processors/implementations/commit-batcher-processor.js +0 -71
  745. package/dist/processors/implementations/console-log-guard-processor.d.ts +0 -32
  746. package/dist/processors/implementations/console-log-guard-processor.js +0 -162
  747. package/dist/processors/implementations/coverage-analysis-processor.d.ts +0 -19
  748. package/dist/processors/implementations/coverage-analysis-processor.js +0 -137
  749. package/dist/processors/implementations/error-boundary-processor.d.ts +0 -7
  750. package/dist/processors/implementations/error-boundary-processor.js +0 -44
  751. package/dist/processors/implementations/inference-improvement-processor.d.ts +0 -36
  752. package/dist/processors/implementations/inference-improvement-processor.js +0 -262
  753. package/dist/processors/implementations/log-protection-processor.d.ts +0 -29
  754. package/dist/processors/implementations/log-protection-processor.js +0 -117
  755. package/dist/processors/implementations/nudge-processor.d.ts +0 -21
  756. package/dist/processors/implementations/nudge-processor.js +0 -129
  757. package/dist/processors/implementations/performance-budget-processor.d.ts +0 -49
  758. package/dist/processors/implementations/performance-budget-processor.js +0 -216
  759. package/dist/processors/implementations/postprocessor-chain-validator.d.ts +0 -45
  760. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -148
  761. package/dist/processors/implementations/pre-validate-processor.d.ts +0 -7
  762. package/dist/processors/implementations/pre-validate-processor.js +0 -18
  763. package/dist/processors/implementations/publish-preflight-processor.d.ts +0 -37
  764. package/dist/processors/implementations/publish-preflight-processor.js +0 -240
  765. package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +0 -7
  766. package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +0 -33
  767. package/dist/processors/implementations/refactoring-logging-processor.d.ts +0 -31
  768. package/dist/processors/implementations/refactoring-logging-processor.js +0 -96
  769. package/dist/processors/implementations/regression-testing-processor.d.ts +0 -20
  770. package/dist/processors/implementations/regression-testing-processor.js +0 -59
  771. package/dist/processors/implementations/session-capture-processor.d.ts +0 -14
  772. package/dist/processors/implementations/session-capture-processor.js +0 -37
  773. package/dist/processors/implementations/session-summary-processor.d.ts +0 -26
  774. package/dist/processors/implementations/session-summary-processor.js +0 -125
  775. package/dist/processors/implementations/spawn-governance-processor.d.ts +0 -57
  776. package/dist/processors/implementations/spawn-governance-processor.js +0 -218
  777. package/dist/processors/implementations/state-validation-processor.d.ts +0 -11
  778. package/dist/processors/implementations/state-validation-processor.js +0 -15
  779. package/dist/processors/implementations/storytelling-trigger-processor.d.ts +0 -40
  780. package/dist/processors/implementations/storytelling-trigger-processor.js +0 -563
  781. package/dist/processors/implementations/test-auto-creation-processor.d.ts +0 -16
  782. package/dist/processors/implementations/test-auto-creation-processor.js +0 -483
  783. package/dist/processors/implementations/test-execution-processor.d.ts +0 -11
  784. package/dist/processors/implementations/test-execution-processor.js +0 -132
  785. package/dist/processors/implementations/typescript-compilation-processor.d.ts +0 -37
  786. package/dist/processors/implementations/typescript-compilation-processor.js +0 -86
  787. package/dist/processors/implementations/version-compliance-processor.d.ts +0 -80
  788. package/dist/processors/implementations/version-compliance-processor.js +0 -222
  789. package/dist/processors/processor-interfaces.d.ts +0 -126
  790. package/dist/processors/processor-interfaces.js +0 -125
  791. package/dist/processors/processor-manager.d.ts +0 -80
  792. package/dist/processors/processor-manager.js +0 -826
  793. package/dist/processors/processor-types.d.ts +0 -189
  794. package/dist/processors/processor-types.js +0 -11
  795. package/dist/public/XrayService.d.ts +0 -17
  796. package/dist/public/XrayService.js +0 -40
  797. package/dist/public/about.html +0 -228
  798. package/dist/public/enterprise.html +0 -27
  799. package/dist/public/features.html +0 -102
  800. package/dist/public/index.d.ts +0 -4
  801. package/dist/public/index.html +0 -145
  802. package/dist/public/index.js +0 -2
  803. package/dist/reporting/framework-reporting-system.d.ts +0 -19
  804. package/dist/reporting/framework-reporting-system.js +0 -187
  805. package/dist/reporting/log-parser.d.ts +0 -10
  806. package/dist/reporting/log-parser.js +0 -281
  807. package/dist/reporting/metrics.d.ts +0 -15
  808. package/dist/reporting/metrics.js +0 -202
  809. package/dist/reporting/report-formatter.d.ts +0 -5
  810. package/dist/reporting/report-formatter.js +0 -146
  811. package/dist/reporting/types.d.ts +0 -102
  812. package/dist/reporting/types.js +0 -1
  813. package/dist/scripts/activate-kernel-pipeline.d.ts +0 -7
  814. package/dist/scripts/activate-kernel-pipeline.js +0 -101
  815. package/dist/scripts/integration.d.ts +0 -36
  816. package/dist/scripts/integration.js +0 -233
  817. package/dist/scripts/pre-command +0 -26
  818. package/dist/scripts/pre-command.mjs +0 -358
  819. package/dist/security/comprehensive-security-audit.d.ts +0 -157
  820. package/dist/security/comprehensive-security-audit.js +0 -1004
  821. package/dist/security/index.d.ts +0 -13
  822. package/dist/security/index.js +0 -13
  823. package/dist/security/prompt-security-validator.d.ts +0 -44
  824. package/dist/security/prompt-security-validator.js +0 -148
  825. package/dist/security/security-agent-coordinator.d.ts +0 -71
  826. package/dist/security/security-agent-coordinator.js +0 -203
  827. package/dist/security/security-auditor.d.ts +0 -55
  828. package/dist/security/security-auditor.js +0 -583
  829. package/dist/security/security-hardener.d.ts +0 -61
  830. package/dist/security/security-hardener.js +0 -169
  831. package/dist/security/security-hardening-system.d.ts +0 -238
  832. package/dist/security/security-hardening-system.js +0 -726
  833. package/dist/security/security-headers.d.ts +0 -63
  834. package/dist/security/security-headers.js +0 -117
  835. package/dist/security/security-orchestration-layer.d.ts +0 -118
  836. package/dist/security/security-orchestration-layer.js +0 -495
  837. package/dist/security/security-scanner.d.ts +0 -119
  838. package/dist/security/security-scanner.js +0 -429
  839. package/dist/services/inference-tuner.d.ts +0 -76
  840. package/dist/services/inference-tuner.js +0 -300
  841. package/dist/session/index.d.ts +0 -3
  842. package/dist/session/index.js +0 -3
  843. package/dist/session/session-cleanup-manager.d.ts +0 -117
  844. package/dist/session/session-cleanup-manager.js +0 -365
  845. package/dist/session/session-monitor.d.ts +0 -132
  846. package/dist/session/session-monitor.js +0 -502
  847. package/dist/session/session-state-manager.d.ts +0 -144
  848. package/dist/session/session-state-manager.js +0 -521
  849. package/dist/skills/api-design/SKILL.md +0 -37
  850. package/dist/skills/architect-tools/SKILL.md +0 -37
  851. package/dist/skills/architecture-patterns/SKILL.md +0 -37
  852. package/dist/skills/auto-format/SKILL.md +0 -37
  853. package/dist/skills/backend-engineer/SKILL.md +0 -49
  854. package/dist/skills/boot-orchestrator/SKILL.md +0 -33
  855. package/dist/skills/bug-triage/SKILL.md +0 -43
  856. package/dist/skills/code-analyzer/SKILL.md +0 -45
  857. package/dist/skills/code-review/SKILL.md +0 -52
  858. package/dist/skills/content-creator/SKILL.md +0 -38
  859. package/dist/skills/database-engineer/SKILL.md +0 -46
  860. package/dist/skills/devops-engineer/SKILL.md +0 -49
  861. package/dist/skills/enforcer/SKILL.md +0 -37
  862. package/dist/skills/framework-compliance-audit/SKILL.md +0 -37
  863. package/dist/skills/frontend-engineer/SKILL.md +0 -49
  864. package/dist/skills/frontend-ui-ux-engineer/SKILL.md +0 -41
  865. package/dist/skills/git-workflow/SKILL.md +0 -37
  866. package/dist/skills/growth-strategist/SKILL.md +0 -48
  867. package/dist/skills/hermes-agent/SKILL.md +0 -212
  868. package/dist/skills/inference-improve/SKILL.md +0 -97
  869. package/dist/skills/lint/SKILL.md +0 -37
  870. package/dist/skills/log-monitor/SKILL.md +0 -44
  871. package/dist/skills/mobile-developer/SKILL.md +0 -42
  872. package/dist/skills/model-health-check/SKILL.md +0 -37
  873. package/dist/skills/multimodal-looker/SKILL.md +0 -45
  874. package/dist/skills/orchestrator/SKILL.md +0 -61
  875. package/dist/skills/performance-analysis/SKILL.md +0 -37
  876. package/dist/skills/performance-engineer/SKILL.md +0 -41
  877. package/dist/skills/performance-optimization/SKILL.md +0 -37
  878. package/dist/skills/processor-pipeline/SKILL.md +0 -37
  879. package/dist/skills/project-analysis/SKILL.md +0 -42
  880. package/dist/skills/refactoring-strategies/SKILL.md +0 -37
  881. package/dist/skills/registry.json +0 -65
  882. package/dist/skills/researcher/SKILL.md +0 -50
  883. package/dist/skills/security-audit/SKILL.md +0 -48
  884. package/dist/skills/security-scan/SKILL.md +0 -37
  885. package/dist/skills/seo-consultant/SKILL.md +0 -43
  886. package/dist/skills/session-management/SKILL.md +0 -36
  887. package/dist/skills/state-manager/SKILL.md +0 -37
  888. package/dist/skills/storyteller/SKILL.md +0 -130
  889. package/dist/skills/strategist/SKILL.md +0 -44
  890. package/dist/skills/tech-writer/SKILL.md +0 -37
  891. package/dist/skills/testing-best-practices/SKILL.md +0 -37
  892. package/dist/skills/testing-strategy/SKILL.md +0 -54
  893. package/dist/skills/ui-ux-design/SKILL.md +0 -603
  894. package/dist/skills/xray-orchestrator/SKILL.md +0 -141
  895. package/dist/skills/xray-orchestrator/index.d.ts +0 -12
  896. package/dist/skills/xray-orchestrator/index.js +0 -223
  897. package/dist/state/context-providers.d.ts +0 -4
  898. package/dist/state/context-providers.js +0 -1
  899. package/dist/state/index.d.ts +0 -4
  900. package/dist/state/index.js +0 -7
  901. package/dist/state/state-manager.d.ts +0 -41
  902. package/dist/state/state-manager.js +0 -207
  903. package/dist/state/state-types.d.ts +0 -5
  904. package/dist/state/state-types.js +0 -1
  905. package/dist/testing/memory-regression-suite.d.ts +0 -105
  906. package/dist/testing/memory-regression-suite.js +0 -258
  907. package/dist/tools/assess-complexity-tool.d.ts +0 -28
  908. package/dist/tools/assess-complexity-tool.js +0 -44
  909. package/dist/tools/query-routing-tool.d.ts +0 -17
  910. package/dist/tools/query-routing-tool.js +0 -59
  911. package/dist/types/metamorphosis.d.ts +0 -21
  912. package/dist/types/metamorphosis.js +0 -6
  913. package/dist/utils/batch-operations.d.ts +0 -25
  914. package/dist/utils/batch-operations.js +0 -292
  915. package/dist/utils/codex-parser.d.ts +0 -60
  916. package/dist/utils/codex-parser.js +0 -444
  917. package/dist/utils/command-runner.d.ts +0 -32
  918. package/dist/utils/command-runner.js +0 -96
  919. package/dist/utils/import-resolver.d.ts +0 -54
  920. package/dist/utils/import-resolver.js +0 -189
  921. package/dist/utils/language-detector.d.ts +0 -43
  922. package/dist/utils/language-detector.js +0 -382
  923. package/dist/utils/path-resolver.d.ts +0 -48
  924. package/dist/utils/path-resolver.js +0 -112
  925. package/dist/utils/shutdown-handler.d.ts +0 -26
  926. package/dist/utils/shutdown-handler.js +0 -74
  927. package/dist/utils/task-graph.d.ts +0 -29
  928. package/dist/utils/task-graph.js +0 -106
  929. package/dist/utils/test-template-generator.d.ts +0 -25
  930. package/dist/utils/test-template-generator.js +0 -178
  931. package/dist/utils/token-manager.d.ts +0 -48
  932. package/dist/utils/token-manager.js +0 -163
  933. package/dist/validation/agent-config-validator.d.ts +0 -110
  934. package/dist/validation/agent-config-validator.js +0 -280
  935. package/dist/validation/estimation-validator.d.ts +0 -61
  936. package/dist/validation/estimation-validator.js +0 -241
  937. package/dist/validation/orchestration-flow-validator.d.ts +0 -87
  938. package/dist/validation/orchestration-flow-validator.js +0 -606
  939. package/dist/validation/report-content-validator.d.ts +0 -42
  940. package/dist/validation/report-content-validator.js +0 -218
@@ -1,1265 +0,0 @@
1
- /**
2
- * xray UI/UX Design MCP Server
3
- *
4
- * Knowledge skill for user interface and user experience design,
5
- * component patterns, accessibility compliance, and design system guidance
6
- */
7
- import * as fs from "fs";
8
- import { frameworkLogger } from "../../core/framework-logger.js";
9
- import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
10
- class XrayUIUXDesignServer extends XrayKnowledgeSkillBase {
11
- constructor() {
12
- super("ui-ux-design", "3.1.0");
13
- this.tools = [
14
- { name: "analyze_ui_component", description: "Analyze UI component for accessibility, usability, and design best practices", inputSchema: { type: "object", properties: { componentCode: { type: "string", description: "React/Vue/Angular component code to analyze" }, framework: { type: "string", enum: ["react", "vue", "angular", "svelte"], description: "UI framework being used" }, checkAccessibility: { type: "boolean", description: "Include WCAG accessibility analysis", default: true }, checkResponsive: { type: "boolean", description: "Include responsive design analysis", default: true } }, required: ["componentCode", "framework"] } },
15
- { name: "design_component", description: "Design a UI component with proper accessibility and UX patterns", inputSchema: { type: "object", properties: { componentType: { type: "string", enum: ["button", "input", "modal", "navigation", "card", "form"], description: "Type of component to design" }, requirements: { type: "string", description: "Functional requirements and use cases" }, framework: { type: "string", enum: ["react", "vue", "angular", "svelte"], description: "Target UI framework" }, accessibility: { type: "boolean", description: "Include accessibility features", default: true } }, required: ["componentType", "requirements", "framework"] } },
16
- { name: "audit_accessibility", description: "Perform comprehensive accessibility audit using WCAG guidelines", inputSchema: { type: "object", properties: { htmlContent: { type: "string", description: "HTML content to audit for accessibility" }, cssContent: { type: "string", description: "CSS styles to check for accessibility" }, wcagLevel: { type: "string", enum: ["A", "AA", "AAA"], description: "WCAG conformance level to check", default: "AA" } }, required: ["htmlContent"] } },
17
- { name: "generate_design_system", description: "Generate a comprehensive design system with colors, typography, and components", inputSchema: { type: "object", properties: { brandGuidelines: { type: "string", description: "Brand colors, fonts, and style guidelines" }, targetAudience: { type: "string", description: "Target user demographics and preferences" }, platform: { type: "string", enum: ["web", "mobile", "desktop"], description: "Target platform" }, includeAccessibility: { type: "boolean", description: "Include accessibility-compliant design tokens", default: true } }, required: ["brandGuidelines", "platform"] } },
18
- { name: "validate_mobile_design", description: "Validate mobile-first design principles including touch targets, responsive typography, and thumb zone optimization", inputSchema: { type: "object", properties: { componentCode: { type: "string", description: "Component code to validate for mobile" }, viewportWidth: { type: "number", description: "Minimum viewport width to validate (default: 320)", default: 320 }, framework: { type: "string", enum: ["react", "vue", "angular", "svelte", "css"], description: "UI framework or CSS" } }, required: ["componentCode"] } },
19
- { name: "analyze_visual_hierarchy", description: "Analyze visual hierarchy and cognitive load following 'Don't Make Me Think' principles", inputSchema: { type: "object", properties: { designCode: { type: "string", description: "HTML/CSS/React code of the design to analyze" }, pageType: { type: "string", enum: ["landing", "dashboard", "form", "content", "ecommerce"], description: "Type of page being analyzed" } }, required: ["designCode"] } },
20
- { name: "recommend_images", description: "Recommend appropriate image libraries, styles, and optimization strategies for the design context", inputSchema: { type: "object", properties: { context: { type: "string", description: "Design context (e.g., 'hero section', 'product gallery', 'team portraits')" }, style: { type: "string", enum: ["photography", "illustration", "3d", "abstract", "minimal"], description: "Preferred visual style" }, budget: { type: "string", enum: ["free", "low", "premium"], description: "Budget constraint", default: "free" } }, required: ["context"] } },
21
- ];
22
- this.handlers = {
23
- analyze_ui_component: async (args) => this.analyzeUIComponent(args),
24
- design_component: async (args) => this.designComponent(args),
25
- audit_accessibility: async (args) => this.auditAccessibility(args),
26
- generate_design_system: async (args) => this.generateDesignSystem(args),
27
- validate_mobile_design: async (args) => this.validateMobileDesign(args),
28
- analyze_visual_hierarchy: async (args) => this.analyzeVisualHierarchy(args),
29
- recommend_images: async (args) => this.recommendImages(args),
30
- };
31
- this.setupToolHandlers();
32
- }
33
- // setupToolHandlers removed — handled by XrayKnowledgeSkillBase via this.tools + this.handlers
34
- async analyzeUIComponent(args) {
35
- const { componentCode, framework, checkAccessibility = true, checkResponsive = true, } = args;
36
- try {
37
- const componentName = this.extractComponentName(componentCode, framework);
38
- const issues = this.analyzeComponentCode(componentCode, framework, checkAccessibility, checkResponsive);
39
- const accessibilityScore = this.calculateAccessibilityScore(issues);
40
- const usabilityScore = this.calculateUsabilityScore(issues);
41
- const recommendations = this.generateUIRecommendations(issues, framework);
42
- const designPatterns = this.identifyDesignPatterns(componentCode, framework);
43
- const analysis = {
44
- component: componentName,
45
- issues,
46
- accessibilityScore,
47
- usabilityScore,
48
- recommendations,
49
- designPatterns,
50
- };
51
- return {
52
- content: [
53
- {
54
- type: "text",
55
- text: `UI Component Analysis: ${componentName}\n\n` +
56
- `🎯 SCORES\n` +
57
- `Accessibility: ${accessibilityScore}/100\n` +
58
- `Usability: ${usabilityScore}/100\n\n` +
59
- `🔍 ISSUES FOUND: ${issues.length}\n` +
60
- issues
61
- .slice(0, 5)
62
- .map((issue) => `${this.getSeverityIcon(issue.severity)} ${issue.type.toUpperCase()}: ${issue.description}`)
63
- .join("\n") +
64
- "\n\n" +
65
- `💡 RECOMMENDATIONS\n${recommendations
66
- .slice(0, 5)
67
- .map((rec, i) => `${i + 1}. ${rec}`)
68
- .join("\n")}\n\n` +
69
- `🎨 DESIGN PATTERNS DETECTED\n${designPatterns
70
- .slice(0, 3)
71
- .map((pattern) => `• ${pattern}`)
72
- .join("\n")}`,
73
- },
74
- ],
75
- data: analysis,
76
- };
77
- }
78
- catch (error) {
79
- return {
80
- content: [
81
- {
82
- type: "text",
83
- text: `Error analyzing UI component: ${error instanceof Error ? error.message : String(error)}`,
84
- },
85
- ],
86
- };
87
- }
88
- }
89
- async designComponent(args) {
90
- const { componentType, requirements, framework, accessibility = true, } = args;
91
- try {
92
- const designSpec = this.generateComponentDesign(componentType, requirements, framework, accessibility);
93
- const implementation = this.generateComponentCode(designSpec, framework);
94
- const accessibilityFeatures = accessibility
95
- ? this.addAccessibilityFeatures(designSpec, framework)
96
- : [];
97
- return {
98
- content: [
99
- {
100
- type: "text",
101
- text: `Component Design: ${componentType.toUpperCase()}\n\n` +
102
- `📋 REQUIREMENTS\n${requirements.substring(0, 200)}${requirements.length > 200 ? "..." : ""}\n\n` +
103
- `🎨 DESIGN SPECIFICATION\n` +
104
- `Framework: ${framework.toUpperCase()}\n` +
105
- `Accessibility: ${accessibility ? "✅ Included" : "❌ Not included"}\n\n` +
106
- `🏗️ COMPONENT STRUCTURE\n${designSpec.structure.map((item) => `• ${item}`).join("\n")}\n\n` +
107
- `♿ ACCESSIBILITY FEATURES\n${accessibilityFeatures.map((feature) => `• ${feature}`).join("\n")}\n\n` +
108
- `💻 IMPLEMENTATION\n\`\`\`${framework}\n${implementation}\n\`\`\``,
109
- },
110
- ],
111
- data: { designSpec, implementation, accessibilityFeatures },
112
- };
113
- }
114
- catch (error) {
115
- return {
116
- content: [
117
- {
118
- type: "text",
119
- text: `Error designing component: ${error instanceof Error ? error.message : String(error)}`,
120
- },
121
- ],
122
- };
123
- }
124
- }
125
- async auditAccessibility(args) {
126
- const { htmlContent, cssContent, wcagLevel = "AA" } = args;
127
- try {
128
- const violations = this.checkWCAGCompliance(htmlContent, cssContent, wcagLevel);
129
- const score = this.calculateWCAGScore(violations, wcagLevel);
130
- const recommendations = this.generateAccessibilityRecommendations(violations);
131
- return {
132
- content: [
133
- {
134
- type: "text",
135
- text: `Accessibility Audit (WCAG ${wcagLevel})\n\n` +
136
- `📊 COMPLIANCE SCORE: ${score}/100\n\n` +
137
- `🚨 VIOLATIONS FOUND: ${violations.length}\n` +
138
- violations
139
- .slice(0, 10)
140
- .map((violation) => `${this.getSeverityIcon(violation.severity)} ${violation.guideline}: ${violation.description}`)
141
- .join("\n") +
142
- "\n\n" +
143
- `💡 REMEDIATION STEPS\n${recommendations
144
- .slice(0, 5)
145
- .map((rec, i) => `${i + 1}. ${rec}`)
146
- .join("\n")}`,
147
- },
148
- ],
149
- data: { violations, score, recommendations, wcagLevel },
150
- };
151
- }
152
- catch (error) {
153
- return {
154
- content: [
155
- {
156
- type: "text",
157
- text: `Error auditing accessibility: ${error instanceof Error ? error.message : String(error)}`,
158
- },
159
- ],
160
- };
161
- }
162
- }
163
- async generateDesignSystem(args) {
164
- const { brandGuidelines, targetAudience, platform, includeAccessibility = true, } = args;
165
- try {
166
- const designSystem = this.createDesignSystem(brandGuidelines, targetAudience, platform, includeAccessibility);
167
- const tokens = this.generateDesignTokens(designSystem);
168
- const documentation = this.generateDesignSystemDocs(designSystem);
169
- return {
170
- content: [
171
- {
172
- type: "text",
173
- text: `Design System Generated for ${platform.toUpperCase()}\n\n` +
174
- `🎨 COLOR PALETTE\n` +
175
- `Primary: ${designSystem.colors.primary.join(", ")}\n` +
176
- `Semantic: Success(${designSystem.colors.semantic.success}), Warning(${designSystem.colors.semantic.warning}), Error(${designSystem.colors.semantic.error})\n\n` +
177
- `📝 TYPOGRAPHY SCALE\n` +
178
- `Fonts: ${designSystem.typography.fontFamilies.join(", ")}\n` +
179
- `Sizes: ${Object.entries(designSystem.typography.sizes)
180
- .slice(0, 3)
181
- .map(([k, v]) => `${k}: ${v}`)
182
- .join(", ")}\n\n` +
183
- `📏 SPACING SYSTEM\n` +
184
- `Base: ${designSystem.spacing.base}px\n` +
185
- `Scale: ${designSystem.spacing.scale.join(", ")}\n\n` +
186
- `🧩 COMPONENT LIBRARY\n` +
187
- `Buttons: ${designSystem.components.buttons.length} variants\n` +
188
- `Inputs: ${designSystem.components.inputs.length} variants\n` +
189
- `Navigation: ${designSystem.components.navigation.length} patterns\n\n` +
190
- `♿ ACCESSIBILITY: ${includeAccessibility ? "✅ Included" : "❌ Not included"}\n\n` +
191
- `📚 DESIGN TOKENS\n\`\`\`json\n${JSON.stringify(tokens, null, 2).substring(0, 500)}...\n\`\`\``,
192
- },
193
- ],
194
- data: { designSystem, tokens, documentation },
195
- };
196
- }
197
- catch (error) {
198
- return {
199
- content: [
200
- {
201
- type: "text",
202
- text: `Error generating design system: ${error instanceof Error ? error.message : String(error)}`,
203
- },
204
- ],
205
- };
206
- }
207
- }
208
- extractComponentName(code, framework) {
209
- // Extract component name based on framework
210
- switch (framework) {
211
- case "react":
212
- const reactMatch = code.match(/function\s+(\w+)|const\s+(\w+)\s*=/);
213
- return reactMatch
214
- ? reactMatch[1] || reactMatch[2] || "UnknownComponent"
215
- : "UnknownComponent";
216
- case "vue":
217
- const vueMatch = code.match(/name:\s*['"](\w+)['"]/);
218
- return vueMatch && vueMatch[1] ? vueMatch[1] : "UnknownComponent";
219
- case "angular":
220
- const angularMatch = code.match(/selector:\s*['"]([^'"]+)['"]/);
221
- return angularMatch && angularMatch[1]
222
- ? angularMatch[1].replace(/[\[\]]/g, "")
223
- : "UnknownComponent";
224
- default:
225
- return "UnknownComponent";
226
- }
227
- }
228
- analyzeComponentCode(code, framework, checkAccessibility, checkResponsive) {
229
- const issues = [];
230
- // Accessibility checks
231
- if (checkAccessibility) {
232
- issues.push(...this.checkAccessibilityIssues(code, framework));
233
- }
234
- // Responsive design checks
235
- if (checkResponsive) {
236
- issues.push(...this.checkResponsiveIssues(code, framework));
237
- }
238
- // Usability checks
239
- issues.push(...this.checkUsabilityIssues(code, framework));
240
- // Performance checks
241
- issues.push(...this.checkPerformanceIssues(code, framework));
242
- // Semantic HTML checks
243
- issues.push(...this.checkSemanticIssues(code, framework));
244
- return issues;
245
- }
246
- checkAccessibilityIssues(code, framework) {
247
- const issues = [];
248
- // Missing alt text
249
- if (code.includes("<img") && !code.includes("alt=")) {
250
- issues.push({
251
- type: "accessibility",
252
- severity: "high",
253
- description: "Image missing alt attribute",
254
- wcag: "1.1.1",
255
- recommendation: "Add descriptive alt text for all images",
256
- });
257
- }
258
- // Missing form labels
259
- if (code.includes("<input") &&
260
- !code.includes("aria-label") &&
261
- !code.includes("<label")) {
262
- issues.push({
263
- type: "accessibility",
264
- severity: "high",
265
- description: "Form input missing label",
266
- wcag: "3.3.2",
267
- recommendation: "Associate labels with form inputs using <label> or aria-label",
268
- });
269
- }
270
- // Insufficient color contrast (basic check)
271
- if (code.includes("color:") && code.includes("background:")) {
272
- issues.push({
273
- type: "accessibility",
274
- severity: "medium",
275
- description: "Potential color contrast issues detected",
276
- wcag: "1.4.3",
277
- recommendation: "Ensure color contrast ratio meets WCAG AA standards (4.5:1)",
278
- });
279
- }
280
- // Missing focus indicators
281
- if (code.includes("<button") ||
282
- (code.includes("<a") && !code.includes("focus"))) {
283
- issues.push({
284
- type: "accessibility",
285
- severity: "medium",
286
- description: "Interactive element may lack visible focus indicator",
287
- wcag: "2.4.7",
288
- recommendation: "Add visible focus styles for keyboard navigation",
289
- });
290
- }
291
- return issues;
292
- }
293
- checkResponsiveIssues(code, framework) {
294
- const issues = [];
295
- // Fixed widths/heights
296
- if (code.includes("width:") &&
297
- code.includes("px") &&
298
- !code.includes("@media")) {
299
- issues.push({
300
- type: "responsive",
301
- severity: "medium",
302
- description: "Fixed pixel widths may not be responsive",
303
- recommendation: "Use relative units (%, em, rem) and media queries for responsive design",
304
- });
305
- }
306
- // Missing viewport meta tag (would be in HTML, not component)
307
- if (framework === "react" && !code.includes("viewport")) {
308
- issues.push({
309
- type: "responsive",
310
- severity: "low",
311
- description: "Ensure viewport meta tag is set in HTML head",
312
- recommendation: 'Add <meta name="viewport" content="width=device-width, initial-scale=1">',
313
- });
314
- }
315
- return issues;
316
- }
317
- checkUsabilityIssues(code, framework) {
318
- const issues = [];
319
- // Button text issues
320
- if (code.includes("<button") &&
321
- code.includes("OK") &&
322
- !code.includes("aria-label")) {
323
- issues.push({
324
- type: "usability",
325
- severity: "medium",
326
- description: 'Button with generic text "OK" lacks context',
327
- recommendation: "Use descriptive button text or add aria-label for clarity",
328
- });
329
- }
330
- // Form validation feedback
331
- if (code.includes("<form") &&
332
- !code.includes("error") &&
333
- !code.includes("invalid")) {
334
- issues.push({
335
- type: "usability",
336
- severity: "low",
337
- description: "Form may lack validation error feedback",
338
- recommendation: "Add visible error messages for form validation failures",
339
- });
340
- }
341
- return issues;
342
- }
343
- checkPerformanceIssues(code, framework) {
344
- const issues = [];
345
- // Large inline styles
346
- const styleMatches = code.match(/style=\{[^}]{100,}\}/g);
347
- if (styleMatches && styleMatches.length > 0) {
348
- issues.push({
349
- type: "performance",
350
- severity: "low",
351
- description: "Large inline style objects may impact performance",
352
- recommendation: "Extract styles to CSS classes or styled-components",
353
- });
354
- }
355
- // Excessive re-renders (React specific)
356
- if (framework === "react" &&
357
- code.includes("useEffect") &&
358
- code.includes("[]")) {
359
- issues.push({
360
- type: "performance",
361
- severity: "medium",
362
- description: "useEffect with empty dependency array may cause unnecessary re-renders",
363
- recommendation: "Review useEffect dependencies to prevent infinite loops",
364
- });
365
- }
366
- return issues;
367
- }
368
- checkSemanticIssues(code, framework) {
369
- const issues = [];
370
- // Using div instead of semantic elements
371
- if (code.includes("<div") &&
372
- code.includes("click") &&
373
- !code.includes("<button")) {
374
- issues.push({
375
- type: "semantic",
376
- severity: "medium",
377
- description: "Clickable div used instead of semantic button element",
378
- recommendation: "Use <button> element for clickable actions to improve accessibility",
379
- });
380
- }
381
- // Missing heading hierarchy
382
- const headingMatches = code.match(/<h[1-6]/g);
383
- if (headingMatches && headingMatches.length > 1) {
384
- // Check for proper hierarchy (simplified)
385
- const hasH1 = code.includes("<h1");
386
- const hasH2 = code.includes("<h2");
387
- if (!hasH1 && hasH2) {
388
- issues.push({
389
- type: "semantic",
390
- severity: "low",
391
- description: "Heading hierarchy may skip levels",
392
- recommendation: "Ensure proper heading hierarchy (h1 → h2 → h3, etc.)",
393
- });
394
- }
395
- }
396
- return issues;
397
- }
398
- calculateAccessibilityScore(issues) {
399
- const accessibilityIssues = issues.filter((i) => i.type === "accessibility");
400
- let score = 100;
401
- accessibilityIssues.forEach((issue) => {
402
- switch (issue.severity) {
403
- case "critical":
404
- score -= 15;
405
- break;
406
- case "high":
407
- score -= 10;
408
- break;
409
- case "medium":
410
- score -= 5;
411
- break;
412
- case "low":
413
- score -= 2;
414
- break;
415
- }
416
- });
417
- return Math.max(0, Math.min(100, score));
418
- }
419
- calculateUsabilityScore(issues) {
420
- const usabilityIssues = issues.filter((i) => i.type === "usability" || i.type === "responsive");
421
- let score = 100;
422
- usabilityIssues.forEach((issue) => {
423
- switch (issue.severity) {
424
- case "high":
425
- score -= 8;
426
- break;
427
- case "medium":
428
- score -= 4;
429
- break;
430
- case "low":
431
- score -= 2;
432
- break;
433
- }
434
- });
435
- return Math.max(0, Math.min(100, score));
436
- }
437
- generateUIRecommendations(issues, framework) {
438
- const recommendations = [];
439
- // Group issues by type
440
- const byType = issues.reduce((acc, issue) => {
441
- acc[issue.type] = (acc[issue.type] || 0) + 1;
442
- return acc;
443
- }, {});
444
- if ((byType.accessibility || 0) > 0) {
445
- recommendations.push(`Address ${byType.accessibility} accessibility issues to improve WCAG compliance`);
446
- }
447
- if ((byType.responsive || 0) > 0) {
448
- recommendations.push(`Fix ${byType.responsive} responsive design issues for mobile compatibility`);
449
- }
450
- if ((byType.usability || 0) > 0) {
451
- recommendations.push(`Improve ${byType.usability} usability issues for better user experience`);
452
- }
453
- // Framework-specific recommendations
454
- switch (framework) {
455
- case "react":
456
- recommendations.push("Consider using React Testing Library for accessibility testing");
457
- break;
458
- case "vue":
459
- recommendations.push("Use Vue's built-in accessibility features and vue-a11y library");
460
- break;
461
- case "angular":
462
- recommendations.push("Leverage Angular CDK for accessible components");
463
- break;
464
- }
465
- recommendations.push("Run automated accessibility audits regularly");
466
- recommendations.push("Test with real users and assistive technologies");
467
- return recommendations;
468
- }
469
- identifyDesignPatterns(code, framework) {
470
- const patterns = [];
471
- // Common design patterns
472
- if (code.includes("useState") && code.includes("onClick")) {
473
- patterns.push("Controlled Component Pattern");
474
- }
475
- if (code.includes("Context") && code.includes("Provider")) {
476
- patterns.push("Context Provider Pattern");
477
- }
478
- if (code.includes("children") && code.includes("props")) {
479
- patterns.push("Render Props Pattern");
480
- }
481
- if (code.includes("forwardRef")) {
482
- patterns.push("Ref Forwarding Pattern");
483
- }
484
- if (code.includes("useMemo") || code.includes("useCallback")) {
485
- patterns.push("Memoization Pattern");
486
- }
487
- // Layout patterns
488
- if (code.includes("flex") || code.includes("grid")) {
489
- patterns.push("Modern CSS Layout (Flexbox/Grid)");
490
- }
491
- if (code.includes("media") && code.includes("query")) {
492
- patterns.push("Responsive Design Pattern");
493
- }
494
- return patterns;
495
- }
496
- generateComponentDesign(componentType, requirements, framework, accessibility) {
497
- const design = {
498
- componentType,
499
- requirements,
500
- framework,
501
- accessibility,
502
- structure: [],
503
- props: [],
504
- states: [],
505
- variants: [],
506
- };
507
- switch (componentType) {
508
- case "button":
509
- design.structure = [
510
- "Button container with proper spacing",
511
- "Icon support (optional)",
512
- "Loading state indicator",
513
- "Focus ring for accessibility",
514
- ];
515
- design.props = [
516
- "children: ReactNode",
517
- 'variant: "primary" | "secondary" | "danger"',
518
- 'size: "sm" | "md" | "lg"',
519
- "disabled: boolean",
520
- "loading: boolean",
521
- "onClick: () => void",
522
- ];
523
- design.states = [
524
- "normal",
525
- "hover",
526
- "active",
527
- "focus",
528
- "disabled",
529
- "loading",
530
- ];
531
- design.variants = [
532
- "primary",
533
- "secondary",
534
- "outline",
535
- "ghost",
536
- "danger",
537
- ];
538
- break;
539
- case "input":
540
- design.structure = [
541
- "Input wrapper with label",
542
- "Input field with proper styling",
543
- "Error message container",
544
- "Helper text support",
545
- "Icon support",
546
- ];
547
- design.props = [
548
- "label: string",
549
- "placeholder: string",
550
- "value: string",
551
- "error: string",
552
- "helperText: string",
553
- "required: boolean",
554
- "disabled: boolean",
555
- ];
556
- design.states = ["normal", "focus", "error", "disabled"];
557
- design.variants = ["text", "email", "password", "search", "textarea"];
558
- break;
559
- case "modal":
560
- design.structure = [
561
- "Modal overlay",
562
- "Modal container with backdrop",
563
- "Header with title and close button",
564
- "Content area",
565
- "Footer with action buttons",
566
- "Focus trap for accessibility",
567
- ];
568
- design.props = [
569
- "isOpen: boolean",
570
- "title: string",
571
- "children: ReactNode",
572
- "onClose: () => void",
573
- "actions: ActionButton[]",
574
- ];
575
- design.states = ["open", "closed", "opening", "closing"];
576
- design.variants = ["default", "fullscreen", "sidebar"];
577
- break;
578
- }
579
- return design;
580
- }
581
- generateComponentCode(design, framework) {
582
- // Generate basic component code structure
583
- switch (framework) {
584
- case "react":
585
- return this.generateReactComponent(design);
586
- case "vue":
587
- return this.generateVueComponent(design);
588
- case "angular":
589
- return this.generateAngularComponent(design);
590
- default:
591
- return `// Component code generation for ${framework} not yet implemented`;
592
- }
593
- }
594
- generateReactComponent(design) {
595
- const propsInterface = design.props
596
- .map((prop) => ` ${prop};`)
597
- .join("\n");
598
- return `import React from 'react';
599
-
600
- interface ${design.componentType.charAt(0).toUpperCase() + design.componentType.slice(1)}Props {
601
- ${propsInterface}
602
- }
603
-
604
- export const ${design.componentType.charAt(0).toUpperCase() + design.componentType.slice(1)}: React.FC<${design.componentType.charAt(0).toUpperCase() + design.componentType.slice(1)}Props> = ({
605
- // props destructuring
606
- }) => {
607
- return (
608
- <div className="${design.componentType}-container">
609
- {/* ${design.componentType} implementation */}
610
- </div>
611
- );
612
- };`;
613
- }
614
- generateVueComponent(design) {
615
- return `<template>
616
- <div class="${design.componentType}-container">
617
- <!-- ${design.componentType} implementation -->
618
- </div>
619
- </template>
620
-
621
- <script setup lang="ts">
622
- // Props definition would go here
623
- </script>
624
-
625
- <style scoped>
626
- .${design.componentType}-container {
627
- /* styles */
628
- }
629
- </style>`;
630
- }
631
- generateAngularComponent(design) {
632
- return `import { Component, Input, Output, EventEmitter } from '@angular/core';
633
- // frameworkLogger imported above — single import at line 15
634
-
635
- @Component({
636
- selector: 'app-${design.componentType}',
637
- template: \`
638
- <div class="${design.componentType}-container">
639
- <!-- ${design.componentType} implementation -->
640
- </div>
641
- \`,
642
- styles: [\`
643
- .${design.componentType}-container {
644
- /* styles */
645
- }
646
- \`]
647
- })
648
- export class ${design.componentType.charAt(0).toUpperCase() + design.componentType.slice(1)}Component {
649
- // Component logic
650
- }`;
651
- }
652
- addAccessibilityFeatures(design, framework) {
653
- const features = [];
654
- switch (design.componentType) {
655
- case "button":
656
- features.push("Keyboard navigation support (Enter/Space activation)");
657
- features.push("ARIA pressed state for toggle buttons");
658
- features.push("Screen reader announcements for state changes");
659
- features.push("Focus management and visible focus indicators");
660
- break;
661
- case "input":
662
- features.push("ARIA labels and descriptions");
663
- features.push("Error message association with input");
664
- features.push("Required field indicators");
665
- features.push("Input validation feedback");
666
- break;
667
- case "modal":
668
- features.push("Focus trap within modal");
669
- features.push("ARIA modal role and properties");
670
- features.push("Escape key handling");
671
- features.push("Initial focus management");
672
- break;
673
- }
674
- return features;
675
- }
676
- checkWCAGCompliance(htmlContent, cssContent, level) {
677
- const violations = [];
678
- // Basic WCAG checks (simplified)
679
- if (!htmlContent.includes("lang=")) {
680
- violations.push({
681
- guideline: "3.1.1 Language of Page",
682
- severity: "medium",
683
- description: "Missing language attribute on html element",
684
- });
685
- }
686
- // Enhanced color contrast checking
687
- if (cssContent) {
688
- const contrastIssues = this.analyzeColorContrast(cssContent, htmlContent);
689
- violations.push(...contrastIssues);
690
- // Hero section specific checks
691
- const heroIssues = this.analyzeHeroSectionContrast(cssContent, htmlContent);
692
- violations.push(...heroIssues);
693
- }
694
- return violations;
695
- }
696
- /**
697
- * Parse color value and convert to RGB
698
- */
699
- parseColor(color) {
700
- // Hex color
701
- const hexMatch = color.match(/#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})/);
702
- if (hexMatch && hexMatch[1]) {
703
- let hex = hexMatch[1];
704
- if (hex.length === 3) {
705
- hex = hex
706
- .split("")
707
- .map((c) => c + c)
708
- .join("");
709
- }
710
- return {
711
- r: parseInt(hex.substring(0, 2), 16),
712
- g: parseInt(hex.substring(2, 4), 16),
713
- b: parseInt(hex.substring(4, 6), 16),
714
- };
715
- }
716
- // RGB/RGBA
717
- const rgbMatch = color.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);
718
- if (rgbMatch && rgbMatch[1] && rgbMatch[2] && rgbMatch[3]) {
719
- return {
720
- r: parseInt(rgbMatch[1], 10),
721
- g: parseInt(rgbMatch[2], 10),
722
- b: parseInt(rgbMatch[3], 10),
723
- };
724
- }
725
- // Named colors
726
- const namedColors = {
727
- white: "#ffffff",
728
- black: "#000000",
729
- red: "#ff0000",
730
- blue: "#0000ff",
731
- green: "#008000",
732
- gray: "#808080",
733
- lightgray: "#d3d3d3",
734
- darkgray: "#a9a9a9",
735
- };
736
- const lowerColor = color.toLowerCase().trim();
737
- if (namedColors[lowerColor]) {
738
- return this.parseColor(namedColors[lowerColor]);
739
- }
740
- return null;
741
- }
742
- /**
743
- * Calculate relative luminance (WCAG formula)
744
- */
745
- getLuminance(r, g, b) {
746
- const rs = this.getLuminanceComponent(r);
747
- const gs = this.getLuminanceComponent(g);
748
- const bs = this.getLuminanceComponent(b);
749
- return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;
750
- }
751
- getLuminanceComponent(c) {
752
- const normalized = c / 255;
753
- return normalized <= 0.03928
754
- ? normalized / 12.92
755
- : Math.pow((normalized + 0.055) / 1.055, 2.4);
756
- }
757
- /**
758
- * Calculate contrast ratio between two colors
759
- */
760
- calculateContrastRatio(color1, color2) {
761
- const rgb1 = this.parseColor(color1);
762
- const rgb2 = this.parseColor(color2);
763
- if (!rgb1 || !rgb2)
764
- return null;
765
- const lum1 = this.getLuminance(rgb1.r, rgb1.g, rgb1.b);
766
- const lum2 = this.getLuminance(rgb2.r, rgb2.g, rgb2.b);
767
- const lighter = Math.max(lum1, lum2);
768
- const darker = Math.min(lum1, lum2);
769
- return (lighter + 0.05) / (darker + 0.05);
770
- }
771
- /**
772
- * Analyze color contrast in CSS
773
- */
774
- analyzeColorContrast(cssContent, htmlContent) {
775
- const violations = [];
776
- // Extract color pairs from CSS
777
- const colorRegex = /color:\s*([^;]+)/gi;
778
- const bgRegex = /background(?:-color)?:\s*([^;]+)/gi;
779
- const colors = [];
780
- const backgrounds = [];
781
- let match;
782
- while ((match = colorRegex.exec(cssContent)) !== null) {
783
- if (match[1]) {
784
- colors.push(match[1].trim());
785
- }
786
- }
787
- while ((match = bgRegex.exec(cssContent)) !== null) {
788
- if (match[1]) {
789
- backgrounds.push(match[1].trim());
790
- }
791
- }
792
- // Check for known problematic combinations
793
- const problematicCombos = [
794
- { fg: "#ffffff", bg: "#f3f4f6", desc: "White text on light gray" },
795
- { fg: "#ffffff", bg: "#e5e7eb", desc: "White text on gray" },
796
- { fg: "#ffffff", bg: "#d1d5db", desc: "White text on medium gray" },
797
- { fg: "#000000", bg: "#1f2937", desc: "Black text on dark gray" },
798
- { fg: "#9ca3af", bg: "#ffffff", desc: "Light gray text on white" },
799
- { fg: "#d1d5db", bg: "#ffffff", desc: "Medium gray text on white" },
800
- ];
801
- problematicCombos.forEach((combo) => {
802
- const ratio = this.calculateContrastRatio(combo.fg, combo.bg);
803
- if (ratio && ratio < 4.5) {
804
- violations.push({
805
- guideline: "1.4.3 Contrast (Minimum)",
806
- severity: "high",
807
- description: `${combo.desc} has insufficient contrast (${ratio.toFixed(1)}:1, needs 4.5:1)`,
808
- recommendation: `Use a darker text color or lighter background to achieve 4.5:1 contrast ratio`,
809
- });
810
- }
811
- });
812
- return violations;
813
- }
814
- /**
815
- * Specifically analyze hero section for contrast issues
816
- */
817
- analyzeHeroSectionContrast(cssContent, htmlContent) {
818
- const violations = [];
819
- // Check for hero section patterns
820
- const heroPatterns = [
821
- /class="[^"]*hero[^"]*"/i,
822
- /id="[^"]*hero[^"]*"/i,
823
- /hero-section/i,
824
- /landing-hero/i,
825
- ];
826
- const hasHero = heroPatterns.some((pattern) => pattern.test(htmlContent) || pattern.test(cssContent));
827
- if (!hasHero)
828
- return violations;
829
- // Check for hero with background image but no overlay
830
- const hasBackgroundImage = /background(?:-image)?\s*:\s*url\s*\(/i.test(cssContent);
831
- const hasOverlay = /(?:rgba?\([^)]+\)|#[a-f0-9]{3,8}).*overlay|gradient.*rgba/i.test(cssContent);
832
- const hasTextShadow = /text-shadow\s*:/i.test(cssContent);
833
- if (hasBackgroundImage && !hasOverlay && !hasTextShadow) {
834
- violations.push({
835
- guideline: "1.4.3 Contrast (Minimum) - Hero Section",
836
- severity: "critical",
837
- description: "Hero section with background image lacks text overlay or shadow",
838
- recommendation: "Add a semi-transparent overlay (e.g., rgba(0,0,0,0.5)) or text-shadow to ensure text readability",
839
- });
840
- }
841
- // Check for light-on-light or dark-on-dark in hero
842
- const heroSection = this.extractHeroCSS(cssContent);
843
- if (heroSection) {
844
- const bgMatch = heroSection.match(/background(?:-color)?\s*:\s*([^;]+)/i);
845
- const colorMatch = heroSection.match(/color\s*:\s*([^;]+)/i);
846
- if (bgMatch?.[1] && colorMatch?.[1]) {
847
- const bg = bgMatch[1].trim();
848
- const color = colorMatch[1].trim();
849
- const ratio = this.calculateContrastRatio(color, bg);
850
- if (ratio && ratio < 4.5) {
851
- violations.push({
852
- guideline: "1.4.3 Contrast (Minimum) - Hero Section",
853
- severity: "critical",
854
- description: `Hero section has poor contrast (${ratio.toFixed(1)}:1, needs 4.5:1)`,
855
- recommendation: `Background: ${bg}, Text: ${color}. Use contrasting colors: white text on dark backgrounds or dark text on light backgrounds`,
856
- });
857
- }
858
- }
859
- }
860
- return violations;
861
- }
862
- /**
863
- * Extract CSS for hero section
864
- */
865
- extractHeroCSS(cssContent) {
866
- const heroRegex = /(?:\.hero|#hero)[^{]*\{([^}]+)\}/gi;
867
- const matches = [];
868
- let match;
869
- while ((match = heroRegex.exec(cssContent)) !== null) {
870
- if (match[1]) {
871
- matches.push(match[1]);
872
- }
873
- }
874
- return matches.length > 0 ? matches.join(" ") : null;
875
- }
876
- calculateWCAGScore(violations, level) {
877
- let score = 100;
878
- violations.forEach((violation) => {
879
- switch (violation.severity) {
880
- case "critical":
881
- score -= 20;
882
- break;
883
- case "high":
884
- score -= 15;
885
- break;
886
- case "medium":
887
- score -= 10;
888
- break;
889
- case "low":
890
- score -= 5;
891
- break;
892
- }
893
- });
894
- return Math.max(0, Math.min(100, score));
895
- }
896
- generateAccessibilityRecommendations(violations) {
897
- const recommendations = [];
898
- violations.forEach((violation) => {
899
- recommendations.push(`Fix ${violation.guideline}: ${violation.description}`);
900
- });
901
- recommendations.push("Use automated accessibility testing tools");
902
- recommendations.push("Conduct manual testing with assistive technologies");
903
- recommendations.push("Include accessibility in design reviews");
904
- return recommendations;
905
- }
906
- createDesignSystem(brandGuidelines, targetAudience, platform, includeAccessibility) {
907
- // Generate a basic design system based on inputs
908
- const colors = {
909
- primary: ["#007bff", "#0056b3", "#004085"],
910
- secondary: ["#6c757d", "#545b62", "#383d41"],
911
- semantic: {
912
- success: "#28a745",
913
- warning: "#ffc107",
914
- error: "#dc3545",
915
- info: "#17a2b8",
916
- },
917
- contrastRatios: {},
918
- };
919
- const typography = {
920
- fontFamilies: ["Inter", "system-ui", "-apple-system"],
921
- sizes: {
922
- xs: "0.75rem",
923
- sm: "0.875rem",
924
- base: "1rem",
925
- lg: "1.125rem",
926
- xl: "1.25rem",
927
- "2xl": "1.5rem",
928
- },
929
- weights: {
930
- normal: 400,
931
- medium: 500,
932
- semibold: 600,
933
- bold: 700,
934
- },
935
- lineHeights: {
936
- tight: 1.25,
937
- normal: 1.5,
938
- relaxed: 1.625,
939
- },
940
- };
941
- const spacing = {
942
- base: 4,
943
- scale: [4, 8, 12, 16, 24, 32, 48, 64],
944
- names: {
945
- xs: 4,
946
- sm: 8,
947
- md: 16,
948
- lg: 24,
949
- xl: 32,
950
- "2xl": 48,
951
- },
952
- };
953
- const components = {
954
- buttons: [
955
- {
956
- name: "primary",
957
- states: ["normal", "hover", "active", "disabled"],
958
- accessibility: ["focus-visible"],
959
- responsive: true,
960
- },
961
- {
962
- name: "secondary",
963
- states: ["normal", "hover", "active", "disabled"],
964
- accessibility: ["focus-visible"],
965
- responsive: true,
966
- },
967
- ],
968
- inputs: [
969
- {
970
- name: "text",
971
- states: ["normal", "focus", "error", "disabled"],
972
- accessibility: ["aria-label", "aria-invalid"],
973
- responsive: true,
974
- },
975
- ],
976
- navigation: [
977
- {
978
- name: "header",
979
- states: ["normal", "mobile-open"],
980
- accessibility: ["aria-expanded"],
981
- responsive: true,
982
- },
983
- ],
984
- feedback: [
985
- {
986
- name: "alert",
987
- states: ["info", "success", "warning", "error"],
988
- accessibility: ["role", "aria-live"],
989
- responsive: true,
990
- },
991
- ],
992
- };
993
- const patterns = [
994
- {
995
- name: "Card Layout",
996
- category: "layout",
997
- description: "Container for related content and actions",
998
- useCases: ["Product display", "User profiles", "Content preview"],
999
- accessibility: ["Proper heading hierarchy", "Focus management"],
1000
- },
1001
- {
1002
- name: "Progressive Disclosure",
1003
- category: "interaction",
1004
- description: "Show information gradually to reduce cognitive load",
1005
- useCases: ["Forms", "Settings panels", "Help documentation"],
1006
- accessibility: ["ARIA expanded states", "Keyboard navigation"],
1007
- },
1008
- ];
1009
- return { colors, typography, spacing, components, patterns };
1010
- }
1011
- generateDesignTokens(system) {
1012
- return {
1013
- colors: {
1014
- primary: system.colors.primary,
1015
- secondary: system.colors.secondary,
1016
- semantic: system.colors.semantic,
1017
- },
1018
- typography: system.typography,
1019
- spacing: system.spacing,
1020
- breakpoints: {
1021
- sm: "640px",
1022
- md: "768px",
1023
- lg: "1024px",
1024
- xl: "1280px",
1025
- },
1026
- };
1027
- }
1028
- generateDesignSystemDocs(system) {
1029
- return `# Design System Documentation
1030
-
1031
- ## Colors
1032
- Primary: ${system.colors.primary.join(", ")}
1033
- Secondary: ${system.colors.secondary.join(", ")}
1034
-
1035
- ## Typography
1036
- Fonts: ${system.typography.fontFamilies.join(", ")}
1037
-
1038
- ## Spacing
1039
- Base unit: ${system.spacing.base}px
1040
- Scale: ${system.spacing.scale.join(", ")}
1041
-
1042
- ## Components
1043
- Available: ${Object.keys(system.components).length} component types
1044
- `;
1045
- }
1046
- getSeverityIcon(severity) {
1047
- const icons = {
1048
- critical: "🚨",
1049
- high: "🔴",
1050
- medium: "🟡",
1051
- low: "🟢",
1052
- };
1053
- return icons[severity] || "❓";
1054
- }
1055
- async validateMobileDesign(args) {
1056
- const { componentCode, viewportWidth = 320, framework = "css" } = args;
1057
- const issues = [];
1058
- const recommendations = [];
1059
- // Check touch target sizes
1060
- const touchTargetRegex = /(width|height|padding|min-width|min-height):\s*(\d+)(px|rem|em)/gi;
1061
- let match;
1062
- while ((match = touchTargetRegex.exec(componentCode)) !== null) {
1063
- if (match[2] && match[3]) {
1064
- const value = parseInt(match[2], 10);
1065
- const unit = match[3];
1066
- const pixelValue = unit === "px" ? value : value * 16;
1067
- if (pixelValue < 44) {
1068
- issues.push({
1069
- type: "mobile",
1070
- severity: "high",
1071
- message: `Touch target ${match[1]}:${match[0]} is too small (${pixelValue}px). Minimum: 44px`,
1072
- wcag: "2.5.5",
1073
- });
1074
- }
1075
- }
1076
- }
1077
- // Check for responsive units
1078
- if (componentCode.includes("px") &&
1079
- !componentCode.includes("rem") &&
1080
- !componentCode.includes("em")) {
1081
- recommendations.push("Consider using rem/em instead of px for better accessibility");
1082
- }
1083
- // Check for media queries
1084
- if (!componentCode.includes("@media")) {
1085
- recommendations.push("Add responsive breakpoints (@media) for different viewport sizes");
1086
- }
1087
- // Check for mobile navigation pattern
1088
- if (componentCode.includes("nav") &&
1089
- !componentCode.includes("hamburger") &&
1090
- !componentCode.includes("menu")) {
1091
- recommendations.push("Consider mobile navigation pattern (hamburger menu) for small screens");
1092
- }
1093
- return {
1094
- content: [
1095
- {
1096
- type: "text",
1097
- text: `## Mobile Design Validation (Viewport: ${viewportWidth}px)\n\n### Issues Found: ${issues.length}\n${issues.map((i) => `- ${i.severity.toUpperCase()}: ${i.message} (WCAG ${i.wcag})`).join("\n") || "None"}\n\n### Recommendations:\n${recommendations.map((r) => `- ${r}`).join("\n") || "None"}\n\n### Mobile-First Checklist:\n- [ ] Touch targets ≥ 44px\n- [ ] Responsive typography (rem/em)\n- [ ] Media queries for breakpoints\n- [ ] Mobile navigation pattern\n- [ ] Readable without zoom (16px min)`,
1098
- },
1099
- ],
1100
- };
1101
- }
1102
- async analyzeVisualHierarchy(args) {
1103
- const { designCode, pageType = "landing" } = args;
1104
- const issues = [];
1105
- const cognitiveLoadScore = 100;
1106
- const recommendations = [];
1107
- // Check heading hierarchy
1108
- const h1Count = (designCode.match(/<h1/gi) || []).length;
1109
- const h2Count = (designCode.match(/<h2/gi) || []).length;
1110
- const h3Count = (designCode.match(/<h3/gi) || []).length;
1111
- if (h1Count === 0) {
1112
- issues.push({
1113
- type: "hierarchy",
1114
- severity: "critical",
1115
- message: "Missing H1 heading - page purpose unclear",
1116
- });
1117
- }
1118
- else if (h1Count > 1) {
1119
- issues.push({
1120
- type: "hierarchy",
1121
- severity: "high",
1122
- message: `Multiple H1 headings (${h1Count}) - confuses page structure`,
1123
- });
1124
- }
1125
- if (h2Count > 7) {
1126
- recommendations.push("Consider reducing number of H2 sections (current: " +
1127
- h2Count +
1128
- ") - may overwhelm users");
1129
- }
1130
- // Check for clear CTAs
1131
- const ctaPatterns = [
1132
- /class="[^"]*cta[^"]*"/i,
1133
- /class="[^"]*button[^"]*"/i,
1134
- /<button/i,
1135
- ];
1136
- const hasCTA = ctaPatterns.some((pattern) => pattern.test(designCode));
1137
- if (!hasCTA && pageType === "landing") {
1138
- issues.push({
1139
- type: "conversion",
1140
- severity: "high",
1141
- message: "No clear CTA found - users don't know what to do",
1142
- });
1143
- }
1144
- // Check for progressive disclosure (accordions, tabs, etc.)
1145
- const hasProgressiveDisclosure = designCode.includes("accordion") ||
1146
- designCode.includes("tab") ||
1147
- designCode.includes("collapsible");
1148
- if (!hasProgressiveDisclosure && designCode.length > 5000) {
1149
- recommendations.push("Consider progressive disclosure (accordions/tabs) to reduce cognitive load");
1150
- }
1151
- // Check for "Don't Make Me Think" violations
1152
- const unclearLabels = [/click here/i, /read more/i, /learn more$/i];
1153
- unclearLabels.forEach((pattern) => {
1154
- if (pattern.test(designCode)) {
1155
- issues.push({
1156
- type: "usability",
1157
- severity: "medium",
1158
- message: `Vague link text found: "${pattern.source}" - be descriptive`,
1159
- });
1160
- }
1161
- });
1162
- return {
1163
- content: [
1164
- {
1165
- type: "text",
1166
- text: `## Visual Hierarchy & Cognitive Load Analysis\n\n### "Don't Make Me Think" Score: ${Math.max(0, cognitiveLoadScore - issues.length * 10)}/100\n\n### Heading Structure:\n- H1: ${h1Count} ${h1Count === 1 ? "✅" : "❌"}\n- H2: ${h2Count}\n- H3: ${h3Count}\n\n### Issues (${issues.length}):\n${issues.map((i) => `- ${i.severity.toUpperCase()}: ${i.message}`).join("\n") || "None"}\n\n### Cognitive Load Recommendations:\n${recommendations.map((r) => `- ${r}`).join("\n") || "None"}\n\n### 3-Second Rule Checklist:\n- [ ] Page purpose immediately clear\n- [ ] Primary action obvious\n- [ ] No ambiguous labels\n- [ ] Clear visual hierarchy\n- [ ] Progressive disclosure used`,
1167
- },
1168
- ],
1169
- };
1170
- }
1171
- async recommendImages(args) {
1172
- const { context, style = "photography", budget = "free" } = args;
1173
- const recommendations = {
1174
- libraries: [],
1175
- tips: [],
1176
- style: style,
1177
- };
1178
- // Context-specific recommendations
1179
- if (context.toLowerCase().includes("hero")) {
1180
- recommendations.tips.push("Hero images should be high-impact but not compete with text");
1181
- recommendations.tips.push("Use overlay/gradient to ensure text readability");
1182
- recommendations.tips.push("Recommended size: 1920x1080px, optimized to < 200KB");
1183
- }
1184
- if (context.toLowerCase().includes("team") ||
1185
- context.toLowerCase().includes("portrait")) {
1186
- recommendations.tips.push("Use consistent lighting and background for team photos");
1187
- recommendations.tips.push("Square or 4:5 aspect ratio works best");
1188
- }
1189
- if (context.toLowerCase().includes("product")) {
1190
- recommendations.tips.push("Use high-quality product photography with neutral background");
1191
- recommendations.tips.push("Include multiple angles and detail shots");
1192
- }
1193
- // Library recommendations based on budget and style
1194
- if (budget === "free") {
1195
- if (style === "photography") {
1196
- recommendations.libraries.push({
1197
- name: "Unsplash",
1198
- url: "unsplash.com",
1199
- description: "Free, high-quality photography",
1200
- });
1201
- recommendations.libraries.push({
1202
- name: "Pexels",
1203
- url: "pexels.com",
1204
- description: "Free stock photos and videos",
1205
- });
1206
- }
1207
- else if (style === "illustration") {
1208
- recommendations.libraries.push({
1209
- name: "unDraw",
1210
- url: "undraw.co",
1211
- description: "Customizable open-source illustrations",
1212
- });
1213
- recommendations.libraries.push({
1214
- name: "Humaaans",
1215
- url: "humaaans.com",
1216
- description: "Mix-and-match people illustrations",
1217
- });
1218
- }
1219
- else if (style === "3d") {
1220
- recommendations.libraries.push({
1221
- name: "BlenderKit",
1222
- url: "blenderkit.com",
1223
- description: "Free 3D assets",
1224
- });
1225
- }
1226
- }
1227
- else if (budget === "premium") {
1228
- recommendations.libraries.push({
1229
- name: "Shutterstock",
1230
- url: "shutterstock.com",
1231
- description: "Extensive premium catalog",
1232
- });
1233
- recommendations.libraries.push({
1234
- name: "Getty Images",
1235
- url: "gettyimages.com",
1236
- description: "Editorial and commercial quality",
1237
- });
1238
- }
1239
- // Icon recommendations
1240
- recommendations.libraries.push({
1241
- name: "Lucide",
1242
- url: "lucide.dev",
1243
- description: "Clean, consistent icon library (Free)",
1244
- });
1245
- recommendations.libraries.push({
1246
- name: "Heroicons",
1247
- url: "heroicons.com",
1248
- description: "Beautiful SVG icons by Tailwind (Free)",
1249
- });
1250
- return {
1251
- content: [
1252
- {
1253
- type: "text",
1254
- text: `## Image Recommendations for: ${context}\n\n### Style: ${style}\n### Budget: ${budget}\n\n### Recommended Libraries:\n${recommendations.libraries.map((lib) => `- **${lib.name}** (${lib.url})\n ${lib.description}`).join("\n")}\n\n### Context-Specific Tips:\n${recommendations.tips.map((tip) => `- ${tip}`).join("\n")}\n\n### Image Optimization Checklist:\n- [ ] WebP format with JPEG fallback\n- [ ] Responsive srcset for different sizes\n- [ ] Alt text describing purpose (not just "image")\n- [ ] Lazy loading for below-fold images\n- [ ] Compressed to < 200KB without quality loss\n- [ ] Consistent style across all images`,
1255
- },
1256
- ],
1257
- };
1258
- }
1259
- }
1260
- // Run the server if this file is executed directly
1261
- if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
1262
- const server = new XrayUIUXDesignServer();
1263
- server.run().catch((error) => frameworkLogger.log("mcps/ui-ux-design", "run", "error", { error: String(error) }));
1264
- }
1265
- export { XrayUIUXDesignServer };