stringray-ai 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (635) hide show
  1. package/.mcp.json +68 -0
  2. package/LICENSE +21 -0
  3. package/README.md +618 -0
  4. package/dist/agents/architect.d.ts +3 -0
  5. package/dist/agents/architect.d.ts.map +1 -0
  6. package/dist/agents/architect.js +84 -0
  7. package/dist/agents/architect.js.map +1 -0
  8. package/dist/agents/bug-triage-specialist.d.ts +3 -0
  9. package/dist/agents/bug-triage-specialist.d.ts.map +1 -0
  10. package/dist/agents/bug-triage-specialist.js +66 -0
  11. package/dist/agents/bug-triage-specialist.js.map +1 -0
  12. package/dist/agents/code-reviewer.d.ts +3 -0
  13. package/dist/agents/code-reviewer.d.ts.map +1 -0
  14. package/dist/agents/code-reviewer.js +66 -0
  15. package/dist/agents/code-reviewer.js.map +1 -0
  16. package/dist/agents/enforcer.d.ts +3 -0
  17. package/dist/agents/enforcer.d.ts.map +1 -0
  18. package/dist/agents/enforcer.js +109 -0
  19. package/dist/agents/enforcer.js.map +1 -0
  20. package/dist/agents/index.d.ts +15 -0
  21. package/dist/agents/index.d.ts.map +1 -0
  22. package/dist/agents/index.js +26 -0
  23. package/dist/agents/index.js.map +1 -0
  24. package/dist/agents/librarian.d.ts +3 -0
  25. package/dist/agents/librarian.d.ts.map +1 -0
  26. package/dist/agents/librarian.js +70 -0
  27. package/dist/agents/librarian.js.map +1 -0
  28. package/dist/agents/log-monitor.d.ts +3 -0
  29. package/dist/agents/log-monitor.d.ts.map +1 -0
  30. package/dist/agents/log-monitor.js +102 -0
  31. package/dist/agents/log-monitor.js.map +1 -0
  32. package/dist/agents/orchestrator.d.ts +3 -0
  33. package/dist/agents/orchestrator.d.ts.map +1 -0
  34. package/dist/agents/orchestrator.js +85 -0
  35. package/dist/agents/orchestrator.js.map +1 -0
  36. package/dist/agents/refactorer.d.ts +3 -0
  37. package/dist/agents/refactorer.d.ts.map +1 -0
  38. package/dist/agents/refactorer.js +67 -0
  39. package/dist/agents/refactorer.js.map +1 -0
  40. package/dist/agents/security-auditor.d.ts +3 -0
  41. package/dist/agents/security-auditor.d.ts.map +1 -0
  42. package/dist/agents/security-auditor.js +66 -0
  43. package/dist/agents/security-auditor.js.map +1 -0
  44. package/dist/agents/sisyphus.d.ts +3 -0
  45. package/dist/agents/sisyphus.d.ts.map +1 -0
  46. package/dist/agents/sisyphus.js +53 -0
  47. package/dist/agents/sisyphus.js.map +1 -0
  48. package/dist/agents/test-architect.d.ts +3 -0
  49. package/dist/agents/test-architect.d.ts.map +1 -0
  50. package/dist/agents/test-architect.js +81 -0
  51. package/dist/agents/test-architect.js.map +1 -0
  52. package/dist/agents/types.d.ts +29 -0
  53. package/dist/agents/types.d.ts.map +1 -0
  54. package/dist/agents/types.js +2 -0
  55. package/dist/agents/types.js.map +1 -0
  56. package/dist/mcps/architect-tools.server.d.ts +40 -0
  57. package/dist/mcps/architect-tools.server.d.ts.map +1 -0
  58. package/dist/mcps/architect-tools.server.js +563 -0
  59. package/dist/mcps/architect-tools.server.js.map +1 -0
  60. package/dist/mcps/auto-format.server.d.ts +20 -0
  61. package/dist/mcps/auto-format.server.d.ts.map +1 -0
  62. package/dist/mcps/auto-format.server.js +391 -0
  63. package/dist/mcps/auto-format.server.js.map +1 -0
  64. package/dist/mcps/boot-orchestrator.server.d.ts +50 -0
  65. package/dist/mcps/boot-orchestrator.server.d.ts.map +1 -0
  66. package/dist/mcps/boot-orchestrator.server.js +871 -0
  67. package/dist/mcps/boot-orchestrator.server.js.map +1 -0
  68. package/dist/mcps/enforcer-tools.server.d.ts +26 -0
  69. package/dist/mcps/enforcer-tools.server.d.ts.map +1 -0
  70. package/dist/mcps/enforcer-tools.server.js +627 -0
  71. package/dist/mcps/enforcer-tools.server.js.map +1 -0
  72. package/dist/mcps/enhanced-orchestrator.server.d.ts +14 -0
  73. package/dist/mcps/enhanced-orchestrator.server.d.ts.map +1 -0
  74. package/dist/mcps/enhanced-orchestrator.server.js +250 -0
  75. package/dist/mcps/enhanced-orchestrator.server.js.map +1 -0
  76. package/dist/mcps/framework-compliance-audit.server.d.ts +23 -0
  77. package/dist/mcps/framework-compliance-audit.server.d.ts.map +1 -0
  78. package/dist/mcps/framework-compliance-audit.server.js +511 -0
  79. package/dist/mcps/framework-compliance-audit.server.js.map +1 -0
  80. package/dist/mcps/knowledge-skills/api-design.server.d.ts +16 -0
  81. package/dist/mcps/knowledge-skills/api-design.server.d.ts.map +1 -0
  82. package/dist/mcps/knowledge-skills/api-design.server.js +120 -0
  83. package/dist/mcps/knowledge-skills/api-design.server.js.map +1 -0
  84. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +16 -0
  85. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts.map +1 -0
  86. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +110 -0
  87. package/dist/mcps/knowledge-skills/architecture-patterns.server.js.map +1 -0
  88. package/dist/mcps/knowledge-skills/code-review.server.d.ts +32 -0
  89. package/dist/mcps/knowledge-skills/code-review.server.d.ts.map +1 -0
  90. package/dist/mcps/knowledge-skills/code-review.server.js +777 -0
  91. package/dist/mcps/knowledge-skills/code-review.server.js.map +1 -0
  92. package/dist/mcps/knowledge-skills/database-design.server.d.ts +44 -0
  93. package/dist/mcps/knowledge-skills/database-design.server.d.ts.map +1 -0
  94. package/dist/mcps/knowledge-skills/database-design.server.js +818 -0
  95. package/dist/mcps/knowledge-skills/database-design.server.js.map +1 -0
  96. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +44 -0
  97. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts.map +1 -0
  98. package/dist/mcps/knowledge-skills/devops-deployment.server.js +1178 -0
  99. package/dist/mcps/knowledge-skills/devops-deployment.server.js.map +1 -0
  100. package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts +48 -0
  101. package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts.map +1 -0
  102. package/dist/mcps/knowledge-skills/documentation-generation.server.js +1188 -0
  103. package/dist/mcps/knowledge-skills/documentation-generation.server.js.map +1 -0
  104. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +16 -0
  105. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts.map +1 -0
  106. package/dist/mcps/knowledge-skills/git-workflow.server.js +112 -0
  107. package/dist/mcps/knowledge-skills/git-workflow.server.js.map +1 -0
  108. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +16 -0
  109. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts.map +1 -0
  110. package/dist/mcps/knowledge-skills/performance-optimization.server.js +108 -0
  111. package/dist/mcps/knowledge-skills/performance-optimization.server.js.map +1 -0
  112. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +34 -0
  113. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts.map +1 -0
  114. package/dist/mcps/knowledge-skills/project-analysis.server.js +710 -0
  115. package/dist/mcps/knowledge-skills/project-analysis.server.js.map +1 -0
  116. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +34 -0
  117. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts.map +1 -0
  118. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +794 -0
  119. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js.map +1 -0
  120. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +34 -0
  121. package/dist/mcps/knowledge-skills/security-audit.server.d.ts.map +1 -0
  122. package/dist/mcps/knowledge-skills/security-audit.server.js +769 -0
  123. package/dist/mcps/knowledge-skills/security-audit.server.js.map +1 -0
  124. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +37 -0
  125. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts.map +1 -0
  126. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +865 -0
  127. package/dist/mcps/knowledge-skills/testing-best-practices.server.js.map +1 -0
  128. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
  129. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts.map +1 -0
  130. package/dist/mcps/knowledge-skills/testing-strategy.server.js +672 -0
  131. package/dist/mcps/knowledge-skills/testing-strategy.server.js.map +1 -0
  132. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +42 -0
  133. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts.map +1 -0
  134. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1016 -0
  135. package/dist/mcps/knowledge-skills/ui-ux-design.server.js.map +1 -0
  136. package/dist/mcps/lint.server.d.ts +18 -0
  137. package/dist/mcps/lint.server.d.ts.map +1 -0
  138. package/dist/mcps/lint.server.js +334 -0
  139. package/dist/mcps/lint.server.js.map +1 -0
  140. package/dist/mcps/model-health-check.server.d.ts +17 -0
  141. package/dist/mcps/model-health-check.server.d.ts.map +1 -0
  142. package/dist/mcps/model-health-check.server.js +226 -0
  143. package/dist/mcps/model-health-check.server.js.map +1 -0
  144. package/dist/mcps/orchestrator.server.d.ts +39 -0
  145. package/dist/mcps/orchestrator.server.d.ts.map +1 -0
  146. package/dist/mcps/orchestrator.server.js +908 -0
  147. package/dist/mcps/orchestrator.server.js.map +1 -0
  148. package/dist/mcps/performance-analysis.server.d.ts +28 -0
  149. package/dist/mcps/performance-analysis.server.d.ts.map +1 -0
  150. package/dist/mcps/performance-analysis.server.js +514 -0
  151. package/dist/mcps/performance-analysis.server.js.map +1 -0
  152. package/dist/mcps/processor-pipeline.server.d.ts +29 -0
  153. package/dist/mcps/processor-pipeline.server.d.ts.map +1 -0
  154. package/dist/mcps/processor-pipeline.server.js +520 -0
  155. package/dist/mcps/processor-pipeline.server.js.map +1 -0
  156. package/dist/mcps/security-scan.server.d.ts +20 -0
  157. package/dist/mcps/security-scan.server.d.ts.map +1 -0
  158. package/dist/mcps/security-scan.server.js +404 -0
  159. package/dist/mcps/security-scan.server.js.map +1 -0
  160. package/dist/mcps/state-manager.server.d.ts +29 -0
  161. package/dist/mcps/state-manager.server.d.ts.map +1 -0
  162. package/dist/mcps/state-manager.server.js +620 -0
  163. package/dist/mcps/state-manager.server.js.map +1 -0
  164. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +109 -0
  165. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts.map +1 -0
  166. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +337 -0
  167. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js.map +1 -0
  168. package/dist/orchestrator/intelligent-commit-batcher.d.ts +112 -0
  169. package/dist/orchestrator/intelligent-commit-batcher.d.ts.map +1 -0
  170. package/dist/orchestrator/intelligent-commit-batcher.js +330 -0
  171. package/dist/orchestrator/intelligent-commit-batcher.js.map +1 -0
  172. package/dist/plugin/agents/architect.d.ts +3 -0
  173. package/dist/plugin/agents/architect.d.ts.map +1 -0
  174. package/dist/plugin/agents/architect.js +84 -0
  175. package/dist/plugin/agents/architect.js.map +1 -0
  176. package/dist/plugin/agents/bug-triage-specialist.d.ts +3 -0
  177. package/dist/plugin/agents/bug-triage-specialist.d.ts.map +1 -0
  178. package/dist/plugin/agents/bug-triage-specialist.js +66 -0
  179. package/dist/plugin/agents/bug-triage-specialist.js.map +1 -0
  180. package/dist/plugin/agents/code-reviewer.d.ts +3 -0
  181. package/dist/plugin/agents/code-reviewer.d.ts.map +1 -0
  182. package/dist/plugin/agents/code-reviewer.js +66 -0
  183. package/dist/plugin/agents/code-reviewer.js.map +1 -0
  184. package/dist/plugin/agents/enforcer.d.ts +3 -0
  185. package/dist/plugin/agents/enforcer.d.ts.map +1 -0
  186. package/dist/plugin/agents/enforcer.js +109 -0
  187. package/dist/plugin/agents/enforcer.js.map +1 -0
  188. package/dist/plugin/agents/index.d.ts +15 -0
  189. package/dist/plugin/agents/index.d.ts.map +1 -0
  190. package/dist/plugin/agents/index.js +26 -0
  191. package/dist/plugin/agents/index.js.map +1 -0
  192. package/dist/plugin/agents/librarian.d.ts +3 -0
  193. package/dist/plugin/agents/librarian.d.ts.map +1 -0
  194. package/dist/plugin/agents/librarian.js +70 -0
  195. package/dist/plugin/agents/librarian.js.map +1 -0
  196. package/dist/plugin/agents/log-monitor.d.ts +3 -0
  197. package/dist/plugin/agents/log-monitor.d.ts.map +1 -0
  198. package/dist/plugin/agents/log-monitor.js +102 -0
  199. package/dist/plugin/agents/log-monitor.js.map +1 -0
  200. package/dist/plugin/agents/orchestrator.d.ts +3 -0
  201. package/dist/plugin/agents/orchestrator.d.ts.map +1 -0
  202. package/dist/plugin/agents/orchestrator.js +85 -0
  203. package/dist/plugin/agents/orchestrator.js.map +1 -0
  204. package/dist/plugin/agents/refactorer.d.ts +3 -0
  205. package/dist/plugin/agents/refactorer.d.ts.map +1 -0
  206. package/dist/plugin/agents/refactorer.js +67 -0
  207. package/dist/plugin/agents/refactorer.js.map +1 -0
  208. package/dist/plugin/agents/security-auditor.d.ts +3 -0
  209. package/dist/plugin/agents/security-auditor.d.ts.map +1 -0
  210. package/dist/plugin/agents/security-auditor.js +66 -0
  211. package/dist/plugin/agents/security-auditor.js.map +1 -0
  212. package/dist/plugin/agents/sisyphus.d.ts +3 -0
  213. package/dist/plugin/agents/sisyphus.d.ts.map +1 -0
  214. package/dist/plugin/agents/sisyphus.js +53 -0
  215. package/dist/plugin/agents/sisyphus.js.map +1 -0
  216. package/dist/plugin/agents/test-architect.d.ts +3 -0
  217. package/dist/plugin/agents/test-architect.d.ts.map +1 -0
  218. package/dist/plugin/agents/test-architect.js +81 -0
  219. package/dist/plugin/agents/test-architect.js.map +1 -0
  220. package/dist/plugin/agents/types.d.ts +29 -0
  221. package/dist/plugin/agents/types.d.ts.map +1 -0
  222. package/dist/plugin/agents/types.js +2 -0
  223. package/dist/plugin/agents/types.js.map +1 -0
  224. package/dist/plugin/config-loader.d.ts +67 -0
  225. package/dist/plugin/config-loader.d.ts.map +1 -0
  226. package/dist/plugin/config-loader.js +125 -0
  227. package/dist/plugin/config-loader.js.map +1 -0
  228. package/dist/plugin/context-loader.d.ts +122 -0
  229. package/dist/plugin/context-loader.d.ts.map +1 -0
  230. package/dist/plugin/context-loader.js +273 -0
  231. package/dist/plugin/context-loader.js.map +1 -0
  232. package/dist/plugin/delegation/agent-delegator.d.ts +217 -0
  233. package/dist/plugin/delegation/agent-delegator.d.ts.map +1 -0
  234. package/dist/plugin/delegation/agent-delegator.js +928 -0
  235. package/dist/plugin/delegation/agent-delegator.js.map +1 -0
  236. package/dist/plugin/delegation/codebase-context-analyzer.d.ts +157 -0
  237. package/dist/plugin/delegation/codebase-context-analyzer.d.ts.map +1 -0
  238. package/dist/plugin/delegation/codebase-context-analyzer.js +1029 -0
  239. package/dist/plugin/delegation/codebase-context-analyzer.js.map +1 -0
  240. package/dist/plugin/delegation/complexity-analyzer.d.ts +61 -0
  241. package/dist/plugin/delegation/complexity-analyzer.d.ts.map +1 -0
  242. package/dist/plugin/delegation/complexity-analyzer.js +253 -0
  243. package/dist/plugin/delegation/complexity-analyzer.js.map +1 -0
  244. package/dist/plugin/enforcement/enforcer-tools.d.ts +62 -0
  245. package/dist/plugin/enforcement/enforcer-tools.d.ts.map +1 -0
  246. package/dist/plugin/enforcement/enforcer-tools.js +407 -0
  247. package/dist/plugin/enforcement/enforcer-tools.js.map +1 -0
  248. package/dist/plugin/enforcement/rule-enforcer.d.ts +171 -0
  249. package/dist/plugin/enforcement/rule-enforcer.d.ts.map +1 -0
  250. package/dist/plugin/enforcement/rule-enforcer.js +1342 -0
  251. package/dist/plugin/enforcement/rule-enforcer.js.map +1 -0
  252. package/dist/plugin/enforcement/test-auto-healing.d.ts +78 -0
  253. package/dist/plugin/enforcement/test-auto-healing.d.ts.map +1 -0
  254. package/dist/plugin/enforcement/test-auto-healing.js +318 -0
  255. package/dist/plugin/enforcement/test-auto-healing.js.map +1 -0
  256. package/dist/plugin/framework-logger.d.ts +20 -0
  257. package/dist/plugin/framework-logger.d.ts.map +1 -0
  258. package/dist/plugin/framework-logger.js +79 -0
  259. package/dist/plugin/framework-logger.js.map +1 -0
  260. package/dist/plugin/logging-config.d.ts +11 -0
  261. package/dist/plugin/logging-config.d.ts.map +1 -0
  262. package/dist/plugin/logging-config.js +44 -0
  263. package/dist/plugin/logging-config.js.map +1 -0
  264. package/dist/plugin/mcps/architect-tools.server.d.ts +40 -0
  265. package/dist/plugin/mcps/architect-tools.server.d.ts.map +1 -0
  266. package/dist/plugin/mcps/architect-tools.server.js +563 -0
  267. package/dist/plugin/mcps/architect-tools.server.js.map +1 -0
  268. package/dist/plugin/mcps/auto-format.server.d.ts +20 -0
  269. package/dist/plugin/mcps/auto-format.server.d.ts.map +1 -0
  270. package/dist/plugin/mcps/auto-format.server.js +391 -0
  271. package/dist/plugin/mcps/auto-format.server.js.map +1 -0
  272. package/dist/plugin/mcps/boot-orchestrator.server.d.ts +50 -0
  273. package/dist/plugin/mcps/boot-orchestrator.server.d.ts.map +1 -0
  274. package/dist/plugin/mcps/boot-orchestrator.server.js +871 -0
  275. package/dist/plugin/mcps/boot-orchestrator.server.js.map +1 -0
  276. package/dist/plugin/mcps/enforcer-tools.server.d.ts +26 -0
  277. package/dist/plugin/mcps/enforcer-tools.server.d.ts.map +1 -0
  278. package/dist/plugin/mcps/enforcer-tools.server.js +627 -0
  279. package/dist/plugin/mcps/enforcer-tools.server.js.map +1 -0
  280. package/dist/plugin/mcps/enhanced-orchestrator.server.d.ts +14 -0
  281. package/dist/plugin/mcps/enhanced-orchestrator.server.d.ts.map +1 -0
  282. package/dist/plugin/mcps/enhanced-orchestrator.server.js +250 -0
  283. package/dist/plugin/mcps/enhanced-orchestrator.server.js.map +1 -0
  284. package/dist/plugin/mcps/framework-compliance-audit.server.d.ts +23 -0
  285. package/dist/plugin/mcps/framework-compliance-audit.server.d.ts.map +1 -0
  286. package/dist/plugin/mcps/framework-compliance-audit.server.js +511 -0
  287. package/dist/plugin/mcps/framework-compliance-audit.server.js.map +1 -0
  288. package/dist/plugin/mcps/knowledge-skills/api-design.server.d.ts +16 -0
  289. package/dist/plugin/mcps/knowledge-skills/api-design.server.d.ts.map +1 -0
  290. package/dist/plugin/mcps/knowledge-skills/api-design.server.js +120 -0
  291. package/dist/plugin/mcps/knowledge-skills/api-design.server.js.map +1 -0
  292. package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.d.ts +16 -0
  293. package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.d.ts.map +1 -0
  294. package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.js +110 -0
  295. package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.js.map +1 -0
  296. package/dist/plugin/mcps/knowledge-skills/code-review.server.d.ts +32 -0
  297. package/dist/plugin/mcps/knowledge-skills/code-review.server.d.ts.map +1 -0
  298. package/dist/plugin/mcps/knowledge-skills/code-review.server.js +777 -0
  299. package/dist/plugin/mcps/knowledge-skills/code-review.server.js.map +1 -0
  300. package/dist/plugin/mcps/knowledge-skills/database-design.server.d.ts +44 -0
  301. package/dist/plugin/mcps/knowledge-skills/database-design.server.d.ts.map +1 -0
  302. package/dist/plugin/mcps/knowledge-skills/database-design.server.js +818 -0
  303. package/dist/plugin/mcps/knowledge-skills/database-design.server.js.map +1 -0
  304. package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.d.ts +44 -0
  305. package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.d.ts.map +1 -0
  306. package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.js +1178 -0
  307. package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.js.map +1 -0
  308. package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.d.ts +48 -0
  309. package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.d.ts.map +1 -0
  310. package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.js +1188 -0
  311. package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.js.map +1 -0
  312. package/dist/plugin/mcps/knowledge-skills/git-workflow.server.d.ts +16 -0
  313. package/dist/plugin/mcps/knowledge-skills/git-workflow.server.d.ts.map +1 -0
  314. package/dist/plugin/mcps/knowledge-skills/git-workflow.server.js +112 -0
  315. package/dist/plugin/mcps/knowledge-skills/git-workflow.server.js.map +1 -0
  316. package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.d.ts +16 -0
  317. package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.d.ts.map +1 -0
  318. package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.js +108 -0
  319. package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.js.map +1 -0
  320. package/dist/plugin/mcps/knowledge-skills/project-analysis.server.d.ts +34 -0
  321. package/dist/plugin/mcps/knowledge-skills/project-analysis.server.d.ts.map +1 -0
  322. package/dist/plugin/mcps/knowledge-skills/project-analysis.server.js +710 -0
  323. package/dist/plugin/mcps/knowledge-skills/project-analysis.server.js.map +1 -0
  324. package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.d.ts +34 -0
  325. package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.d.ts.map +1 -0
  326. package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.js +794 -0
  327. package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.js.map +1 -0
  328. package/dist/plugin/mcps/knowledge-skills/security-audit.server.d.ts +34 -0
  329. package/dist/plugin/mcps/knowledge-skills/security-audit.server.d.ts.map +1 -0
  330. package/dist/plugin/mcps/knowledge-skills/security-audit.server.js +769 -0
  331. package/dist/plugin/mcps/knowledge-skills/security-audit.server.js.map +1 -0
  332. package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.d.ts +37 -0
  333. package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.d.ts.map +1 -0
  334. package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.js +865 -0
  335. package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.js.map +1 -0
  336. package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
  337. package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.d.ts.map +1 -0
  338. package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.js +672 -0
  339. package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.js.map +1 -0
  340. package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.d.ts +42 -0
  341. package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.d.ts.map +1 -0
  342. package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.js +1016 -0
  343. package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.js.map +1 -0
  344. package/dist/plugin/mcps/lint.server.d.ts +18 -0
  345. package/dist/plugin/mcps/lint.server.d.ts.map +1 -0
  346. package/dist/plugin/mcps/lint.server.js +334 -0
  347. package/dist/plugin/mcps/lint.server.js.map +1 -0
  348. package/dist/plugin/mcps/model-health-check.server.d.ts +17 -0
  349. package/dist/plugin/mcps/model-health-check.server.d.ts.map +1 -0
  350. package/dist/plugin/mcps/model-health-check.server.js +226 -0
  351. package/dist/plugin/mcps/model-health-check.server.js.map +1 -0
  352. package/dist/plugin/mcps/orchestrator.server.d.ts +39 -0
  353. package/dist/plugin/mcps/orchestrator.server.d.ts.map +1 -0
  354. package/dist/plugin/mcps/orchestrator.server.js +908 -0
  355. package/dist/plugin/mcps/orchestrator.server.js.map +1 -0
  356. package/dist/plugin/mcps/performance-analysis.server.d.ts +28 -0
  357. package/dist/plugin/mcps/performance-analysis.server.d.ts.map +1 -0
  358. package/dist/plugin/mcps/performance-analysis.server.js +514 -0
  359. package/dist/plugin/mcps/performance-analysis.server.js.map +1 -0
  360. package/dist/plugin/mcps/processor-pipeline.server.d.ts +29 -0
  361. package/dist/plugin/mcps/processor-pipeline.server.d.ts.map +1 -0
  362. package/dist/plugin/mcps/processor-pipeline.server.js +520 -0
  363. package/dist/plugin/mcps/processor-pipeline.server.js.map +1 -0
  364. package/dist/plugin/mcps/security-scan.server.d.ts +20 -0
  365. package/dist/plugin/mcps/security-scan.server.d.ts.map +1 -0
  366. package/dist/plugin/mcps/security-scan.server.js +404 -0
  367. package/dist/plugin/mcps/security-scan.server.js.map +1 -0
  368. package/dist/plugin/mcps/state-manager.server.d.ts +29 -0
  369. package/dist/plugin/mcps/state-manager.server.d.ts.map +1 -0
  370. package/dist/plugin/mcps/state-manager.server.js +620 -0
  371. package/dist/plugin/mcps/state-manager.server.js.map +1 -0
  372. package/dist/plugin/monitoring/advanced-profiler.d.ts +48 -0
  373. package/dist/plugin/monitoring/advanced-profiler.d.ts.map +1 -0
  374. package/dist/plugin/monitoring/advanced-profiler.js +216 -0
  375. package/dist/plugin/monitoring/advanced-profiler.js.map +1 -0
  376. package/dist/plugin/monitoring/enterprise-monitoring-system.d.ts +331 -0
  377. package/dist/plugin/monitoring/enterprise-monitoring-system.d.ts.map +1 -0
  378. package/dist/plugin/monitoring/enterprise-monitoring-system.js +797 -0
  379. package/dist/plugin/monitoring/enterprise-monitoring-system.js.map +1 -0
  380. package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.d.ts +111 -0
  381. package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.d.ts.map +1 -0
  382. package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.js +339 -0
  383. package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.js.map +1 -0
  384. package/dist/plugin/orchestrator/intelligent-commit-batcher.d.ts +112 -0
  385. package/dist/plugin/orchestrator/intelligent-commit-batcher.d.ts.map +1 -0
  386. package/dist/plugin/orchestrator/intelligent-commit-batcher.js +330 -0
  387. package/dist/plugin/orchestrator/intelligent-commit-batcher.js.map +1 -0
  388. package/dist/plugin/orchestrator.d.ts +91 -0
  389. package/dist/plugin/orchestrator.d.ts.map +1 -0
  390. package/dist/plugin/orchestrator.js +444 -0
  391. package/dist/plugin/orchestrator.js.map +1 -0
  392. package/dist/plugin/plugins/marketplace/marketplace-service.d.ts +108 -0
  393. package/dist/plugin/plugins/marketplace/marketplace-service.d.ts.map +1 -0
  394. package/dist/plugin/plugins/marketplace/marketplace-service.js +620 -0
  395. package/dist/plugin/plugins/marketplace/marketplace-service.js.map +1 -0
  396. package/dist/plugin/plugins/marketplace/marketplace-types.d.ts +468 -0
  397. package/dist/plugin/plugins/marketplace/marketplace-types.d.ts.map +1 -0
  398. package/dist/plugin/plugins/marketplace/marketplace-types.js +11 -0
  399. package/dist/plugin/plugins/marketplace/marketplace-types.js.map +1 -0
  400. package/dist/plugin/plugins/plugin-system.d.ts +152 -0
  401. package/dist/plugin/plugins/plugin-system.d.ts.map +1 -0
  402. package/dist/plugin/plugins/plugin-system.js +405 -0
  403. package/dist/plugin/plugins/plugin-system.js.map +1 -0
  404. package/dist/plugin/plugins/stringray-codex-injection.d.ts +68 -0
  405. package/dist/plugin/plugins/stringray-codex-injection.d.ts.map +1 -0
  406. package/dist/plugin/plugins/stringray-codex-injection.js +225 -0
  407. package/dist/plugin/plugins/stringray-codex-injection.js.map +1 -0
  408. package/dist/plugin/plugins/strray-codex-injection.d.ts +68 -0
  409. package/dist/plugin/plugins/strray-codex-injection.d.ts.map +1 -0
  410. package/dist/plugin/plugins/strray-codex-injection.js +225 -0
  411. package/dist/plugin/plugins/strray-codex-injection.js.map +1 -0
  412. package/dist/plugin/processors/index.d.ts +12 -0
  413. package/dist/plugin/processors/index.d.ts.map +1 -0
  414. package/dist/plugin/processors/index.js +12 -0
  415. package/dist/plugin/processors/index.js.map +1 -0
  416. package/dist/plugin/processors/processor-manager.d.ts +113 -0
  417. package/dist/plugin/processors/processor-manager.d.ts.map +1 -0
  418. package/dist/plugin/processors/processor-manager.js +498 -0
  419. package/dist/plugin/processors/processor-manager.js.map +1 -0
  420. package/dist/plugin/processors/processor-types.d.ts +50 -0
  421. package/dist/plugin/processors/processor-types.d.ts.map +1 -0
  422. package/dist/plugin/processors/processor-types.js +10 -0
  423. package/dist/plugin/processors/processor-types.js.map +1 -0
  424. package/dist/plugin/processors/refactoring-logging-processor.d.ts +61 -0
  425. package/dist/plugin/processors/refactoring-logging-processor.d.ts.map +1 -0
  426. package/dist/plugin/processors/refactoring-logging-processor.js +257 -0
  427. package/dist/plugin/processors/refactoring-logging-processor.js.map +1 -0
  428. package/dist/plugin/reporting/framework-reporting-system.d.ts +157 -0
  429. package/dist/plugin/reporting/framework-reporting-system.d.ts.map +1 -0
  430. package/dist/plugin/reporting/framework-reporting-system.js +783 -0
  431. package/dist/plugin/reporting/framework-reporting-system.js.map +1 -0
  432. package/dist/plugin/security/security-hardening-system.d.ts +220 -0
  433. package/dist/plugin/security/security-hardening-system.d.ts.map +1 -0
  434. package/dist/plugin/security/security-hardening-system.js +605 -0
  435. package/dist/plugin/security/security-hardening-system.js.map +1 -0
  436. package/dist/plugin/state/context-providers.d.ts +5 -0
  437. package/dist/plugin/state/context-providers.d.ts.map +1 -0
  438. package/dist/plugin/state/context-providers.js +2 -0
  439. package/dist/plugin/state/context-providers.js.map +1 -0
  440. package/dist/plugin/state/index.d.ts +5 -0
  441. package/dist/plugin/state/index.d.ts.map +1 -0
  442. package/dist/plugin/state/index.js +8 -0
  443. package/dist/plugin/state/index.js.map +1 -0
  444. package/dist/plugin/state/state-manager.d.ts +29 -0
  445. package/dist/plugin/state/state-manager.d.ts.map +1 -0
  446. package/dist/plugin/state/state-manager.js +153 -0
  447. package/dist/plugin/state/state-manager.js.map +1 -0
  448. package/dist/plugin/state/state-types.d.ts +6 -0
  449. package/dist/plugin/state/state-types.d.ts.map +1 -0
  450. package/dist/plugin/state/state-types.js +2 -0
  451. package/dist/plugin/state/state-types.js.map +1 -0
  452. package/dist/plugin/utils/codex-parser.d.ts +62 -0
  453. package/dist/plugin/utils/codex-parser.d.ts.map +1 -0
  454. package/dist/plugin/utils/codex-parser.js +396 -0
  455. package/dist/plugin/utils/codex-parser.js.map +1 -0
  456. package/dist/plugin/utils/command-runner.d.ts +24 -0
  457. package/dist/plugin/utils/command-runner.d.ts.map +1 -0
  458. package/dist/plugin/utils/command-runner.js +44 -0
  459. package/dist/plugin/utils/command-runner.js.map +1 -0
  460. package/dist/plugin/utils/import-resolver.d.ts +55 -0
  461. package/dist/plugin/utils/import-resolver.d.ts.map +1 -0
  462. package/dist/plugin/utils/import-resolver.js +198 -0
  463. package/dist/plugin/utils/import-resolver.js.map +1 -0
  464. package/dist/plugin/utils/memory-pool.d.ts +90 -0
  465. package/dist/plugin/utils/memory-pool.d.ts.map +1 -0
  466. package/dist/plugin/utils/memory-pool.js +245 -0
  467. package/dist/plugin/utils/memory-pool.js.map +1 -0
  468. package/dist/plugin/utils/path-resolver.d.ts +49 -0
  469. package/dist/plugin/utils/path-resolver.d.ts.map +1 -0
  470. package/dist/plugin/utils/path-resolver.js +126 -0
  471. package/dist/plugin/utils/path-resolver.js.map +1 -0
  472. package/dist/plugin/utils/test-template-generator.d.ts +26 -0
  473. package/dist/plugin/utils/test-template-generator.d.ts.map +1 -0
  474. package/dist/plugin/utils/test-template-generator.js +178 -0
  475. package/dist/plugin/utils/test-template-generator.js.map +1 -0
  476. package/dist/processors/index.d.ts +12 -0
  477. package/dist/processors/index.d.ts.map +1 -0
  478. package/dist/processors/index.js +12 -0
  479. package/dist/processors/index.js.map +1 -0
  480. package/dist/processors/processor-manager.d.ts +113 -0
  481. package/dist/processors/processor-manager.d.ts.map +1 -0
  482. package/dist/processors/processor-manager.js +498 -0
  483. package/dist/processors/processor-manager.js.map +1 -0
  484. package/dist/processors/processor-types.d.ts +50 -0
  485. package/dist/processors/processor-types.d.ts.map +1 -0
  486. package/dist/processors/processor-types.js +10 -0
  487. package/dist/processors/processor-types.js.map +1 -0
  488. package/dist/processors/refactoring-logging-processor.d.ts +61 -0
  489. package/dist/processors/refactoring-logging-processor.d.ts.map +1 -0
  490. package/dist/processors/refactoring-logging-processor.js +257 -0
  491. package/dist/processors/refactoring-logging-processor.js.map +1 -0
  492. package/dist/state/context-providers.d.ts +5 -0
  493. package/dist/state/context-providers.d.ts.map +1 -0
  494. package/dist/state/context-providers.js +2 -0
  495. package/dist/state/context-providers.js.map +1 -0
  496. package/dist/state/index.d.ts +5 -0
  497. package/dist/state/index.d.ts.map +1 -0
  498. package/dist/state/index.js +8 -0
  499. package/dist/state/index.js.map +1 -0
  500. package/dist/state/state-manager.d.ts +29 -0
  501. package/dist/state/state-manager.d.ts.map +1 -0
  502. package/dist/state/state-manager.js +153 -0
  503. package/dist/state/state-manager.js.map +1 -0
  504. package/dist/state/state-types.d.ts +6 -0
  505. package/dist/state/state-types.d.ts.map +1 -0
  506. package/dist/state/state-types.js +2 -0
  507. package/dist/state/state-types.js.map +1 -0
  508. package/dist/utils/codex-parser.d.ts +62 -0
  509. package/dist/utils/codex-parser.d.ts.map +1 -0
  510. package/dist/utils/codex-parser.js +396 -0
  511. package/dist/utils/codex-parser.js.map +1 -0
  512. package/dist/utils/command-runner.d.ts +24 -0
  513. package/dist/utils/command-runner.d.ts.map +1 -0
  514. package/dist/utils/command-runner.js +44 -0
  515. package/dist/utils/command-runner.js.map +1 -0
  516. package/dist/utils/import-resolver.d.ts +55 -0
  517. package/dist/utils/import-resolver.d.ts.map +1 -0
  518. package/dist/utils/import-resolver.js +198 -0
  519. package/dist/utils/import-resolver.js.map +1 -0
  520. package/dist/utils/memory-pool.d.ts +90 -0
  521. package/dist/utils/memory-pool.d.ts.map +1 -0
  522. package/dist/utils/memory-pool.js +245 -0
  523. package/dist/utils/memory-pool.js.map +1 -0
  524. package/dist/utils/path-resolver.d.ts +49 -0
  525. package/dist/utils/path-resolver.d.ts.map +1 -0
  526. package/dist/utils/path-resolver.js +126 -0
  527. package/dist/utils/path-resolver.js.map +1 -0
  528. package/dist/utils/test-template-generator.d.ts +26 -0
  529. package/dist/utils/test-template-generator.d.ts.map +1 -0
  530. package/dist/utils/test-template-generator.js +178 -0
  531. package/dist/utils/test-template-generator.js.map +1 -0
  532. package/package.json +138 -0
  533. package/scripts/analysis/analyze-context-awareness.ts +219 -0
  534. package/scripts/analysis/analyze-framework-usage.ts +208 -0
  535. package/scripts/analysis/analyzer-agent-runner.js +328 -0
  536. package/scripts/analysis/context-awareness-report.ts +250 -0
  537. package/scripts/analyze-imports.mjs +147 -0
  538. package/scripts/basic-security-audit.cjs +261 -0
  539. package/scripts/boot-check.cjs +188 -0
  540. package/scripts/build/check-syntax.sh +1 -0
  541. package/scripts/build/check-tsc.sh +1 -0
  542. package/scripts/build/check-types.sh +1 -0
  543. package/scripts/build/compile-single.sh +1 -0
  544. package/scripts/build/copy-plugin.sh +1 -0
  545. package/scripts/build/manual-build.sh +1 -0
  546. package/scripts/build/run-build-after-copy.sh +1 -0
  547. package/scripts/build/run-build-attempt.sh +1 -0
  548. package/scripts/build/run-build-errors-grep.sh +1 -0
  549. package/scripts/build/run-build-errors.sh +1 -0
  550. package/scripts/build/run-build-limited.sh +1 -0
  551. package/scripts/build/run-build-list.sh +1 -0
  552. package/scripts/build/run-build.sh +1 -0
  553. package/scripts/build/run-limited.sh +1 -0
  554. package/scripts/build/run-tsc-direct.sh +1 -0
  555. package/scripts/build/run-type-check.sh +1 -0
  556. package/scripts/build/run-typecheck.sh +1 -0
  557. package/scripts/build/test-build.sh +1 -0
  558. package/scripts/check-logs.sh +62 -0
  559. package/scripts/debug/debug-context-enhancement.ts +116 -0
  560. package/scripts/debug/debug-rules.mjs +23 -0
  561. package/scripts/demo/demo-clickable-monitoring.mjs +116 -0
  562. package/scripts/demo/profiling-demo.js +108 -0
  563. package/scripts/demo/profiling-demo.ts +126 -0
  564. package/scripts/demo/reporting-demonstration.ts +184 -0
  565. package/scripts/demo/reporting-examples.ts +105 -0
  566. package/scripts/dependency-scan.cjs +111 -0
  567. package/scripts/deploy-stringray-plugin.sh +323 -0
  568. package/scripts/disable-logging.sh +20 -0
  569. package/scripts/extract-framework.sh +405 -0
  570. package/scripts/fix-mcp-capabilities.js +83 -0
  571. package/scripts/framework/advanced-profiling-integration.sh +384 -0
  572. package/scripts/framework/check-agent-orchestration-health.sh +113 -0
  573. package/scripts/framework/enterprise-analysis-test.sh +174 -0
  574. package/scripts/framework/implement-analyzer-agent.sh +393 -0
  575. package/scripts/framework/merge-mcp-configs.sh +201 -0
  576. package/scripts/framework/validate-multi-agent-orchestration.sh +195 -0
  577. package/scripts/framework/validate-profiling.sh +64 -0
  578. package/scripts/github-actions-monitor.cjs +289 -0
  579. package/scripts/init.ts +121 -0
  580. package/scripts/monitoring/initialize-monitoring-pipeline.sh +89 -0
  581. package/scripts/monitoring/memory-dashboard.sh +52 -0
  582. package/scripts/monitoring/monitoring-daemon.mjs +67 -0
  583. package/scripts/monitoring/monitoring-daemon.sh +190 -0
  584. package/scripts/monitoring/profiling-dashboard.sh +69 -0
  585. package/scripts/performance-report.js +56 -0
  586. package/scripts/postinstall.cjs +240 -0
  587. package/scripts/profile-performance.sh +263 -0
  588. package/scripts/register-mcp-servers-fixed.sh +74 -0
  589. package/scripts/register-mcp-servers.sh +96 -0
  590. package/scripts/reporting/generate-phase1-report.js +28 -0
  591. package/scripts/reporting/run-postprocessor.js +59 -0
  592. package/scripts/reporting/trigger-report.js +15 -0
  593. package/scripts/run-simulations.mjs +29 -0
  594. package/scripts/scenario-data-processor.py +122 -0
  595. package/scripts/scenarios/scenario-security-check.ts +60 -0
  596. package/scripts/scenarios/scenario-user-management.ts +123 -0
  597. package/scripts/setup.cjs +128 -0
  598. package/scripts/simulation/run-simulations.js +84 -0
  599. package/scripts/simulation/simulate-full-orchestrator.ts +239 -0
  600. package/scripts/strray-triage.sh +349 -0
  601. package/scripts/test/run-memory-regression.sh +45 -0
  602. package/scripts/test/run-test.sh +2 -0
  603. package/scripts/test/test-deployment.sh +552 -0
  604. package/scripts/test/test-enhanced-report.ts +24 -0
  605. package/scripts/test/test-graceful-shutdown.sh +35 -0
  606. package/scripts/test/test-integration.mjs +79 -0
  607. package/scripts/test/test-manual-orchestration.sh +168 -0
  608. package/scripts/test/test-max-agents.sh +70 -0
  609. package/scripts/test/test-memory-monitor.sh +40 -0
  610. package/scripts/test/test-memory-pools.sh +58 -0
  611. package/scripts/test/test-module.ts +1 -0
  612. package/scripts/test/test-multi-agent-trigger.sh +251 -0
  613. package/scripts/test/test-orchestrator.txt +1 -0
  614. package/scripts/test/test-postinstall.js +1 -0
  615. package/scripts/test/test-security-module.ts +27 -0
  616. package/scripts/test/test-session-management.js +135 -0
  617. package/scripts/test/test-simulation.mjs +14 -0
  618. package/scripts/test/test-user-service.ts +111 -0
  619. package/scripts/test-comprehensive-path-resolution.mjs +62 -0
  620. package/scripts/test-data-processor.py +51 -0
  621. package/scripts/test-enforcement-e2e.mjs +127 -0
  622. package/scripts/test-full-plugin-no-timeout.sh +30 -0
  623. package/scripts/test-path-resolver.mjs +32 -0
  624. package/scripts/test-rules.mjs +128 -0
  625. package/scripts/test-stringray-plugin.mjs +66 -0
  626. package/scripts/test-utils/smart-test-runner.mjs +609 -0
  627. package/scripts/test-utils/test-quarantine.mjs +246 -0
  628. package/scripts/validate-codex.js +60 -0
  629. package/scripts/validate-phase1.mjs +189 -0
  630. package/scripts/validation/run-validators.js +114 -0
  631. package/scripts/validation/validate-external-processes.js +240 -0
  632. package/scripts/validation/validate-mcp-connectivity.js +165 -0
  633. package/scripts/validation/validate-oh-my-opencode-integration.js +200 -0
  634. package/scripts/validation/validate-reports.ts +114 -0
  635. package/scripts/verify-phase1.js +144 -0
