@claude-flow/cli 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (263) hide show
  1. package/README.md +172 -6
  2. package/bin/cli.js +0 -0
  3. package/dist/src/commands/agent.d.ts.map +1 -1
  4. package/dist/src/commands/agent.js +43 -27
  5. package/dist/src/commands/agent.js.map +1 -1
  6. package/dist/src/commands/analyze.d.ts +19 -0
  7. package/dist/src/commands/analyze.d.ts.map +1 -0
  8. package/dist/src/commands/analyze.js +1823 -0
  9. package/dist/src/commands/analyze.js.map +1 -0
  10. package/dist/src/commands/claims.d.ts +10 -0
  11. package/dist/src/commands/claims.d.ts.map +1 -0
  12. package/dist/src/commands/claims.js +288 -0
  13. package/dist/src/commands/claims.js.map +1 -0
  14. package/dist/src/commands/completions.d.ts +10 -0
  15. package/dist/src/commands/completions.d.ts.map +1 -0
  16. package/dist/src/commands/completions.js +539 -0
  17. package/dist/src/commands/completions.js.map +1 -0
  18. package/dist/src/commands/config.js +2 -2
  19. package/dist/src/commands/config.js.map +1 -1
  20. package/dist/src/commands/daemon.d.ts +8 -0
  21. package/dist/src/commands/daemon.d.ts.map +1 -0
  22. package/dist/src/commands/daemon.js +545 -0
  23. package/dist/src/commands/daemon.js.map +1 -0
  24. package/dist/src/commands/deployment.d.ts +10 -0
  25. package/dist/src/commands/deployment.d.ts.map +1 -0
  26. package/dist/src/commands/deployment.js +289 -0
  27. package/dist/src/commands/deployment.js.map +1 -0
  28. package/dist/src/commands/doctor.d.ts +10 -0
  29. package/dist/src/commands/doctor.d.ts.map +1 -0
  30. package/dist/src/commands/doctor.js +429 -0
  31. package/dist/src/commands/doctor.js.map +1 -0
  32. package/dist/src/commands/embeddings.d.ts +18 -0
  33. package/dist/src/commands/embeddings.d.ts.map +1 -0
  34. package/dist/src/commands/embeddings.js +616 -0
  35. package/dist/src/commands/embeddings.js.map +1 -0
  36. package/dist/src/commands/hive-mind.d.ts.map +1 -1
  37. package/dist/src/commands/hive-mind.js +252 -35
  38. package/dist/src/commands/hive-mind.js.map +1 -1
  39. package/dist/src/commands/hooks.d.ts.map +1 -1
  40. package/dist/src/commands/hooks.js +326 -2
  41. package/dist/src/commands/hooks.js.map +1 -1
  42. package/dist/src/commands/index.d.ts +13 -0
  43. package/dist/src/commands/index.d.ts.map +1 -1
  44. package/dist/src/commands/index.js +52 -1
  45. package/dist/src/commands/index.js.map +1 -1
  46. package/dist/src/commands/mcp.js +4 -4
  47. package/dist/src/commands/mcp.js.map +1 -1
  48. package/dist/src/commands/memory.d.ts.map +1 -1
  49. package/dist/src/commands/memory.js +236 -170
  50. package/dist/src/commands/memory.js.map +1 -1
  51. package/dist/src/commands/migrate.js +1 -1
  52. package/dist/src/commands/migrate.js.map +1 -1
  53. package/dist/src/commands/neural.d.ts +10 -0
  54. package/dist/src/commands/neural.d.ts.map +1 -0
  55. package/dist/src/commands/neural.js +224 -0
  56. package/dist/src/commands/neural.js.map +1 -0
  57. package/dist/src/commands/performance.d.ts +10 -0
  58. package/dist/src/commands/performance.d.ts.map +1 -0
  59. package/dist/src/commands/performance.js +262 -0
  60. package/dist/src/commands/performance.js.map +1 -0
  61. package/dist/src/commands/plugins.d.ts +10 -0
  62. package/dist/src/commands/plugins.d.ts.map +1 -0
  63. package/dist/src/commands/plugins.js +280 -0
  64. package/dist/src/commands/plugins.js.map +1 -0
  65. package/dist/src/commands/process.d.ts.map +1 -1
  66. package/dist/src/commands/process.js +95 -20
  67. package/dist/src/commands/process.js.map +1 -1
  68. package/dist/src/commands/providers.d.ts +10 -0
  69. package/dist/src/commands/providers.d.ts.map +1 -0
  70. package/dist/src/commands/providers.js +232 -0
  71. package/dist/src/commands/providers.js.map +1 -0
  72. package/dist/src/commands/route.d.ts +16 -0
  73. package/dist/src/commands/route.d.ts.map +1 -0
  74. package/dist/src/commands/route.js +603 -0
  75. package/dist/src/commands/route.js.map +1 -0
  76. package/dist/src/commands/security.d.ts +10 -0
  77. package/dist/src/commands/security.d.ts.map +1 -0
  78. package/dist/src/commands/security.js +261 -0
  79. package/dist/src/commands/security.js.map +1 -0
  80. package/dist/src/commands/start.js +2 -2
  81. package/dist/src/commands/start.js.map +1 -1
  82. package/dist/src/commands/status.d.ts.map +1 -1
  83. package/dist/src/commands/status.js +26 -2
  84. package/dist/src/commands/status.js.map +1 -1
  85. package/dist/src/commands/swarm.js +6 -6
  86. package/dist/src/commands/swarm.js.map +1 -1
  87. package/dist/src/index.d.ts +4 -2
  88. package/dist/src/index.d.ts.map +1 -1
  89. package/dist/src/index.js +63 -5
  90. package/dist/src/index.js.map +1 -1
  91. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  92. package/dist/src/init/claudemd-generator.js +218 -362
  93. package/dist/src/init/claudemd-generator.js.map +1 -1
  94. package/dist/src/init/executor.d.ts.map +1 -1
  95. package/dist/src/init/executor.js +5 -0
  96. package/dist/src/init/executor.js.map +1 -1
  97. package/dist/src/init/settings-generator.d.ts.map +1 -1
  98. package/dist/src/init/settings-generator.js +22 -12
  99. package/dist/src/init/settings-generator.js.map +1 -1
  100. package/dist/src/mcp-client.d.ts.map +1 -1
  101. package/dist/src/mcp-client.js +17 -1
  102. package/dist/src/mcp-client.js.map +1 -1
  103. package/dist/src/mcp-server.d.ts.map +1 -1
  104. package/dist/src/mcp-server.js +5 -0
  105. package/dist/src/mcp-server.js.map +1 -1
  106. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  107. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  108. package/dist/src/mcp-tools/agent-tools.js +350 -14
  109. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  110. package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  111. package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -0
  112. package/dist/src/mcp-tools/analyze-tools.js +317 -0
  113. package/dist/src/mcp-tools/analyze-tools.js.map +1 -0
  114. package/dist/src/mcp-tools/config-tools.d.ts +1 -1
  115. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  116. package/dist/src/mcp-tools/config-tools.js +262 -15
  117. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  118. package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  119. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
  120. package/dist/src/mcp-tools/hive-mind-tools.js +447 -0
  121. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
  122. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  123. package/dist/src/mcp-tools/hooks-tools.js +80 -15
  124. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  125. package/dist/src/mcp-tools/index.d.ts +6 -0
  126. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  127. package/dist/src/mcp-tools/index.js +6 -0
  128. package/dist/src/mcp-tools/index.js.map +1 -1
  129. package/dist/src/mcp-tools/memory-tools.d.ts +1 -1
  130. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  131. package/dist/src/mcp-tools/memory-tools.js +157 -9
  132. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  133. package/dist/src/mcp-tools/session-tools.d.ts +8 -0
  134. package/dist/src/mcp-tools/session-tools.d.ts.map +1 -0
  135. package/dist/src/mcp-tools/session-tools.js +315 -0
  136. package/dist/src/mcp-tools/session-tools.js.map +1 -0
  137. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  138. package/dist/src/mcp-tools/swarm-tools.js +37 -2
  139. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  140. package/dist/src/mcp-tools/task-tools.d.ts +8 -0
  141. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -0
  142. package/dist/src/mcp-tools/task-tools.js +302 -0
  143. package/dist/src/mcp-tools/task-tools.js.map +1 -0
  144. package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  145. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
  146. package/dist/src/mcp-tools/workflow-tools.js +481 -0
  147. package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
  148. package/dist/src/output.d.ts +16 -0
  149. package/dist/src/output.d.ts.map +1 -1
  150. package/dist/src/output.js +42 -0
  151. package/dist/src/output.js.map +1 -1
  152. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  153. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  154. package/dist/src/ruvector/ast-analyzer.js +277 -0
  155. package/dist/src/ruvector/ast-analyzer.js.map +1 -0
  156. package/dist/src/ruvector/coverage-router.d.ts +145 -0
  157. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  158. package/dist/src/ruvector/coverage-router.js +451 -0
  159. package/dist/src/ruvector/coverage-router.js.map +1 -0
  160. package/dist/src/ruvector/coverage-tools.d.ts +33 -0
  161. package/dist/src/ruvector/coverage-tools.d.ts.map +1 -0
  162. package/dist/src/ruvector/coverage-tools.js +157 -0
  163. package/dist/src/ruvector/coverage-tools.js.map +1 -0
  164. package/dist/src/ruvector/diff-classifier.d.ts +154 -0
  165. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  166. package/dist/src/ruvector/diff-classifier.js +508 -0
  167. package/dist/src/ruvector/diff-classifier.js.map +1 -0
  168. package/dist/src/ruvector/graph-analyzer.d.ts +174 -0
  169. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  170. package/dist/src/ruvector/graph-analyzer.js +878 -0
  171. package/dist/src/ruvector/graph-analyzer.js.map +1 -0
  172. package/dist/src/ruvector/index.d.ts +27 -0
  173. package/dist/src/ruvector/index.d.ts.map +1 -0
  174. package/dist/src/ruvector/index.js +47 -0
  175. package/dist/src/ruvector/index.js.map +1 -0
  176. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  177. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  178. package/dist/src/ruvector/q-learning-router.js +681 -0
  179. package/dist/src/ruvector/q-learning-router.js.map +1 -0
  180. package/dist/src/ruvector/vector-db.d.ts +69 -0
  181. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  182. package/dist/src/ruvector/vector-db.js +243 -0
  183. package/dist/src/ruvector/vector-db.js.map +1 -0
  184. package/dist/src/services/index.d.ts +7 -0
  185. package/dist/src/services/index.d.ts.map +1 -0
  186. package/dist/src/services/index.js +6 -0
  187. package/dist/src/services/index.js.map +1 -0
  188. package/dist/src/services/worker-daemon.d.ts +153 -0
  189. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  190. package/dist/src/services/worker-daemon.js +567 -0
  191. package/dist/src/services/worker-daemon.js.map +1 -0
  192. package/dist/src/suggest.d.ts +53 -0
  193. package/dist/src/suggest.d.ts.map +1 -0
  194. package/dist/src/suggest.js +200 -0
  195. package/dist/src/suggest.js.map +1 -0
  196. package/dist/tsconfig.tsbuildinfo +1 -1
  197. package/package.json +28 -6
  198. package/.agentic-flow/intelligence.json +0 -16
  199. package/.claude-flow/metrics/agent-metrics.json +0 -1
  200. package/.claude-flow/metrics/performance.json +0 -87
  201. package/.claude-flow/metrics/task-metrics.json +0 -10
  202. package/__tests__/README.md +0 -140
  203. package/__tests__/TEST_SUMMARY.md +0 -144
  204. package/__tests__/cli.test.ts +0 -558
  205. package/__tests__/commands.test.ts +0 -726
  206. package/__tests__/config-adapter.test.ts +0 -362
  207. package/__tests__/config-loading.test.ts +0 -106
  208. package/__tests__/coverage/.tmp/coverage-0.json +0 -1
  209. package/__tests__/coverage/.tmp/coverage-1.json +0 -1
  210. package/__tests__/coverage/.tmp/coverage-2.json +0 -1
  211. package/__tests__/coverage/.tmp/coverage-3.json +0 -1
  212. package/__tests__/coverage/.tmp/coverage-4.json +0 -1
  213. package/__tests__/coverage/.tmp/coverage-5.json +0 -1
  214. package/__tests__/mcp-client.test.ts +0 -480
  215. package/__tests__/p1-commands.test.ts +0 -1064
  216. package/docs/CONFIG_LOADING.md +0 -236
  217. package/docs/IMPLEMENTATION_COMPLETE.md +0 -421
  218. package/docs/MCP_CLIENT_GUIDE.md +0 -620
  219. package/docs/REFACTORING_SUMMARY.md +0 -247
  220. package/src/commands/agent.ts +0 -941
  221. package/src/commands/config.ts +0 -452
  222. package/src/commands/hive-mind.ts +0 -762
  223. package/src/commands/hooks.ts +0 -2603
  224. package/src/commands/index.ts +0 -115
  225. package/src/commands/init.ts +0 -597
  226. package/src/commands/mcp.ts +0 -753
  227. package/src/commands/memory.ts +0 -1063
  228. package/src/commands/migrate.ts +0 -447
  229. package/src/commands/process.ts +0 -617
  230. package/src/commands/session.ts +0 -891
  231. package/src/commands/start.ts +0 -457
  232. package/src/commands/status.ts +0 -705
  233. package/src/commands/swarm.ts +0 -648
  234. package/src/commands/task.ts +0 -792
  235. package/src/commands/workflow.ts +0 -742
  236. package/src/config-adapter.ts +0 -210
  237. package/src/index.ts +0 -383
  238. package/src/infrastructure/in-memory-repositories.ts +0 -310
  239. package/src/init/claudemd-generator.ts +0 -631
  240. package/src/init/executor.ts +0 -756
  241. package/src/init/helpers-generator.ts +0 -628
  242. package/src/init/index.ts +0 -60
  243. package/src/init/mcp-generator.ts +0 -83
  244. package/src/init/settings-generator.ts +0 -274
  245. package/src/init/statusline-generator.ts +0 -211
  246. package/src/init/types.ts +0 -447
  247. package/src/mcp-client.ts +0 -227
  248. package/src/mcp-server.ts +0 -571
  249. package/src/mcp-tools/agent-tools.ts +0 -92
  250. package/src/mcp-tools/config-tools.ts +0 -88
  251. package/src/mcp-tools/hooks-tools.ts +0 -1819
  252. package/src/mcp-tools/index.ts +0 -12
  253. package/src/mcp-tools/memory-tools.ts +0 -89
  254. package/src/mcp-tools/swarm-tools.ts +0 -69
  255. package/src/mcp-tools/types.ts +0 -33
  256. package/src/output.ts +0 -593
  257. package/src/parser.ts +0 -417
  258. package/src/prompt.ts +0 -619
  259. package/src/types.ts +0 -287
  260. package/tmp.json +0 -0
  261. package/tsconfig.json +0 -16
  262. package/tsconfig.tsbuildinfo +0 -1
  263. package/vitest.config.ts +0 -13
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Coverage Router MCP Tools
3
+ *
4
+ * MCP tool implementations for coverage-aware routing.
5
+ * Integrates with hooks_coverage_route and hooks_coverage_suggest from ruvector.
6
+ */
7
+ import { coverageRoute, coverageSuggest, coverageGaps, } from './coverage-router.js';
8
+ /**
9
+ * Coverage-aware routing MCP tool
10
+ *
11
+ * Routes tasks to optimal agents based on test coverage gaps.
12
+ * Uses ruvector's hooks_coverage_route when available.
13
+ */
14
+ export const hooksCoverageRoute = {
15
+ name: 'hooks/coverage-route',
16
+ description: 'Route task to agents based on test coverage gaps (ruvector integration)',
17
+ category: 'coverage',
18
+ tags: ['coverage', 'routing', 'testing', 'ruvector'],
19
+ inputSchema: {
20
+ type: 'object',
21
+ properties: {
22
+ task: {
23
+ type: 'string',
24
+ description: 'Task description to route',
25
+ },
26
+ projectRoot: {
27
+ type: 'string',
28
+ description: 'Project root directory (defaults to cwd)',
29
+ },
30
+ threshold: {
31
+ type: 'number',
32
+ description: 'Coverage threshold percentage (default: 80)',
33
+ },
34
+ useRuvector: {
35
+ type: 'boolean',
36
+ description: 'Use ruvector integration if available (default: true)',
37
+ },
38
+ },
39
+ required: ['task'],
40
+ },
41
+ handler: async (params) => {
42
+ const task = params.task;
43
+ const projectRoot = params.projectRoot;
44
+ const threshold = params.threshold;
45
+ const useRuvector = params.useRuvector;
46
+ return coverageRoute(task, {
47
+ projectRoot,
48
+ threshold,
49
+ useRuvector,
50
+ });
51
+ },
52
+ };
53
+ /**
54
+ * Coverage suggestions MCP tool
55
+ *
56
+ * Suggests which files need better coverage in a given path.
57
+ * Uses ruvector's hooks_coverage_suggest when available.
58
+ */
59
+ export const hooksCoverageSuggest = {
60
+ name: 'hooks/coverage-suggest',
61
+ description: 'Suggest coverage improvements for a path (ruvector integration)',
62
+ category: 'coverage',
63
+ tags: ['coverage', 'suggestions', 'testing', 'ruvector'],
64
+ inputSchema: {
65
+ type: 'object',
66
+ properties: {
67
+ path: {
68
+ type: 'string',
69
+ description: 'Path to analyze for coverage suggestions',
70
+ },
71
+ projectRoot: {
72
+ type: 'string',
73
+ description: 'Project root directory (defaults to cwd)',
74
+ },
75
+ threshold: {
76
+ type: 'number',
77
+ description: 'Coverage threshold percentage (default: 80)',
78
+ },
79
+ limit: {
80
+ type: 'number',
81
+ description: 'Maximum number of suggestions to return (default: 20)',
82
+ },
83
+ useRuvector: {
84
+ type: 'boolean',
85
+ description: 'Use ruvector integration if available (default: true)',
86
+ },
87
+ },
88
+ required: ['path'],
89
+ },
90
+ handler: async (params) => {
91
+ const path = params.path;
92
+ const projectRoot = params.projectRoot;
93
+ const threshold = params.threshold;
94
+ const limit = params.limit;
95
+ const useRuvector = params.useRuvector;
96
+ return coverageSuggest(path, {
97
+ projectRoot,
98
+ threshold,
99
+ limit,
100
+ useRuvector,
101
+ });
102
+ },
103
+ };
104
+ /**
105
+ * Coverage gaps MCP tool
106
+ *
107
+ * Lists all coverage gaps in the project with agent assignments.
108
+ */
109
+ export const hooksCoverageGaps = {
110
+ name: 'hooks/coverage-gaps',
111
+ description: 'List all coverage gaps with priority scoring and agent assignments',
112
+ category: 'coverage',
113
+ tags: ['coverage', 'gaps', 'testing', 'analysis'],
114
+ inputSchema: {
115
+ type: 'object',
116
+ properties: {
117
+ projectRoot: {
118
+ type: 'string',
119
+ description: 'Project root directory (defaults to cwd)',
120
+ },
121
+ threshold: {
122
+ type: 'number',
123
+ description: 'Coverage threshold percentage (default: 80)',
124
+ },
125
+ groupByAgent: {
126
+ type: 'boolean',
127
+ description: 'Group gaps by suggested agent (default: true)',
128
+ },
129
+ useRuvector: {
130
+ type: 'boolean',
131
+ description: 'Use ruvector integration if available (default: true)',
132
+ },
133
+ },
134
+ },
135
+ handler: async (params) => {
136
+ const projectRoot = params.projectRoot;
137
+ const threshold = params.threshold;
138
+ const groupByAgent = params.groupByAgent;
139
+ const useRuvector = params.useRuvector;
140
+ return coverageGaps({
141
+ projectRoot,
142
+ threshold,
143
+ groupByAgent,
144
+ useRuvector,
145
+ });
146
+ },
147
+ };
148
+ /**
149
+ * All coverage router MCP tools
150
+ */
151
+ export const coverageRouterTools = [
152
+ hooksCoverageRoute,
153
+ hooksCoverageSuggest,
154
+ hooksCoverageGaps,
155
+ ];
156
+ export default coverageRouterTools;
157
+ //# sourceMappingURL=coverage-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-tools.js","sourceRoot":"","sources":["../../../src/ruvector/coverage-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,aAAa,EACb,eAAe,EACf,YAAY,GAIb,MAAM,sBAAsB,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAY;IACzC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,yEAAyE;IACtF,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC;IACpD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;aACzC;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0CAA0C;aACxD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uDAAuD;aACrE;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAgC,EAAE;QAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAc,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAiC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAkC,CAAC;QAE9D,OAAO,aAAa,CAAC,IAAI,EAAE;YACzB,WAAW;YACX,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAY;IAC3C,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,iEAAiE;IAC9E,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC;IACxD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0CAA0C;aACxD;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0CAA0C;aACxD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uDAAuD;aACrE;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uDAAuD;aACrE;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAkC,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAc,CAAC;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAiC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAA2B,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAkC,CAAC;QAE9D,OAAO,eAAe,CAAC,IAAI,EAAE;YAC3B,WAAW;YACX,SAAS;YACT,KAAK;YACL,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACxC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,oEAAoE;IACjF,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;IACjD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0CAA0C;aACxD;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,+CAA+C;aAC7D;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uDAAuD;aACrE;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,MAA+B,EAA+B,EAAE;QAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAiC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+B,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAmC,CAAC;QAChE,MAAM,WAAW,GAAG,MAAM,CAAC,WAAkC,CAAC;QAE9D,OAAO,YAAY,CAAC;YAClB,WAAW;YACX,SAAS;YACT,YAAY;YACZ,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAc;IAC5C,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;CAClB,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Diff Classifier for Change Analysis
3
+ */
4
+ export interface DiffClassifierConfig {
5
+ maxDiffSize: number;
6
+ classifyByImpact: boolean;
7
+ detectRefactoring: boolean;
8
+ minConfidence: number;
9
+ }
10
+ export interface DiffHunk {
11
+ oldStart: number;
12
+ oldLines: number;
13
+ newStart: number;
14
+ newLines: number;
15
+ content: string;
16
+ changes: DiffChange[];
17
+ }
18
+ export interface DiffChange {
19
+ type: 'add' | 'remove' | 'context';
20
+ lineNumber: number;
21
+ content: string;
22
+ }
23
+ export interface DiffClassification {
24
+ primary: 'feature' | 'bugfix' | 'refactor' | 'docs' | 'test' | 'config' | 'style' | 'unknown';
25
+ secondary: string[];
26
+ confidence: number;
27
+ impactLevel: 'low' | 'medium' | 'high' | 'critical';
28
+ suggestedReviewers: string[];
29
+ testingStrategy: string[];
30
+ riskFactors: string[];
31
+ }
32
+ export interface FileDiff {
33
+ path: string;
34
+ hunks: DiffHunk[];
35
+ additions: number;
36
+ deletions: number;
37
+ classification: DiffClassification;
38
+ }
39
+ export interface DiffAnalysis {
40
+ files: FileDiff[];
41
+ overall: DiffClassification;
42
+ stats: {
43
+ totalAdditions: number;
44
+ totalDeletions: number;
45
+ filesChanged: number;
46
+ avgConfidence: number;
47
+ };
48
+ timestamp: number;
49
+ }
50
+ export declare class DiffClassifier {
51
+ private config;
52
+ private ruvectorEngine;
53
+ private useNative;
54
+ private classificationCache;
55
+ constructor(config?: Partial<DiffClassifierConfig>);
56
+ initialize(): Promise<void>;
57
+ parseDiff(diffContent: string): FileDiff[];
58
+ classify(files: FileDiff[]): DiffAnalysis;
59
+ classifyCommitMessage(message: string): DiffClassification['primary'];
60
+ getStats(): Record<string, number | boolean>;
61
+ clearCache(): void;
62
+ private parseHunks;
63
+ private parseChanges;
64
+ private classifyFile;
65
+ private getCacheKey;
66
+ private determinePrimaryClassification;
67
+ private isRefactoring;
68
+ private determineSecondaryClassifications;
69
+ private calculateConfidence;
70
+ private determineImpactLevel;
71
+ private suggestReviewers;
72
+ private determineTestingStrategy;
73
+ private identifyRiskFactors;
74
+ private computeOverallClassification;
75
+ }
76
+ export declare function createDiffClassifier(config?: Partial<DiffClassifierConfig>): DiffClassifier;
77
+ /**
78
+ * Risk level type for file risk assessment
79
+ */
80
+ export type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
81
+ /**
82
+ * Diff file interface for analyze tools
83
+ */
84
+ export interface DiffFile {
85
+ path: string;
86
+ status: 'added' | 'modified' | 'deleted' | 'renamed';
87
+ additions: number;
88
+ deletions: number;
89
+ hunks: number;
90
+ binary: boolean;
91
+ }
92
+ /**
93
+ * File risk assessment result
94
+ */
95
+ export interface FileRisk {
96
+ file: string;
97
+ risk: RiskLevel;
98
+ score: number;
99
+ reasons: string[];
100
+ }
101
+ /**
102
+ * Overall risk assessment result
103
+ */
104
+ export interface OverallRisk {
105
+ overall: RiskLevel;
106
+ score: number;
107
+ breakdown: {
108
+ low: number;
109
+ medium: number;
110
+ high: number;
111
+ critical: number;
112
+ };
113
+ }
114
+ /**
115
+ * Diff analysis result
116
+ */
117
+ export interface DiffAnalysisResult {
118
+ ref: string;
119
+ timestamp: number;
120
+ files: DiffFile[];
121
+ risk: OverallRisk;
122
+ classification: DiffClassification;
123
+ summary: string;
124
+ fileRisks?: FileRisk[];
125
+ recommendedReviewers?: string[];
126
+ }
127
+ /**
128
+ * Get git diff statistics using numstat
129
+ */
130
+ export declare function getGitDiffNumstat(ref?: string): DiffFile[];
131
+ /**
132
+ * Assess risk for a single file
133
+ */
134
+ export declare function assessFileRisk(file: DiffFile): FileRisk;
135
+ /**
136
+ * Assess overall risk from files and file risks
137
+ */
138
+ export declare function assessOverallRisk(files: DiffFile[], fileRisks: FileRisk[]): OverallRisk;
139
+ /**
140
+ * Classify a diff based on files
141
+ */
142
+ export declare function classifyDiff(files: DiffFile[]): DiffClassification;
143
+ /**
144
+ * Suggest reviewers based on files and risks
145
+ */
146
+ export declare function suggestReviewers(files: DiffFile[], fileRisks: FileRisk[]): string[];
147
+ /**
148
+ * Analyze a diff with full analysis
149
+ */
150
+ export declare function analyzeDiff(options: {
151
+ ref?: string;
152
+ useRuVector?: boolean;
153
+ }): Promise<DiffAnalysisResult>;
154
+ //# sourceMappingURL=diff-classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-classifier.d.ts","sourceRoot":"","sources":["../../../src/ruvector/diff-classifier.ts"],"names":[],"mappings":"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"}