@@ -0,0 +1,794 @@
1
+ /**
2
+ * StrRay Refactoring Strategies MCP Server
3
+ *
4
+ * Knowledge skill for code refactoring, technical debt elimination,
5
+ * modernization, and code improvement patterns
6
+ */
7
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
8
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
9
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
10
+ class StrRayRefactoringStrategiesServer {
11
+ server;
12
+ constructor() {
13
+ this.server = new Server({
14
+ name: "strray-refactoring-strategies",
15
+ version: "1.0.0",
16
+ }, {
17
+ capabilities: {
18
+ tools: {},
19
+ },
20
+ });
21
+ this.setupToolHandlers();
22
+ console.log("StrRay Refactoring Strategies MCP Server initialized");
23
+ }
24
+ setupToolHandlers() {
25
+ this.server.setRequestHandler(ListToolsRequestSchema, async () => {
26
+ return {
27
+ tools: [
28
+ {
29
+ name: "analyze_technical_debt",
30
+ description: "Analyze codebase for technical debt and refactoring opportunities",
31
+ inputSchema: {
32
+ type: "object",
33
+ properties: {
34
+ codePath: {
35
+ type: "string",
36
+ description: "Path to code directory to analyze",
37
+ },
38
+ includeModernization: {
39
+ type: "boolean",
40
+ description: "Include technology modernization suggestions",
41
+ default: true,
42
+ },
43
+ debtThreshold: {
44
+ type: "number",
45
+ description: "Minimum debt score to report (0-100)",
46
+ default: 20,
47
+ },
48
+ },
49
+ required: ["codePath"],
50
+ },
51
+ },
52
+ {
53
+ name: "suggest_refactoring",
54
+ description: "Suggest specific refactoring opportunities for improved code quality",
55
+ inputSchema: {
56
+ type: "object",
57
+ properties: {
58
+ filePath: {
59
+ type: "string",
60
+ description: "Path to specific file to analyze",
61
+ },
62
+ refactoringTypes: {
63
+ type: "array",
64
+ items: {
65
+ type: "string",
66
+ enum: [
67
+ "extract-method",
68
+ "rename-variable",
69
+ "remove-duplicate",
70
+ "simplify-condition",
71
+ "extract-class",
72
+ "move-method",
73
+ ],
74
+ },
75
+ description: "Types of refactoring to focus on",
76
+ },
77
+ maxSuggestions: {
78
+ type: "number",
79
+ description: "Maximum number of suggestions to return",
80
+ default: 10,
81
+ },
82
+ },
83
+ required: ["filePath"],
84
+ },
85
+ },
86
+ {
87
+ name: "generate_refactoring_plan",
88
+ description: "Generate a comprehensive refactoring plan with prioritization",
89
+ inputSchema: {
90
+ type: "object",
91
+ properties: {
92
+ codePath: {
93
+ type: "string",
94
+ description: "Path to codebase for refactoring analysis",
95
+ },
96
+ timeBudget: {
97
+ type: "string",
98
+ enum: ["1-week", "1-month", "3-months", "6-months"],
99
+ description: "Available time for refactoring",
100
+ },
101
+ riskTolerance: {
102
+ type: "string",
103
+ enum: ["low", "medium", "high"],
104
+ description: "Risk tolerance for changes",
105
+ },
106
+ priorities: {
107
+ type: "array",
108
+ items: { type: "string" },
109
+ description: "Specific priorities (performance, maintainability, security)",
110
+ default: ["maintainability", "performance"],
111
+ },
112
+ },
113
+ required: ["codePath", "timeBudget"],
114
+ },
115
+ },
116
+ {
117
+ name: "modernize_codebase",
118
+ description: "Suggest modernization strategies for outdated code and dependencies",
119
+ inputSchema: {
120
+ type: "object",
121
+ properties: {
122
+ codePath: {
123
+ type: "string",
124
+ description: "Path to codebase to analyze",
125
+ },
126
+ technologies: {
127
+ type: "array",
128
+ items: { type: "string" },
129
+ description: "Specific technologies to focus on (node, react, etc.)",
130
+ },
131
+ safeMode: {
132
+ type: "boolean",
133
+ description: "Only suggest low-risk modernization options",
134
+ default: true,
135
+ },
136
+ },
137
+ required: ["codePath"],
138
+ },
139
+ },
140
+ ],
141
+ };
142
+ });
143
+ this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
144
+ const { name, arguments: args } = request.params;
145
+ switch (name) {
146
+ case "analyze_technical_debt":
147
+ return await this.analyzeTechnicalDebt(args);
148
+ case "suggest_refactoring":
149
+ return await this.suggestRefactoring(args);
150
+ case "generate_refactoring_plan":
151
+ return await this.generateRefactoringPlan(args);
152
+ case "modernize_codebase":
153
+ return await this.modernizeCodebase(args);
154
+ default:
155
+ throw new Error(`Unknown tool: ${name}`);
156
+ }
157
+ });
158
+ }
159
+ async analyzeTechnicalDebt(args) {
160
+ const { codePath, includeModernization = true, debtThreshold = 20 } = args;
161
+ try {
162
+ const analysis = await this.performTechnicalDebtAnalysis(codePath, includeModernization);
163
+ // Filter results based on threshold
164
+ const significantIssues = analysis.criticalIssues.filter((issue) => this.calculateDebtScore(issue) >= debtThreshold);
165
+ return {
166
+ content: [
167
+ {
168
+ type: "text",
169
+ text: `Technical Debt Analysis for ${codePath}:\n\n` +
170
+ `📊 OVERALL DEBT METRICS\n` +
171
+ `Total Technical Debt: ${analysis.totalDebt}/100\n` +
172
+ `Maintainability Score: ${analysis.maintainabilityScore}/100\n` +
173
+ `Technical Debt Ratio: ${(analysis.technicalDebtRatio * 100).toFixed(1)}%\n\n` +
174
+ `💰 DEBT BY CATEGORY\n${Object.entries(analysis.debtByCategory)
175
+ .map(([category, score]) => `${category}: ${score}/100`)
176
+ .join("\n")}\n\n` +
177
+ `🚨 CRITICAL ISSUES (${significantIssues.length})\n${significantIssues
178
+ .slice(0, 5)
179
+ .map((issue) => `${this.getImpactIcon(issue.impact)} ${issue.type.toUpperCase()}: ${issue.description} (${issue.file}:${issue.line})`)
180
+ .join("\n")}\n\n` +
181
+ `${includeModernization
182
+ ? `🔄 MODERNIZATION OPPORTUNITIES\n${analysis.modernizationOpportunities
183
+ .slice(0, 3)
184
+ .map((mod) => `${mod.technology}: ${mod.currentVersion} → ${mod.recommendedVersion} (${mod.migrationEffort} effort)`)
185
+ .join("\n")}\n\n`
186
+ : ""}` +
187
+ `💡 RECOMMENDATIONS\n` +
188
+ `• Focus on high-impact, low-effort refactoring first\n` +
189
+ `• Address critical issues before adding new features\n` +
190
+ `• Consider automated testing before major refactoring\n` +
191
+ `• Plan modernization in phases to minimize disruption`,
192
+ },
193
+ ],
194
+ data: {
195
+ analysis,
196
+ filteredIssues: significantIssues,
197
+ recommendations: this.generateDebtRecommendations(analysis),
198
+ },
199
+ };
200
+ }
201
+ catch (error) {
202
+ return {
203
+ content: [
204
+ {
205
+ type: "text",
206
+ text: `Error analyzing technical debt: ${error instanceof Error ? error.message : String(error)}`,
207
+ },
208
+ ],
209
+ };
210
+ }
211
+ }
212
+ async suggestRefactoring(args) {
213
+ const { filePath, refactoringTypes, maxSuggestions = 10 } = args;
214
+ try {
215
+ const suggestions = await this.analyzeFileForRefactoring(filePath, refactoringTypes);
216
+ const prioritized = this.prioritizeSuggestions(suggestions).slice(0, maxSuggestions);
217
+ return {
218
+ content: [
219
+ {
220
+ type: "text",
221
+ text: `Refactoring Suggestions for ${filePath}:\n\n` +
222
+ `📋 ANALYSIS RESULTS\n` +
223
+ `Total Opportunities: ${suggestions.length}\n` +
224
+ `High Impact: ${suggestions.filter((s) => s.impact === "high").length}\n` +
225
+ `Low Effort: ${suggestions.filter((s) => s.effort === "low").length}\n\n` +
226
+ `🎯 TOP SUGGESTIONS\n${prioritized
227
+ .map((suggestion, i) => `${i + 1}. ${this.getRefactoringIcon(suggestion.type)} ${suggestion.type.replace("-", " ").toUpperCase()}\n` +
228
+ ` ${suggestion.description}\n` +
229
+ ` Impact: ${suggestion.impact.toUpperCase()} | Effort: ${suggestion.effort.toUpperCase()}\n` +
230
+ ` Benefits: ${suggestion.benefits.slice(0, 2).join(", ")}`)
231
+ .join("\n\n")}\n\n` +
232
+ `💡 IMPLEMENTATION NOTES\n` +
233
+ `• Start with low-effort, high-impact changes\n` +
234
+ `• Ensure comprehensive tests before refactoring\n` +
235
+ `• Make small, incremental changes\n` +
236
+ `• Run tests after each refactoring step`,
237
+ },
238
+ ],
239
+ data: {
240
+ suggestions: prioritized,
241
+ implementationPlan: this.createImplementationPlan(prioritized),
242
+ },
243
+ };
244
+ }
245
+ catch (error) {
246
+ return {
247
+ content: [
248
+ {
249
+ type: "text",
250
+ text: `Error suggesting refactoring: ${error instanceof Error ? error.message : String(error)}`,
251
+ },
252
+ ],
253
+ };
254
+ }
255
+ }
256
+ async generateRefactoringPlan(args) {
257
+ const { codePath, timeBudget, riskTolerance, priorities = ["maintainability", "performance"], } = args;
258
+ try {
259
+ const fullAnalysis = await this.performTechnicalDebtAnalysis(codePath, false);
260
+ const plan = this.createPrioritizedRefactoringPlan(fullAnalysis, timeBudget, riskTolerance, priorities);
261
+ return {
262
+ content: [
263
+ {
264
+ type: "text",
265
+ text: `Refactoring Plan for ${codePath}:\n\n` +
266
+ `⏰ TIME BUDGET: ${timeBudget.toUpperCase()}\n` +
267
+ `🎯 RISK TOLERANCE: ${riskTolerance.toUpperCase()}\n` +
268
+ `📍 PRIORITIES: ${priorities.join(", ")}\n\n` +
269
+ `📊 PLAN OVERVIEW\n` +
270
+ `Total Phases: ${plan.phases.length}\n` +
271
+ `Estimated Duration: ${plan.totalWeeks} weeks\n` +
272
+ `Risk Level: ${plan.overallRisk}\n` +
273
+ `Expected Improvement: ${plan.expectedImprovement}%\n\n` +
274
+ `🗓️ PHASE-BY-PHASE PLAN\n${plan.phases
275
+ .map((phase, i) => `Phase ${i + 1}: ${phase.name} (${phase.duration} weeks)\n` +
276
+ ` Focus: ${phase.focus}\n` +
277
+ ` Changes: ${phase.changes.length}\n` +
278
+ ` Risk: ${phase.risk}\n` +
279
+ ` Expected Impact: ${phase.expectedImpact}`)
280
+ .join("\n\n")}\n\n` +
281
+ `⚠️ IMPORTANT CONSIDERATIONS\n` +
282
+ `• Always backup code before refactoring\n` +
283
+ `• Run full test suite after each phase\n` +
284
+ `• Monitor performance metrics during changes\n` +
285
+ `• Have rollback plan for each phase\n` +
286
+ `• Communicate changes to team regularly`,
287
+ },
288
+ ],
289
+ data: {
290
+ plan,
291
+ riskAssessment: this.assessPlanRisks(plan),
292
+ successMetrics: this.defineSuccessMetrics(plan),
293
+ },
294
+ };
295
+ }
296
+ catch (error) {
297
+ return {
298
+ content: [
299
+ {
300
+ type: "text",
301
+ text: `Error generating refactoring plan: ${error instanceof Error ? error.message : String(error)}`,
302
+ },
303
+ ],
304
+ };
305
+ }
306
+ }
307
+ async modernizeCodebase(args) {
308
+ const { codePath, technologies, safeMode = true } = args;
309
+ try {
310
+ const modernization = await this.analyzeModernizationOpportunities(codePath, technologies, safeMode);
311
+ return {
312
+ content: [
313
+ {
314
+ type: "text",
315
+ text: `Codebase Modernization Analysis for ${codePath}:\n\n` +
316
+ `🔄 MODERNIZATION OPPORTUNITIES\n` +
317
+ `Total Suggestions: ${modernization.suggestions.length}\n` +
318
+ `Safe Updates: ${modernization.suggestions.filter((s) => !s.breakingChanges).length}\n` +
319
+ `Breaking Changes: ${modernization.suggestions.filter((s) => s.breakingChanges).length}\n\n` +
320
+ `📦 DEPENDENCY UPDATES\n${modernization.suggestions
321
+ .map((suggestion) => `${this.getMigrationIcon(suggestion.migrationEffort)} ${suggestion.technology}\n` +
322
+ ` ${suggestion.currentVersion} → ${suggestion.recommendedVersion}\n` +
323
+ ` ${suggestion.breakingChanges ? "⚠️ BREAKING" : "✅ SAFE"}\n` +
324
+ ` Benefits: ${suggestion.benefits.slice(0, 2).join(", ")}`)
325
+ .join("\n\n")}\n\n` +
326
+ `🎯 IMPLEMENTATION STRATEGY\n` +
327
+ `1. Start with safe, non-breaking updates\n` +
328
+ `2. Update dependencies in groups (testing, UI, core)\n` +
329
+ `3. Run comprehensive tests after each update\n` +
330
+ `4. Plan breaking changes for major version bumps\n` +
331
+ `5. Consider gradual migration for large changes\n\n` +
332
+ `⚠️ MIGRATION CONSIDERATIONS\n` +
333
+ `• Schedule updates during low-traffic periods\n` +
334
+ `• Have rollback plan for each modernization step\n` +
335
+ `• Monitor performance after updates\n` +
336
+ `• Update documentation to reflect changes`,
337
+ },
338
+ ],
339
+ data: {
340
+ modernization,
341
+ migrationStrategy: this.createMigrationStrategy(modernization),
342
+ rollbackPlan: this.createRollbackPlan(modernization),
343
+ },
344
+ };
345
+ }
346
+ catch (error) {
347
+ return {
348
+ content: [
349
+ {
350
+ type: "text",
351
+ text: `Error modernizing codebase: ${error instanceof Error ? error.message : String(error)}`,
352
+ },
353
+ ],
354
+ };
355
+ }
356
+ }
357
+ async performTechnicalDebtAnalysis(codePath, includeModernization) {
358
+ // Simplified analysis - would be more comprehensive in production
359
+ const analysis = {
360
+ totalDebt: 0,
361
+ debtByCategory: {
362
+ "code-quality": 0,
363
+ architecture: 0,
364
+ performance: 0,
365
+ maintainability: 0,
366
+ security: 0,
367
+ },
368
+ criticalIssues: [],
369
+ modernizationOpportunities: [],
370
+ maintainabilityScore: 85,
371
+ technicalDebtRatio: 0.15,
372
+ };
373
+ if (includeModernization) {
374
+ analysis.modernizationOpportunities = [
375
+ {
376
+ technology: "Node.js",
377
+ currentVersion: "18.x",
378
+ recommendedVersion: "20.x",
379
+ breakingChanges: false,
380
+ migrationEffort: "low",
381
+ benefits: ["Better performance", "Security updates", "New features"],
382
+ risks: ["Minimal compatibility issues"],
383
+ },
384
+ {
385
+ technology: "TypeScript",
386
+ currentVersion: "5.0",
387
+ recommendedVersion: "5.3",
388
+ breakingChanges: false,
389
+ migrationEffort: "low",
390
+ benefits: ["Better type checking", "New language features"],
391
+ risks: ["None significant"],
392
+ },
393
+ ];
394
+ }
395
+ // Calculate debt scores
396
+ analysis.debtByCategory["code-quality"] = 25;
397
+ analysis.debtByCategory["maintainability"] = 20;
398
+ analysis.debtByCategory["performance"] = 15;
399
+ analysis.totalDebt = Object.values(analysis.debtByCategory).reduce((sum, score) => sum + score, 0);
400
+ return analysis;
401
+ }
402
+ async analyzeFileForRefactoring(filePath, types) {
403
+ const opportunities = [];
404
+ try {
405
+ const fs = await import("fs");
406
+ const content = fs.readFileSync(filePath, "utf-8");
407
+ const lines = content.split("\n");
408
+ lines.forEach((line, index) => {
409
+ const lineNum = index + 1;
410
+ // Long method detection
411
+ if (line.includes("function") ||
412
+ (line.includes("const") && line.includes("=>"))) {
413
+ const functionStart = index;
414
+ let braceCount = 0;
415
+ let functionEnd = index;
416
+ for (let i = functionStart; i < lines.length; i++) {
417
+ const line = lines[i];
418
+ const openBraces = line.match(/{/g);
419
+ const closeBraces = line.match(/}/g);
420
+ braceCount += openBraces ? openBraces.length : 0;
421
+ braceCount -= closeBraces ? closeBraces.length : 0;
422
+ if (braceCount === 0 && braceCount !== 0) {
423
+ functionEnd = i;
424
+ break;
425
+ }
426
+ }
427
+ const functionLength = functionEnd - functionStart;
428
+ if (functionLength > 30) {
429
+ opportunities.push({
430
+ type: "extract-method",
431
+ file: filePath,
432
+ line: lineNum,
433
+ description: `Function is ${functionLength} lines long - consider extracting methods`,
434
+ impact: "medium",
435
+ effort: "medium",
436
+ beforeCode: lines
437
+ .slice(functionStart, functionEnd + 1)
438
+ .join("\n"),
439
+ afterCode: "// Extracted into smaller, focused methods",
440
+ benefits: [
441
+ "Improved readability",
442
+ "Easier testing",
443
+ "Better maintainability",
444
+ ],
445
+ });
446
+ }
447
+ }
448
+ // Duplicate code detection (simplified)
449
+ if (line.length > 50 &&
450
+ line.includes("if") &&
451
+ line.includes("return")) {
452
+ opportunities.push({
453
+ type: "simplify-condition",
454
+ file: filePath,
455
+ line: lineNum,
456
+ description: "Complex conditional logic - consider simplifying",
457
+ impact: "low",
458
+ effort: "low",
459
+ beforeCode: line,
460
+ afterCode: "// Simplified conditional logic",
461
+ benefits: ["Improved readability", "Reduced complexity"],
462
+ });
463
+ }
464
+ });
465
+ }
466
+ catch (error) {
467
+ // Skip files that can't be analyzed
468
+ }
469
+ return opportunities.filter((opp) => !types || types.includes(opp.type));
470
+ }
471
+ prioritizeSuggestions(suggestions) {
472
+ return suggestions.sort((a, b) => {
473
+ const scoreA = this.calculatePriorityScore(a);
474
+ const scoreB = this.calculatePriorityScore(b);
475
+ return scoreB - scoreA;
476
+ });
477
+ }
478
+ calculatePriorityScore(suggestion) {
479
+ const impactScores = { high: 3, medium: 2, low: 1 };
480
+ const effortScores = { low: 3, medium: 2, high: 1 };
481
+ return impactScores[suggestion.impact] * effortScores[suggestion.effort];
482
+ }
483
+ createPrioritizedRefactoringPlan(analysis, timeBudget, riskTolerance, priorities) {
484
+ const timeLimits = {
485
+ "1-week": 1,
486
+ "1-month": 4,
487
+ "3-months": 12,
488
+ "6-months": 26,
489
+ };
490
+ const availableWeeks = timeLimits[timeBudget];
491
+ const riskMultipliers = { low: 0.5, medium: 1, high: 1.5 };
492
+ const riskMultiplier = riskMultipliers[riskTolerance];
493
+ // Create phases based on analysis
494
+ const phases = [
495
+ {
496
+ name: "Code Quality Cleanup",
497
+ duration: Math.min(2, availableWeeks),
498
+ focus: "Fix linting issues, remove dead code, improve formatting",
499
+ changes: ["Linting fixes", "Code formatting", "Dead code removal"],
500
+ risk: "low",
501
+ expectedImpact: "high",
502
+ },
503
+ {
504
+ name: "Refactoring Core Issues",
505
+ duration: Math.min(4, Math.max(0, availableWeeks - 2)),
506
+ focus: "Address high-impact technical debt and refactoring opportunities",
507
+ changes: [
508
+ "Method extraction",
509
+ "Class restructuring",
510
+ "Dependency cleanup",
511
+ ],
512
+ risk: "medium",
513
+ expectedImpact: "high",
514
+ },
515
+ {
516
+ name: "Architecture Improvements",
517
+ duration: Math.min(6, Math.max(0, availableWeeks - 6)),
518
+ focus: "Modernize architecture patterns and improve scalability",
519
+ changes: [
520
+ "Pattern updates",
521
+ "Architecture refactoring",
522
+ "Performance optimization",
523
+ ],
524
+ risk: "high",
525
+ expectedImpact: "medium",
526
+ },
527
+ ].filter((phase) => phase.duration > 0);
528
+ return {
529
+ phases,
530
+ totalWeeks: phases.reduce((sum, phase) => sum + phase.duration, 0),
531
+ overallRisk: riskTolerance,
532
+ expectedImprovement: 30 + availableWeeks * 5, // Rough estimate
533
+ priorities,
534
+ };
535
+ }
536
+ async analyzeModernizationOpportunities(codePath, technologies, safeMode) {
537
+ const suggestions = [];
538
+ // Check package.json for dependencies
539
+ try {
540
+ const fs = await import("fs");
541
+ const packagePath = `${codePath}/package.json`;
542
+ if (fs.existsSync(packagePath)) {
543
+ const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf-8"));
544
+ // Node.js version check
545
+ if (technologies.includes("node") || technologies.length === 0) {
546
+ suggestions.push({
547
+ technology: "Node.js",
548
+ currentVersion: packageJson.engines?.node || "16.x",
549
+ recommendedVersion: "20.x",
550
+ breakingChanges: false,
551
+ migrationEffort: "low",
552
+ benefits: [
553
+ "Better performance",
554
+ "Security updates",
555
+ "New ECMAScript features",
556
+ ],
557
+ risks: ["Minimal compatibility concerns"],
558
+ });
559
+ }
560
+ // TypeScript version check
561
+ if (technologies.includes("typescript") || technologies.length === 0) {
562
+ const tsVersion = packageJson.devDependencies?.typescript ||
563
+ packageJson.dependencies?.typescript;
564
+ if (tsVersion && tsVersion.startsWith("4.")) {
565
+ suggestions.push({
566
+ technology: "TypeScript",
567
+ currentVersion: tsVersion,
568
+ recommendedVersion: "^5.3.0",
569
+ breakingChanges: false,
570
+ migrationEffort: "low",
571
+ benefits: [
572
+ "Better type inference",
573
+ "Improved performance",
574
+ "New language features",
575
+ ],
576
+ risks: ["Minor breaking changes in edge cases"],
577
+ });
578
+ }
579
+ }
580
+ }
581
+ }
582
+ catch (error) {
583
+ // Skip modernization analysis if files can't be read
584
+ }
585
+ return {
586
+ suggestions: safeMode
587
+ ? suggestions.filter((s) => !s.breakingChanges)
588
+ : suggestions,
589
+ summary: {
590
+ totalSuggestions: suggestions.length,
591
+ safeUpdates: suggestions.filter((s) => !s.breakingChanges).length,
592
+ breakingUpdates: suggestions.filter((s) => s.breakingChanges).length,
593
+ },
594
+ };
595
+ }
596
+ calculateDebtScore(issue) {
597
+ const impactScores = { high: 30, medium: 20, low: 10 };
598
+ const effortScores = { high: 10, medium: 20, low: 30 };
599
+ return impactScores[issue.impact] + effortScores[issue.effort];
600
+ }
601
+ generateDebtRecommendations(analysis) {
602
+ const recommendations = [];
603
+ if (analysis.totalDebt > 50) {
604
+ recommendations.push("Prioritize technical debt reduction in next sprint");
605
+ }
606
+ if (analysis.criticalIssues.length > 0) {
607
+ recommendations.push("Address critical issues immediately before they cause production problems");
608
+ }
609
+ if (analysis.maintainabilityScore < 70) {
610
+ recommendations.push("Focus on improving code maintainability through refactoring");
611
+ }
612
+ return recommendations;
613
+ }
614
+ createImplementationPlan(suggestions) {
615
+ return {
616
+ phases: [
617
+ {
618
+ name: "Preparation",
619
+ steps: [
620
+ "Create comprehensive tests",
621
+ "Set up CI/CD for validation",
622
+ "Create backup branch",
623
+ ],
624
+ },
625
+ {
626
+ name: "Implementation",
627
+ steps: suggestions.map((s) => `Implement ${s.type} refactoring`),
628
+ parallel: suggestions.filter((s) => s.effort === "low").length,
629
+ },
630
+ {
631
+ name: "Validation",
632
+ steps: [
633
+ "Run full test suite",
634
+ "Performance testing",
635
+ "Code review",
636
+ "Deploy to staging",
637
+ ],
638
+ },
639
+ ],
640
+ estimatedTime: suggestions.reduce((sum, s) => {
641
+ const effortHours = { low: 2, medium: 8, high: 24 };
642
+ return sum + effortHours[s.effort];
643
+ }, 0),
644
+ };
645
+ }
646
+ assessPlanRisks(plan) {
647
+ return {
648
+ overallRisk: plan.phases.some((p) => p.risk === "high")
649
+ ? "high"
650
+ : "medium",
651
+ riskFactors: [
652
+ "Breaking changes in refactoring",
653
+ "Performance regression",
654
+ "Increased complexity",
655
+ "Testing gaps",
656
+ ],
657
+ mitigationStrategies: [
658
+ "Comprehensive testing before/after",
659
+ "Gradual rollout with feature flags",
660
+ "Performance monitoring and alerting",
661
+ "Rollback plan for each phase",
662
+ ],
663
+ };
664
+ }
665
+ defineSuccessMetrics(plan) {
666
+ return {
667
+ codeQuality: {
668
+ target: "Improve maintainability score by 20%",
669
+ current: "Baseline measurement needed",
670
+ measurement: "Automated code quality tools",
671
+ },
672
+ performance: {
673
+ target: "No performance regression",
674
+ current: "Establish performance baselines",
675
+ measurement: "Automated performance tests",
676
+ },
677
+ delivery: {
678
+ target: `Complete refactoring within ${plan.totalWeeks} weeks`,
679
+ current: "Track progress weekly",
680
+ measurement: "Sprint velocity and completion metrics",
681
+ },
682
+ };
683
+ }
684
+ createMigrationStrategy(modernization) {
685
+ return {
686
+ phases: [
687
+ {
688
+ name: "Assessment",
689
+ duration: 1,
690
+ tasks: [
691
+ "Analyze current state",
692
+ "Identify dependencies",
693
+ "Plan testing strategy",
694
+ ],
695
+ },
696
+ {
697
+ name: "Safe Updates",
698
+ duration: 2,
699
+ tasks: [
700
+ "Update patch versions",
701
+ "Update minor versions",
702
+ "Validate compatibility",
703
+ ],
704
+ },
705
+ {
706
+ name: "Breaking Changes",
707
+ duration: 4,
708
+ tasks: [
709
+ "Update major versions",
710
+ "Refactor breaking changes",
711
+ "Update configurations",
712
+ ],
713
+ },
714
+ {
715
+ name: "Optimization",
716
+ duration: 2,
717
+ tasks: [
718
+ "Performance tuning",
719
+ "Bundle optimization",
720
+ "Cleanup deprecated code",
721
+ ],
722
+ },
723
+ ],
724
+ totalDuration: 9,
725
+ successCriteria: [
726
+ "All tests passing",
727
+ "Performance within 5% of baseline",
728
+ "Zero production incidents during migration",
729
+ "Documentation updated",
730
+ ],
731
+ };
732
+ }
733
+ createRollbackPlan(modernization) {
734
+ return {
735
+ strategies: [
736
+ {
737
+ type: "Branch-based",
738
+ description: "Maintain separate branches for each modernization phase",
739
+ effort: "low",
740
+ effectiveness: "high",
741
+ },
742
+ {
743
+ type: "Container-based",
744
+ description: "Use containerized deployments with quick rollback",
745
+ effort: "medium",
746
+ effectiveness: "high",
747
+ },
748
+ {
749
+ type: "Feature Flags",
750
+ description: "Gradually enable features with ability to disable",
751
+ effort: "high",
752
+ effectiveness: "very-high",
753
+ },
754
+ ],
755
+ emergencyProcedures: [
756
+ "Immediate rollback to last stable version",
757
+ "Disable problematic features via feature flags",
758
+ "Switch to backup infrastructure if needed",
759
+ "Communicate incident status to stakeholders",
760
+ ],
761
+ };
762
+ }
763
+ getImpactIcon(impact) {
764
+ const icons = { high: "🔴", medium: "🟡", low: "🟢" };
765
+ return icons[impact] || "❓";
766
+ }
767
+ getRefactoringIcon(type) {
768
+ const icons = {
769
+ "extract-method": "📦",
770
+ "rename-variable": "🏷️",
771
+ "remove-duplicate": "🗑️",
772
+ "simplify-condition": "🔀",
773
+ "extract-class": "🏗️",
774
+ "move-method": "🚚",
775
+ };
776
+ return icons[type] || "🔧";
777
+ }
778
+ getMigrationIcon(effort) {
779
+ const icons = { low: "🟢", medium: "🟡", high: "🔴" };
780
+ return icons[effort] || "❓";
781
+ }
782
+ async run() {
783
+ const transport = new StdioServerTransport();
784
+ await this.server.connect(transport);
785
+ console.log("StrRay Refactoring Strategies MCP Server running...");
786
+ }
787
+ }
788
+ // Run the server if this file is executed directly
789
+ if (import.meta.url === `file://${process.argv[1]}`) {
790
+ const server = new StrRayRefactoringStrategiesServer();
791
+ server.run().catch(console.error);
792
+ }
793
+ export { StrRayRefactoringStrategiesServer };
794
+ //# sourceMappingURL=refactoring-strategies.server.js.map