agent-ide 0.13.6 → 0.13.7

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 (450) hide show
  1. package/README.md +14 -7
  2. package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts +11 -2
  3. package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts.map +1 -1
  4. package/dist/core/call-hierarchy/call-hierarchy-analyzer.js +233 -25
  5. package/dist/core/call-hierarchy/call-hierarchy-analyzer.js.map +1 -1
  6. package/dist/core/change-signature/call-site-updater.d.ts +0 -1
  7. package/dist/core/change-signature/call-site-updater.d.ts.map +1 -1
  8. package/dist/core/change-signature/call-site-updater.js +0 -2
  9. package/dist/core/change-signature/call-site-updater.js.map +1 -1
  10. package/dist/core/change-signature/change-signature-engine.d.ts +9 -1
  11. package/dist/core/change-signature/change-signature-engine.d.ts.map +1 -1
  12. package/dist/core/change-signature/change-signature-engine.js +190 -5
  13. package/dist/core/change-signature/change-signature-engine.js.map +1 -1
  14. package/dist/core/change-signature/signature-parser.d.ts +0 -5
  15. package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
  16. package/dist/core/change-signature/signature-parser.js +6 -34
  17. package/dist/core/change-signature/signature-parser.js.map +1 -1
  18. package/dist/core/deadcode/file-operations.d.ts.map +1 -1
  19. package/dist/core/deadcode/file-operations.js +3 -1
  20. package/dist/core/deadcode/file-operations.js.map +1 -1
  21. package/dist/core/deadcode/import-cleaner.d.ts.map +1 -1
  22. package/dist/core/deadcode/import-cleaner.js +3 -1
  23. package/dist/core/deadcode/import-cleaner.js.map +1 -1
  24. package/dist/core/deadcode/range-expander.d.ts +9 -1
  25. package/dist/core/deadcode/range-expander.d.ts.map +1 -1
  26. package/dist/core/deadcode/range-expander.js +115 -41
  27. package/dist/core/deadcode/range-expander.js.map +1 -1
  28. package/dist/core/foundations/file-utils.d.ts.map +1 -1
  29. package/dist/core/foundations/file-utils.js +6 -3
  30. package/dist/core/foundations/file-utils.js.map +1 -1
  31. package/dist/core/foundations/indexing/file-index.d.ts +5 -2
  32. package/dist/core/foundations/indexing/file-index.d.ts.map +1 -1
  33. package/dist/core/foundations/indexing/file-index.js +11 -3
  34. package/dist/core/foundations/indexing/file-index.js.map +1 -1
  35. package/dist/core/foundations/indexing/index-cache-serializer.d.ts +133 -0
  36. package/dist/core/foundations/indexing/index-cache-serializer.d.ts.map +1 -0
  37. package/dist/core/foundations/indexing/index-cache-serializer.js +217 -0
  38. package/dist/core/foundations/indexing/index-cache-serializer.js.map +1 -0
  39. package/dist/core/foundations/indexing/index-engine.d.ts +11 -5
  40. package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -1
  41. package/dist/core/foundations/indexing/index-engine.js +31 -22
  42. package/dist/core/foundations/indexing/index-engine.js.map +1 -1
  43. package/dist/core/foundations/indexing/index.d.ts +4 -1
  44. package/dist/core/foundations/indexing/index.d.ts.map +1 -1
  45. package/dist/core/foundations/indexing/index.js +2 -1
  46. package/dist/core/foundations/indexing/index.js.map +1 -1
  47. package/dist/core/foundations/indexing/symbol-index.d.ts +7 -1
  48. package/dist/core/foundations/indexing/symbol-index.d.ts.map +1 -1
  49. package/dist/core/foundations/indexing/symbol-index.js +54 -3
  50. package/dist/core/foundations/indexing/symbol-index.js.map +1 -1
  51. package/dist/core/foundations/indexing/types.d.ts +3 -2
  52. package/dist/core/foundations/indexing/types.d.ts.map +1 -1
  53. package/dist/core/foundations/indexing/types.js +8 -6
  54. package/dist/core/foundations/indexing/types.js.map +1 -1
  55. package/dist/core/foundations/symbol-finder/call-site-parser.d.ts.map +1 -1
  56. package/dist/core/foundations/symbol-finder/call-site-parser.js +3 -1
  57. package/dist/core/foundations/symbol-finder/call-site-parser.js.map +1 -1
  58. package/dist/core/foundations/symbol-finder/symbol-finder.d.ts +0 -2
  59. package/dist/core/foundations/symbol-finder/symbol-finder.d.ts.map +1 -1
  60. package/dist/core/foundations/symbol-finder/symbol-finder.js +15 -11
  61. package/dist/core/foundations/symbol-finder/symbol-finder.js.map +1 -1
  62. package/dist/core/impact/dependency-extractor.d.ts +11 -3
  63. package/dist/core/impact/dependency-extractor.d.ts.map +1 -1
  64. package/dist/core/impact/dependency-extractor.js +149 -34
  65. package/dist/core/impact/dependency-extractor.js.map +1 -1
  66. package/dist/core/impact/file-scanner.d.ts.map +1 -1
  67. package/dist/core/impact/file-scanner.js +3 -2
  68. package/dist/core/impact/file-scanner.js.map +1 -1
  69. package/dist/core/impact/impact-analyzer.d.ts +8 -1
  70. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  71. package/dist/core/impact/impact-analyzer.js +27 -8
  72. package/dist/core/impact/impact-analyzer.js.map +1 -1
  73. package/dist/core/impact/path-resolver.d.ts.map +1 -1
  74. package/dist/core/impact/path-resolver.js +11 -10
  75. package/dist/core/impact/path-resolver.js.map +1 -1
  76. package/dist/core/impact/types.d.ts.map +1 -1
  77. package/dist/core/impact/types.js +2 -1
  78. package/dist/core/impact/types.js.map +1 -1
  79. package/dist/core/move/file-scanner.d.ts +12 -0
  80. package/dist/core/move/file-scanner.d.ts.map +1 -1
  81. package/dist/core/move/file-scanner.js +58 -30
  82. package/dist/core/move/file-scanner.js.map +1 -1
  83. package/dist/core/move/glob-move-planner.d.ts +29 -0
  84. package/dist/core/move/glob-move-planner.d.ts.map +1 -0
  85. package/dist/core/move/glob-move-planner.js +48 -0
  86. package/dist/core/move/glob-move-planner.js.map +1 -0
  87. package/dist/core/move/index.d.ts +2 -0
  88. package/dist/core/move/index.d.ts.map +1 -1
  89. package/dist/core/move/index.js +1 -0
  90. package/dist/core/move/index.js.map +1 -1
  91. package/dist/core/move/move-engine.js +2 -2
  92. package/dist/core/move/move-engine.js.map +1 -1
  93. package/dist/core/move/path-calculator.d.ts +2 -0
  94. package/dist/core/move/path-calculator.d.ts.map +1 -1
  95. package/dist/core/move/path-calculator.js +36 -16
  96. package/dist/core/move/path-calculator.js.map +1 -1
  97. package/dist/core/move/path-utils.d.ts +2 -1
  98. package/dist/core/move/path-utils.d.ts.map +1 -1
  99. package/dist/core/move/path-utils.js +18 -28
  100. package/dist/core/move/path-utils.js.map +1 -1
  101. package/dist/core/move-member/change-applier.d.ts.map +1 -1
  102. package/dist/core/move-member/change-applier.js +3 -1
  103. package/dist/core/move-member/change-applier.js.map +1 -1
  104. package/dist/core/move-member/extractors/typescript-extractor.d.ts.map +1 -1
  105. package/dist/core/move-member/extractors/typescript-extractor.js +32 -28
  106. package/dist/core/move-member/extractors/typescript-extractor.js.map +1 -1
  107. package/dist/core/move-member/file-change-preparer.d.ts +5 -0
  108. package/dist/core/move-member/file-change-preparer.d.ts.map +1 -1
  109. package/dist/core/move-member/file-change-preparer.js +51 -11
  110. package/dist/core/move-member/file-change-preparer.js.map +1 -1
  111. package/dist/core/move-member/member-extractor.d.ts +0 -2
  112. package/dist/core/move-member/member-extractor.d.ts.map +1 -1
  113. package/dist/core/move-member/member-extractor.js +13 -22
  114. package/dist/core/move-member/member-extractor.js.map +1 -1
  115. package/dist/core/move-member/move-member-engine.d.ts +0 -1
  116. package/dist/core/move-member/move-member-engine.d.ts.map +1 -1
  117. package/dist/core/move-member/move-member-engine.js +0 -2
  118. package/dist/core/move-member/move-member-engine.js.map +1 -1
  119. package/dist/core/move-member/reference-updater.d.ts.map +1 -1
  120. package/dist/core/move-member/reference-updater.js +7 -10
  121. package/dist/core/move-member/reference-updater.js.map +1 -1
  122. package/dist/core/rename/reference-updater.d.ts +1 -0
  123. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  124. package/dist/core/rename/reference-updater.js +48 -46
  125. package/dist/core/rename/reference-updater.js.map +1 -1
  126. package/dist/core/rename/rename-engine.d.ts +0 -1
  127. package/dist/core/rename/rename-engine.d.ts.map +1 -1
  128. package/dist/core/rename/rename-engine.js +9 -22
  129. package/dist/core/rename/rename-engine.js.map +1 -1
  130. package/dist/infrastructure/cache/cache-manager.d.ts.map +1 -1
  131. package/dist/infrastructure/cache/cache-manager.js +4 -5
  132. package/dist/infrastructure/cache/cache-manager.js.map +1 -1
  133. package/dist/infrastructure/cache/index-disk-cache.d.ts +46 -0
  134. package/dist/infrastructure/cache/index-disk-cache.d.ts.map +1 -0
  135. package/dist/infrastructure/cache/index-disk-cache.js +150 -0
  136. package/dist/infrastructure/cache/index-disk-cache.js.map +1 -0
  137. package/dist/infrastructure/cache/index.d.ts.map +1 -1
  138. package/dist/infrastructure/cache/index.js +1 -0
  139. package/dist/infrastructure/cache/index.js.map +1 -1
  140. package/dist/infrastructure/cache/memory-cache.d.ts.map +1 -1
  141. package/dist/infrastructure/cache/memory-cache.js +3 -1
  142. package/dist/infrastructure/cache/memory-cache.js.map +1 -1
  143. package/dist/infrastructure/formatters/index.d.ts +1 -2
  144. package/dist/infrastructure/formatters/index.d.ts.map +1 -1
  145. package/dist/infrastructure/formatters/index.js +1 -2
  146. package/dist/infrastructure/formatters/index.js.map +1 -1
  147. package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
  148. package/dist/infrastructure/formatters/query-formatter.js +9 -18
  149. package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
  150. package/dist/infrastructure/formatters/query-types.d.ts +15 -145
  151. package/dist/infrastructure/formatters/query-types.d.ts.map +1 -1
  152. package/dist/infrastructure/formatters/query-types.js +3 -18
  153. package/dist/infrastructure/formatters/query-types.js.map +1 -1
  154. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts +1 -20
  155. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts.map +1 -1
  156. package/dist/infrastructure/formatters/strategies/base-formatter.js +0 -8
  157. package/dist/infrastructure/formatters/strategies/base-formatter.js.map +1 -1
  158. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts.map +1 -1
  159. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js +7 -0
  160. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js.map +1 -1
  161. package/dist/infrastructure/formatters/strategies/cycles-formatter.d.ts +15 -0
  162. package/dist/infrastructure/formatters/strategies/cycles-formatter.d.ts.map +1 -0
  163. package/dist/infrastructure/formatters/strategies/cycles-formatter.js +29 -0
  164. package/dist/infrastructure/formatters/strategies/cycles-formatter.js.map +1 -0
  165. package/dist/infrastructure/formatters/strategies/impact-formatter.d.ts +15 -0
  166. package/dist/infrastructure/formatters/strategies/impact-formatter.d.ts.map +1 -0
  167. package/dist/infrastructure/formatters/strategies/impact-formatter.js +31 -0
  168. package/dist/infrastructure/formatters/strategies/impact-formatter.js.map +1 -0
  169. package/dist/infrastructure/formatters/strategies/index.d.ts +3 -4
  170. package/dist/infrastructure/formatters/strategies/index.d.ts.map +1 -1
  171. package/dist/infrastructure/formatters/strategies/index.js +3 -4
  172. package/dist/infrastructure/formatters/strategies/index.js.map +1 -1
  173. package/dist/infrastructure/logging/index.d.ts +2 -0
  174. package/dist/infrastructure/logging/index.d.ts.map +1 -0
  175. package/dist/infrastructure/logging/index.js +2 -0
  176. package/dist/infrastructure/logging/index.js.map +1 -0
  177. package/dist/infrastructure/logging/logger.d.ts +25 -0
  178. package/dist/infrastructure/logging/logger.d.ts.map +1 -0
  179. package/dist/infrastructure/logging/logger.js +54 -0
  180. package/dist/infrastructure/logging/logger.js.map +1 -0
  181. package/dist/infrastructure/parser/analysis-types.d.ts.map +1 -1
  182. package/dist/infrastructure/parser/base.d.ts +1 -6
  183. package/dist/infrastructure/parser/base.d.ts.map +1 -1
  184. package/dist/infrastructure/parser/base.js +4 -16
  185. package/dist/infrastructure/parser/base.js.map +1 -1
  186. package/dist/infrastructure/parser/index.d.ts +2 -2
  187. package/dist/infrastructure/parser/index.d.ts.map +1 -1
  188. package/dist/infrastructure/parser/index.js +1 -1
  189. package/dist/infrastructure/parser/index.js.map +1 -1
  190. package/dist/infrastructure/parser/interface.d.ts +0 -7
  191. package/dist/infrastructure/parser/interface.d.ts.map +1 -1
  192. package/dist/infrastructure/parser/interface.js +0 -1
  193. package/dist/infrastructure/parser/interface.js.map +1 -1
  194. package/dist/infrastructure/parser/registry.d.ts.map +1 -1
  195. package/dist/infrastructure/parser/registry.js +2 -1
  196. package/dist/infrastructure/parser/registry.js.map +1 -1
  197. package/dist/infrastructure/parser/types.d.ts +12 -3
  198. package/dist/infrastructure/parser/types.d.ts.map +1 -1
  199. package/dist/infrastructure/parser/types.js +7 -2
  200. package/dist/infrastructure/parser/types.js.map +1 -1
  201. package/dist/infrastructure/storage/file-system.d.ts.map +1 -1
  202. package/dist/infrastructure/storage/file-system.js +5 -1
  203. package/dist/infrastructure/storage/file-system.js.map +1 -1
  204. package/dist/interfaces/cli/cached-index-engine.d.ts +25 -0
  205. package/dist/interfaces/cli/cached-index-engine.d.ts.map +1 -0
  206. package/dist/interfaces/cli/cached-index-engine.js +59 -0
  207. package/dist/interfaces/cli/cached-index-engine.js.map +1 -0
  208. package/dist/interfaces/cli/cli.d.ts +1 -0
  209. package/dist/interfaces/cli/cli.d.ts.map +1 -1
  210. package/dist/interfaces/cli/cli.js +33 -19
  211. package/dist/interfaces/cli/cli.js.map +1 -1
  212. package/dist/interfaces/cli/command-utils.d.ts +17 -1
  213. package/dist/interfaces/cli/command-utils.d.ts.map +1 -1
  214. package/dist/interfaces/cli/command-utils.js +53 -3
  215. package/dist/interfaces/cli/command-utils.js.map +1 -1
  216. package/dist/interfaces/cli/commands/call-hierarchy.command.d.ts.map +1 -1
  217. package/dist/interfaces/cli/commands/call-hierarchy.command.js +57 -17
  218. package/dist/interfaces/cli/commands/call-hierarchy.command.js.map +1 -1
  219. package/dist/interfaces/cli/commands/change-signature.command.d.ts +12 -0
  220. package/dist/interfaces/cli/commands/change-signature.command.d.ts.map +1 -1
  221. package/dist/interfaces/cli/commands/change-signature.command.js +131 -12
  222. package/dist/interfaces/cli/commands/change-signature.command.js.map +1 -1
  223. package/dist/interfaces/cli/commands/cycles.command.d.ts +1 -1
  224. package/dist/interfaces/cli/commands/cycles.command.d.ts.map +1 -1
  225. package/dist/interfaces/cli/commands/cycles.command.js +13 -11
  226. package/dist/interfaces/cli/commands/cycles.command.js.map +1 -1
  227. package/dist/interfaces/cli/commands/deadcode.command.d.ts.map +1 -1
  228. package/dist/interfaces/cli/commands/deadcode.command.js +18 -19
  229. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  230. package/dist/interfaces/cli/commands/find-references.command.d.ts.map +1 -1
  231. package/dist/interfaces/cli/commands/find-references.command.js +35 -11
  232. package/dist/interfaces/cli/commands/find-references.command.js.map +1 -1
  233. package/dist/interfaces/cli/commands/impact.command.d.ts +1 -1
  234. package/dist/interfaces/cli/commands/impact.command.js +6 -13
  235. package/dist/interfaces/cli/commands/impact.command.js.map +1 -1
  236. package/dist/interfaces/cli/commands/index.d.ts +1 -1
  237. package/dist/interfaces/cli/commands/index.d.ts.map +1 -1
  238. package/dist/interfaces/cli/commands/index.js +1 -1
  239. package/dist/interfaces/cli/commands/index.js.map +1 -1
  240. package/dist/interfaces/cli/commands/move-command-options.d.ts +14 -0
  241. package/dist/interfaces/cli/commands/move-command-options.d.ts.map +1 -0
  242. package/dist/interfaces/cli/commands/move-command-options.js +2 -0
  243. package/dist/interfaces/cli/commands/move-command-options.js.map +1 -0
  244. package/dist/interfaces/cli/commands/move-glob-command-handler.d.ts +8 -0
  245. package/dist/interfaces/cli/commands/move-glob-command-handler.d.ts.map +1 -0
  246. package/dist/interfaces/cli/commands/move-glob-command-handler.js +186 -0
  247. package/dist/interfaces/cli/commands/move-glob-command-handler.js.map +1 -0
  248. package/dist/interfaces/cli/commands/move.command.d.ts.map +1 -1
  249. package/dist/interfaces/cli/commands/move.command.js +62 -241
  250. package/dist/interfaces/cli/commands/move.command.js.map +1 -1
  251. package/dist/interfaces/cli/commands/rename.command.d.ts.map +1 -1
  252. package/dist/interfaces/cli/commands/rename.command.js +40 -26
  253. package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
  254. package/dist/interfaces/cli/commands/search.command.d.ts +11 -0
  255. package/dist/interfaces/cli/commands/search.command.d.ts.map +1 -0
  256. package/dist/interfaces/cli/commands/search.command.js +110 -0
  257. package/dist/interfaces/cli/commands/search.command.js.map +1 -0
  258. package/dist/interfaces/cli/unified-output-handler.d.ts +5 -0
  259. package/dist/interfaces/cli/unified-output-handler.d.ts.map +1 -1
  260. package/dist/interfaces/cli/unified-output-handler.js +8 -1
  261. package/dist/interfaces/cli/unified-output-handler.js.map +1 -1
  262. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -1
  263. package/dist/plugins/javascript/declaration-analyzer.js +5 -2
  264. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -1
  265. package/dist/plugins/javascript/parser.d.ts +6 -4
  266. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  267. package/dist/plugins/javascript/parser.js +97 -15
  268. package/dist/plugins/javascript/parser.js.map +1 -1
  269. package/dist/plugins/javascript/reference-finder.d.ts.map +1 -1
  270. package/dist/plugins/javascript/reference-finder.js +3 -1
  271. package/dist/plugins/javascript/reference-finder.js.map +1 -1
  272. package/dist/plugins/javascript/types.js +10 -10
  273. package/dist/plugins/javascript/types.js.map +1 -1
  274. package/dist/plugins/shared/constants.d.ts +1 -1
  275. package/dist/plugins/shared/constants.d.ts.map +1 -1
  276. package/dist/plugins/shared/constants.js +7 -1
  277. package/dist/plugins/shared/constants.js.map +1 -1
  278. package/dist/plugins/shared/parser-helpers.d.ts.map +1 -1
  279. package/dist/plugins/shared/parser-helpers.js +1 -0
  280. package/dist/plugins/shared/parser-helpers.js.map +1 -1
  281. package/dist/plugins/shared/utils/memory-monitor.d.ts.map +1 -1
  282. package/dist/plugins/shared/utils/memory-monitor.js +3 -2
  283. package/dist/plugins/shared/utils/memory-monitor.js.map +1 -1
  284. package/dist/plugins/shared/utils/object.d.ts.map +1 -1
  285. package/dist/plugins/shared/utils/object.js +8 -12
  286. package/dist/plugins/shared/utils/object.js.map +1 -1
  287. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -1
  288. package/dist/plugins/typescript/declaration-analyzer.js +9 -4
  289. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -1
  290. package/dist/plugins/typescript/language-service.js +1 -1
  291. package/dist/plugins/typescript/language-service.js.map +1 -1
  292. package/dist/plugins/typescript/parser.d.ts +1 -6
  293. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  294. package/dist/plugins/typescript/parser.js +7 -33
  295. package/dist/plugins/typescript/parser.js.map +1 -1
  296. package/dist/plugins/typescript/pattern-analyzer.d.ts.map +1 -1
  297. package/dist/plugins/typescript/pattern-analyzer.js +3 -1
  298. package/dist/plugins/typescript/pattern-analyzer.js.map +1 -1
  299. package/dist/plugins/typescript/reference-finder.d.ts.map +1 -1
  300. package/dist/plugins/typescript/reference-finder.js +3 -1
  301. package/dist/plugins/typescript/reference-finder.js.map +1 -1
  302. package/dist/plugins/typescript/tsconfig-loader.d.ts.map +1 -1
  303. package/dist/plugins/typescript/tsconfig-loader.js +162 -24
  304. package/dist/plugins/typescript/tsconfig-loader.js.map +1 -1
  305. package/dist/plugins/typescript/types.js +3 -3
  306. package/dist/plugins/typescript/types.js.map +1 -1
  307. package/dist/shared/errors/diagnostic-collector.d.ts +47 -0
  308. package/dist/shared/errors/diagnostic-collector.d.ts.map +1 -0
  309. package/dist/shared/errors/diagnostic-collector.js +89 -0
  310. package/dist/shared/errors/diagnostic-collector.js.map +1 -0
  311. package/dist/shared/errors/index.d.ts +3 -0
  312. package/dist/shared/errors/index.d.ts.map +1 -1
  313. package/dist/shared/errors/index.js +5 -1
  314. package/dist/shared/errors/index.js.map +1 -1
  315. package/dist/shared/types/index.d.ts +1 -0
  316. package/dist/shared/types/index.d.ts.map +1 -1
  317. package/dist/shared/types/index.js +2 -0
  318. package/dist/shared/types/index.js.map +1 -1
  319. package/dist/shared/types/source-file-extensions.d.ts +14 -0
  320. package/dist/shared/types/source-file-extensions.d.ts.map +1 -0
  321. package/dist/shared/types/source-file-extensions.js +42 -0
  322. package/dist/shared/types/source-file-extensions.js.map +1 -0
  323. package/dist/shared/types/symbol.d.ts +1 -0
  324. package/dist/shared/types/symbol.d.ts.map +1 -1
  325. package/dist/shared/types/symbol.js.map +1 -1
  326. package/package.json +18 -12
  327. package/dist/application/events/event-bus.d.ts +0 -107
  328. package/dist/application/events/event-bus.d.ts.map +0 -1
  329. package/dist/application/events/event-bus.js +0 -369
  330. package/dist/application/events/event-bus.js.map +0 -1
  331. package/dist/application/events/event-types.d.ts +0 -195
  332. package/dist/application/events/event-types.d.ts.map +0 -1
  333. package/dist/application/events/event-types.js +0 -36
  334. package/dist/application/events/event-types.js.map +0 -1
  335. package/dist/application/events/index.d.ts +0 -6
  336. package/dist/application/events/index.d.ts.map +0 -1
  337. package/dist/application/events/index.js +0 -6
  338. package/dist/application/events/index.js.map +0 -1
  339. package/dist/application/index.d.ts +0 -76
  340. package/dist/application/index.d.ts.map +0 -1
  341. package/dist/application/index.js +0 -127
  342. package/dist/application/index.js.map +0 -1
  343. package/dist/application/services/cache-coordinator.service.d.ts +0 -69
  344. package/dist/application/services/cache-coordinator.service.d.ts.map +0 -1
  345. package/dist/application/services/cache-coordinator.service.js +0 -251
  346. package/dist/application/services/cache-coordinator.service.js.map +0 -1
  347. package/dist/application/services/error-handler.service.d.ts +0 -56
  348. package/dist/application/services/error-handler.service.d.ts.map +0 -1
  349. package/dist/application/services/error-handler.service.js +0 -273
  350. package/dist/application/services/error-handler.service.js.map +0 -1
  351. package/dist/application/services/index.d.ts +0 -8
  352. package/dist/application/services/index.d.ts.map +0 -1
  353. package/dist/application/services/index.js +0 -8
  354. package/dist/application/services/index.js.map +0 -1
  355. package/dist/application/services/module-coordinator.service.d.ts +0 -55
  356. package/dist/application/services/module-coordinator.service.d.ts.map +0 -1
  357. package/dist/application/services/module-coordinator.service.js +0 -185
  358. package/dist/application/services/module-coordinator.service.js.map +0 -1
  359. package/dist/application/services/session-manager.service.d.ts +0 -86
  360. package/dist/application/services/session-manager.service.d.ts.map +0 -1
  361. package/dist/application/services/session-manager.service.js +0 -321
  362. package/dist/application/services/session-manager.service.js.map +0 -1
  363. package/dist/application/state/application-state.d.ts +0 -164
  364. package/dist/application/state/application-state.d.ts.map +0 -1
  365. package/dist/application/state/application-state.js +0 -290
  366. package/dist/application/state/application-state.js.map +0 -1
  367. package/dist/application/state/index.d.ts +0 -15
  368. package/dist/application/state/index.d.ts.map +0 -1
  369. package/dist/application/state/index.js +0 -15
  370. package/dist/application/state/index.js.map +0 -1
  371. package/dist/application/state/session-state.d.ts +0 -114
  372. package/dist/application/state/session-state.d.ts.map +0 -1
  373. package/dist/application/state/session-state.js +0 -188
  374. package/dist/application/state/session-state.js.map +0 -1
  375. package/dist/application/state/state-manager.d.ts +0 -122
  376. package/dist/application/state/state-manager.d.ts.map +0 -1
  377. package/dist/application/state/state-manager.js +0 -234
  378. package/dist/application/state/state-manager.js.map +0 -1
  379. package/dist/application/types.d.ts +0 -217
  380. package/dist/application/types.d.ts.map +0 -1
  381. package/dist/application/types.js +0 -5
  382. package/dist/application/types.js.map +0 -1
  383. package/dist/core/find-references/index.d.ts +0 -12
  384. package/dist/core/find-references/index.d.ts.map +0 -1
  385. package/dist/core/find-references/index.js +0 -14
  386. package/dist/core/find-references/index.js.map +0 -1
  387. package/dist/core/find-references/reference-finder-engine.d.ts +0 -75
  388. package/dist/core/find-references/reference-finder-engine.d.ts.map +0 -1
  389. package/dist/core/find-references/reference-finder-engine.js +0 -87
  390. package/dist/core/find-references/reference-finder-engine.js.map +0 -1
  391. package/dist/core/find-references/types.d.ts +0 -6
  392. package/dist/core/find-references/types.d.ts.map +0 -1
  393. package/dist/core/find-references/types.js +0 -7
  394. package/dist/core/find-references/types.js.map +0 -1
  395. package/dist/core/snapshot/index.d.ts +0 -9
  396. package/dist/core/snapshot/index.d.ts.map +0 -1
  397. package/dist/core/snapshot/index.js +0 -7
  398. package/dist/core/snapshot/index.js.map +0 -1
  399. package/dist/core/snapshot/snapshot-cache.d.ts +0 -103
  400. package/dist/core/snapshot/snapshot-cache.d.ts.map +0 -1
  401. package/dist/core/snapshot/snapshot-cache.js +0 -249
  402. package/dist/core/snapshot/snapshot-cache.js.map +0 -1
  403. package/dist/core/snapshot/snapshot-generator.d.ts +0 -79
  404. package/dist/core/snapshot/snapshot-generator.d.ts.map +0 -1
  405. package/dist/core/snapshot/snapshot-generator.js +0 -381
  406. package/dist/core/snapshot/snapshot-generator.js.map +0 -1
  407. package/dist/core/snapshot/types.d.ts +0 -67
  408. package/dist/core/snapshot/types.d.ts.map +0 -1
  409. package/dist/core/snapshot/types.js +0 -25
  410. package/dist/core/snapshot/types.js.map +0 -1
  411. package/dist/core/snapshot/utils/bracket-balancer.d.ts +0 -27
  412. package/dist/core/snapshot/utils/bracket-balancer.d.ts.map +0 -1
  413. package/dist/core/snapshot/utils/bracket-balancer.js +0 -70
  414. package/dist/core/snapshot/utils/bracket-balancer.js.map +0 -1
  415. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts +0 -22
  416. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts.map +0 -1
  417. package/dist/core/snapshot/utils/factory-pattern-detector.js +0 -70
  418. package/dist/core/snapshot/utils/factory-pattern-detector.js.map +0 -1
  419. package/dist/core/snapshot/utils/index.d.ts +0 -7
  420. package/dist/core/snapshot/utils/index.d.ts.map +0 -1
  421. package/dist/core/snapshot/utils/index.js +0 -7
  422. package/dist/core/snapshot/utils/index.js.map +0 -1
  423. package/dist/core/snapshot/utils/symbol-formatter.d.ts +0 -37
  424. package/dist/core/snapshot/utils/symbol-formatter.d.ts.map +0 -1
  425. package/dist/core/snapshot/utils/symbol-formatter.js +0 -89
  426. package/dist/core/snapshot/utils/symbol-formatter.js.map +0 -1
  427. package/dist/infrastructure/formatters/diff-utils.d.ts +0 -24
  428. package/dist/infrastructure/formatters/diff-utils.d.ts.map +0 -1
  429. package/dist/infrastructure/formatters/diff-utils.js +0 -104
  430. package/dist/infrastructure/formatters/diff-utils.js.map +0 -1
  431. package/dist/infrastructure/formatters/preview-converter.d.ts +0 -148
  432. package/dist/infrastructure/formatters/preview-converter.d.ts.map +0 -1
  433. package/dist/infrastructure/formatters/preview-converter.js +0 -329
  434. package/dist/infrastructure/formatters/preview-converter.js.map +0 -1
  435. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts +0 -24
  436. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts.map +0 -1
  437. package/dist/infrastructure/formatters/strategies/analyze-formatter.js +0 -102
  438. package/dist/infrastructure/formatters/strategies/analyze-formatter.js.map +0 -1
  439. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts +0 -15
  440. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts.map +0 -1
  441. package/dist/infrastructure/formatters/strategies/deps-formatter.js +0 -47
  442. package/dist/infrastructure/formatters/strategies/deps-formatter.js.map +0 -1
  443. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts +0 -20
  444. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts.map +0 -1
  445. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js +0 -101
  446. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js.map +0 -1
  447. package/dist/interfaces/cli/commands/snapshot.command.d.ts +0 -11
  448. package/dist/interfaces/cli/commands/snapshot.command.d.ts.map +0 -1
  449. package/dist/interfaces/cli/commands/snapshot.command.js +0 -86
  450. package/dist/interfaces/cli/commands/snapshot.command.js.map +0 -1
@@ -1,329 +0,0 @@
1
- /**
2
- * Preview 輸入轉換器
3
- * 將各 Core 模組的 preview 結果轉換為統一的 PreviewInput 格式
4
- */
5
- import { PreviewCommand } from './types.js';
6
- /**
7
- * 從 Rename 模組的 preview 結果轉換為 PreviewInput
8
- */
9
- export function convertRenamePreview(operations, conflicts, originalContents, options) {
10
- const baseInput = convertOperationsToPreviewInput(PreviewCommand.Rename, operations, originalContents, convertRenameConflicts(conflicts));
11
- return {
12
- ...baseInput,
13
- operationDescription: options?.oldName && options?.newName
14
- ? `Renamed '${options.oldName}' to '${options.newName}'`
15
- : undefined
16
- };
17
- }
18
- /**
19
- * 從 Move 模組的結果轉換為 PreviewInput
20
- */
21
- export function convertMovePreview(sourceFile, targetFile, pathUpdates, originalContents) {
22
- const fileChanges = [];
23
- // 處理 import 更新
24
- const groupedUpdates = new Map();
25
- for (const update of pathUpdates) {
26
- const existing = groupedUpdates.get(update.filePath) ?? [];
27
- existing.push({ oldImport: update.oldImport, newImport: update.newImport, line: update.line });
28
- groupedUpdates.set(update.filePath, existing);
29
- }
30
- for (const [filePath, updates] of groupedUpdates) {
31
- const originalContent = originalContents.get(filePath) ?? '';
32
- const changes = updates.map(u => ({
33
- line: u.line,
34
- oldContent: u.oldImport,
35
- newContent: u.newImport
36
- }));
37
- fileChanges.push({ filePath, originalContent, changes });
38
- }
39
- // 從路徑提取檔名
40
- const sourceFileName = sourceFile.split('/').pop() ?? sourceFile;
41
- const targetFileName = targetFile.split('/').pop() ?? targetFile;
42
- return {
43
- command: PreviewCommand.Move,
44
- success: true,
45
- fileChanges,
46
- operationDescription: `Moved '${sourceFileName}' to '${targetFileName}'`
47
- };
48
- }
49
- /**
50
- * 從 Shift 模組的結果轉換為 PreviewInput
51
- */
52
- export function convertShiftPreview(sourceFile, targetFile, fromLine, toLine, position, sourceOriginalContent, targetOriginalContent, movedLines) {
53
- const fileChanges = [];
54
- const isSameFile = sourceFile === targetFile;
55
- if (isSameFile) {
56
- // 同檔案移動
57
- const changes = [];
58
- // 標記刪除的行
59
- for (let line = fromLine; line <= toLine; line++) {
60
- const originalLines = sourceOriginalContent.split('\n');
61
- changes.push({
62
- line,
63
- oldContent: originalLines[line - 1] ?? '',
64
- newContent: null
65
- });
66
- }
67
- // 標記插入的行
68
- const insertPosition = position > toLine ? position - (toLine - fromLine + 1) : position;
69
- movedLines.forEach((content, index) => {
70
- changes.push({
71
- line: insertPosition + index,
72
- oldContent: null,
73
- newContent: content
74
- });
75
- });
76
- fileChanges.push({
77
- filePath: sourceFile,
78
- originalContent: sourceOriginalContent,
79
- changes
80
- });
81
- }
82
- else {
83
- // 跨檔案移動
84
- // Source: 刪除行
85
- const sourceChanges = [];
86
- for (let line = fromLine; line <= toLine; line++) {
87
- const originalLines = sourceOriginalContent.split('\n');
88
- sourceChanges.push({
89
- line,
90
- oldContent: originalLines[line - 1] ?? '',
91
- newContent: null
92
- });
93
- }
94
- fileChanges.push({
95
- filePath: sourceFile,
96
- originalContent: sourceOriginalContent,
97
- changes: sourceChanges
98
- });
99
- // Target: 插入行
100
- const targetChanges = movedLines.map((content, index) => ({
101
- line: position + index,
102
- oldContent: null,
103
- newContent: content
104
- }));
105
- fileChanges.push({
106
- filePath: targetFile,
107
- originalContent: targetOriginalContent ?? '',
108
- changes: targetChanges
109
- });
110
- }
111
- // 生成操作描述
112
- const linesCount = toLine - fromLine + 1;
113
- const operationDescription = isSameFile
114
- ? `Moved ${linesCount} line${linesCount > 1 ? 's' : ''} within file (${fromLine}-${toLine} → ${position})`
115
- : `Moved ${linesCount} line${linesCount > 1 ? 's' : ''} to '${targetFile.split('/').pop()}'`;
116
- return {
117
- command: PreviewCommand.Shift,
118
- success: true,
119
- fileChanges,
120
- operationDescription
121
- };
122
- }
123
- /**
124
- * 從 Refactor/Extract 模組的結果轉換為 PreviewInput
125
- */
126
- export function convertRefactorPreview(edits, filePath, originalContent, targetFileContent, targetFilePath, options) {
127
- const fileChanges = [];
128
- const originalLines = originalContent.split('\n');
129
- // 主檔案變更
130
- const changes = edits.map(edit => {
131
- const startLine = edit.range.start.line;
132
- const endLine = edit.range.end.line;
133
- // 組合原始內容
134
- const oldContent = originalLines.slice(startLine - 1, endLine).join('\n');
135
- return {
136
- line: startLine,
137
- oldContent,
138
- newContent: edit.newText
139
- };
140
- });
141
- fileChanges.push({ filePath, originalContent, changes });
142
- // 目標檔案(跨檔案提取)
143
- if (targetFilePath && targetFileContent) {
144
- fileChanges.push({
145
- filePath: targetFilePath,
146
- originalContent: '', // 新檔案
147
- changes: [{
148
- line: 1,
149
- oldContent: null,
150
- newContent: targetFileContent
151
- }]
152
- });
153
- }
154
- // 生成操作描述
155
- let operationDescription;
156
- if (options?.functionName) {
157
- operationDescription = `Extracted function '${options.functionName}'`;
158
- }
159
- else if (options?.action) {
160
- operationDescription = options.action;
161
- }
162
- return {
163
- command: PreviewCommand.Refactor,
164
- success: true,
165
- fileChanges,
166
- operationDescription
167
- };
168
- }
169
- /**
170
- * 通用操作轉換函數
171
- *
172
- * 當操作包含 context(完整行內容)時,會使用 context 來生成 diff,
173
- * 這樣 diff 輸出會顯示完整的程式碼行,而非只有被替換的符號名稱。
174
- */
175
- function convertOperationsToPreviewInput(command, operations, originalContents, conflicts, errors) {
176
- // 按檔案分組操作
177
- const groupedOps = new Map();
178
- for (const op of operations) {
179
- const existing = groupedOps.get(op.filePath) ?? [];
180
- existing.push(op);
181
- groupedOps.set(op.filePath, existing);
182
- }
183
- const fileChanges = [];
184
- for (const [filePath, ops] of groupedOps) {
185
- const originalContent = originalContents.get(filePath) ?? '';
186
- // ⚠️ 重要:按行號分組,合併同一行的多個操作
187
- // 場景:同一行有多個相同符號時(如 `const foo = foo + foo;`)
188
- // rename 會產生多個獨立 operation,若不合併會導致 diff 重複顯示該行
189
- const lineOpsMap = new Map();
190
- for (const op of ops) {
191
- const line = op.range.start.line;
192
- const existing = lineOpsMap.get(line) ?? [];
193
- existing.push(op);
194
- lineOpsMap.set(line, existing);
195
- }
196
- const changes = [];
197
- for (const [line, lineOps] of lineOpsMap) {
198
- const firstOp = lineOps[0];
199
- if (firstOp.context) {
200
- // ⚠️ 重要:使用 replace(不是 replaceAll)依次替換
201
- // 每個 op 對應一個符號位置,依次 replace 可正確處理:
202
- // "const foo = foo + foo;" → replace → "const bar = foo + foo;"
203
- // → replace → "const bar = bar + foo;"
204
- // → replace → "const bar = bar + bar;"
205
- let newContext = firstOp.context;
206
- for (const op of lineOps) {
207
- newContext = newContext.replace(op.oldText, op.newText);
208
- }
209
- changes.push({
210
- line,
211
- oldContent: firstOp.context,
212
- newContent: newContext
213
- });
214
- }
215
- else {
216
- // 無 context:每個操作單獨處理(降級為只顯示符號名稱)
217
- for (const op of lineOps) {
218
- changes.push({
219
- line,
220
- oldContent: op.oldText,
221
- newContent: op.newText
222
- });
223
- }
224
- }
225
- }
226
- fileChanges.push({ filePath, originalContent, changes });
227
- }
228
- return {
229
- command,
230
- success: true,
231
- fileChanges,
232
- conflicts,
233
- errors
234
- };
235
- }
236
- /**
237
- * 轉換 rename 模組的衝突格式
238
- */
239
- function convertRenameConflicts(conflicts) {
240
- return conflicts.map(c => ({
241
- type: c.type,
242
- message: c.message,
243
- filePath: c.location?.filePath ?? null,
244
- line: c.location?.range?.start.line ?? null
245
- }));
246
- }
247
- /**
248
- * 從 DeadCodeRemover 的 preview 結果轉換為 PreviewInput
249
- */
250
- export function convertDeadCodeRemovalPreview(preview, originalContents) {
251
- const fileChanges = [];
252
- // 按檔案分組所有操作
253
- const groupedOps = new Map();
254
- // 處理刪除操作
255
- for (const removal of preview.removals) {
256
- const existing = groupedOps.get(removal.filePath) ?? [];
257
- existing.push({
258
- line: removal.range.start.line,
259
- oldContent: removal.originalCode
260
- });
261
- groupedOps.set(removal.filePath, existing);
262
- }
263
- // 處理 import 清理(包含部分清理)
264
- const importCleanups = new Map();
265
- for (const cleanup of preview.importCleanups) {
266
- const existing = importCleanups.get(cleanup.filePath) ?? [];
267
- existing.push({
268
- line: cleanup.range.start.line,
269
- oldContent: cleanup.originalImport,
270
- newContent: cleanup.cleanupType === 'partial' && cleanup.newImport ? cleanup.newImport : null
271
- });
272
- importCleanups.set(cleanup.filePath, existing);
273
- }
274
- // 轉換為 FileChangeInput
275
- // 先處理刪除操作
276
- for (const [filePath, ops] of groupedOps) {
277
- const originalContent = originalContents.get(filePath) ?? '';
278
- const changes = ops.map(op => ({
279
- line: op.line,
280
- oldContent: op.oldContent,
281
- newContent: null // 刪除操作
282
- }));
283
- // 合併同檔案的 import 清理操作
284
- const importOps = importCleanups.get(filePath);
285
- if (importOps) {
286
- for (const importOp of importOps) {
287
- changes.push({
288
- line: importOp.line,
289
- oldContent: importOp.oldContent,
290
- newContent: importOp.newContent
291
- });
292
- }
293
- importCleanups.delete(filePath);
294
- }
295
- fileChanges.push({ filePath, originalContent, changes });
296
- }
297
- // 處理只有 import 清理的檔案
298
- for (const [filePath, ops] of importCleanups) {
299
- const originalContent = originalContents.get(filePath) ?? '';
300
- const changes = ops.map(op => ({
301
- line: op.line,
302
- oldContent: op.oldContent,
303
- newContent: op.newContent
304
- }));
305
- fileChanges.push({ filePath, originalContent, changes });
306
- }
307
- // 生成操作描述
308
- const { totalRemovals, importsCleanedUp, byType } = preview.summary;
309
- let operationDescription = `Removed ${totalRemovals} dead code item${totalRemovals !== 1 ? 's' : ''}`;
310
- // 加入類型細節
311
- const typeDetails = Object.entries(byType)
312
- .map(([type, count]) => `${count} ${type}${count !== 1 ? 's' : ''}`)
313
- .join(', ');
314
- if (typeDetails) {
315
- operationDescription += ` (${typeDetails})`;
316
- }
317
- // 加入 import 清理資訊
318
- if (importsCleanedUp > 0) {
319
- operationDescription += ` and cleaned up ${importsCleanedUp} import${importsCleanedUp !== 1 ? 's' : ''}`;
320
- }
321
- return {
322
- command: PreviewCommand.DeadCodeRemoval,
323
- success: preview.success,
324
- fileChanges,
325
- operationDescription,
326
- errors: preview.errors ? [...preview.errors] : undefined
327
- };
328
- }
329
- //# sourceMappingURL=preview-converter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"preview-converter.js","sourceRoot":"","sources":["../../../src/infrastructure/formatters/preview-converter.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Analyze 命令格式化策略
3
- * 包含 DeadCode 子類型處理
4
- */
5
- import { type AnalyzeResult } from '../query-types.js';
6
- import { BaseFormatter } from './base-formatter.js';
7
- /**
8
- * Analyze 結果格式化器
9
- */
10
- export declare class AnalyzeFormatter extends BaseFormatter<AnalyzeResult> {
11
- /**
12
- * 格式化 Analyze 摘要
13
- */
14
- formatSummary(result: AnalyzeResult): string;
15
- /**
16
- * 格式化 DeadCode 摘要
17
- */
18
- private formatDeadCodeSummary;
19
- /**
20
- * 取得 Dead Code 圖示
21
- */
22
- private getDeadCodeIcon;
23
- }
24
- //# sourceMappingURL=analyze-formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze-formatter.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/formatters/strategies/analyze-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAE3E;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,aAAa,CAAC;IAChE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IA+B5C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmD7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAUxB"}
@@ -1,102 +0,0 @@
1
- /**
2
- * Analyze 命令格式化策略
3
- * 包含 DeadCode 子類型處理
4
- */
5
- import { AnalyzeType } from '../query-types.js';
6
- import { groupByFile, formatLimitedList } from '../utils/index.js';
7
- import { BaseFormatter, Colors, SeverityStyle } from './base-formatter.js';
8
- /**
9
- * Analyze 結果格式化器
10
- */
11
- export class AnalyzeFormatter extends BaseFormatter {
12
- /**
13
- * 格式化 Analyze 摘要
14
- */
15
- formatSummary(result) {
16
- // 特殊處理 DeadCode 類型
17
- if (result.analyzeType === AnalyzeType.DeadCode) {
18
- return this.formatDeadCodeSummary(result);
19
- }
20
- const lines = [];
21
- lines.push(`分析類型: ${result.analyzeType}`);
22
- lines.push(`成功: ${result.success ? '是' : '否'}`);
23
- if (result.issues && result.issues.length > 0) {
24
- lines.push(`發現 ${result.issues.length} 個問題`);
25
- lines.push('');
26
- result.issues.slice(0, 10).forEach(issue => {
27
- const severity = issue.severity
28
- ? SeverityStyle[issue.severity].emoji
29
- : '•';
30
- lines.push(`${severity} ${issue.message}`);
31
- if (issue.filePath) {
32
- lines.push(` ${this.colorize(issue.filePath, Colors.dim)}${issue.line ? `:${issue.line}` : ''}`);
33
- }
34
- });
35
- if (result.issues.length > 10) {
36
- lines.push(`... 還有 ${result.issues.length - 10} 個問題`);
37
- }
38
- }
39
- return lines.join('\n');
40
- }
41
- /**
42
- * 格式化 DeadCode 摘要
43
- */
44
- formatDeadCodeSummary(result) {
45
- const lines = [];
46
- // 標題
47
- lines.push('🔍 Dead Code 檢測結果');
48
- lines.push('');
49
- // 統計
50
- lines.push(`📊 掃描符號: ${result.summary.totalScanned || 0}`);
51
- lines.push(`💀 Dead Code: ${result.items.length} 個`);
52
- lines.push(`📁 影響檔案: ${result.filesAffected} 個`);
53
- lines.push(`⏱️ 耗時: ${result.scanTime}ms`);
54
- if (result.skippedFiles > 0) {
55
- lines.push(this.colorize(`⚠️ 跳過檔案: ${result.skippedFiles} 個(解析失敗)`, Colors.yellow));
56
- }
57
- lines.push('');
58
- // 按類型統計
59
- if (Object.keys(result.byType).length > 0) {
60
- lines.push('按類型統計:');
61
- for (const [type, count] of Object.entries(result.byType)) {
62
- const label = this.getTypeLabel(type);
63
- lines.push(` ${label}: ${count}`);
64
- }
65
- lines.push('');
66
- }
67
- // Dead code 列表
68
- if (result.items.length > 0) {
69
- lines.push('Dead Code 列表:');
70
- const byFile = groupByFile(result.items);
71
- for (const [file, items] of byFile) {
72
- lines.push(` ${this.colorize(file, Colors.cyan)}`);
73
- lines.push(...formatLimitedList({
74
- items,
75
- formatItem: item => {
76
- const icon = this.getDeadCodeIcon(item.type);
77
- return `${icon} L${item.line}: ${item.name} (${item.type})\n ${this.colorize(item.reason, Colors.dim)}`;
78
- },
79
- overflowUnit: ''
80
- }));
81
- }
82
- }
83
- else {
84
- lines.push(this.colorize('✅ 未發現 Dead Code', Colors.green));
85
- }
86
- return lines.join('\n');
87
- }
88
- /**
89
- * 取得 Dead Code 圖示
90
- */
91
- getDeadCodeIcon(type) {
92
- switch (type) {
93
- case 'function': return '⚡';
94
- case 'class': return '📦';
95
- case 'variable': return '📌';
96
- case 'interface': return '📋';
97
- case 'type': return '🏷️';
98
- default: return '💀';
99
- }
100
- }
101
- }
102
- //# sourceMappingURL=analyze-formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyze-formatter.js","sourceRoot":"","sources":["../../../../src/infrastructure/formatters/strategies/analyze-formatter.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Deps 命令格式化策略
3
- */
4
- import { type DepsResult } from '../query-types.js';
5
- import { BaseFormatter } from './base-formatter.js';
6
- /**
7
- * Deps 結果格式化器
8
- */
9
- export declare class DepsFormatter extends BaseFormatter<DepsResult> {
10
- /**
11
- * 格式化 Deps 摘要
12
- */
13
- formatSummary(result: DepsResult): string;
14
- }
15
- //# sourceMappingURL=deps-formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps-formatter.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/formatters/strategies/deps-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAU,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa,CAAC,UAAU,CAAC;IAC1D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;CAoC1C"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Deps 命令格式化策略
3
- */
4
- import { BaseFormatter, Colors } from './base-formatter.js';
5
- /**
6
- * Deps 結果格式化器
7
- */
8
- export class DepsFormatter extends BaseFormatter {
9
- /**
10
- * 格式化 Deps 摘要
11
- */
12
- formatSummary(result) {
13
- const lines = [];
14
- const basePath = result.basePath;
15
- // 循環依賴
16
- if (result.cycles && result.cycles.length > 0) {
17
- lines.push(this.colorize(`發現 ${result.cycles.length} 個循環依賴`, Colors.red));
18
- lines.push('');
19
- result.cycles.forEach((cycle, index) => {
20
- const formattedCycle = cycle.cycle.map(p => this.toRelativePath(p, basePath));
21
- lines.push(`${index + 1}. ${formattedCycle.join(' → ')} → ${formattedCycle[0]}`);
22
- });
23
- }
24
- else if (!result.impact) {
25
- // 只有在沒有 impact 分析時才顯示「未發現循環依賴」
26
- lines.push(this.colorize('未發現循環依賴', Colors.green));
27
- }
28
- // 影響分析
29
- if (result.impact) {
30
- const targetFile = this.toRelativePath(result.impact.targetFile, basePath);
31
- lines.push(`📊 影響分析: ${targetFile}`);
32
- lines.push(` 依賴此檔案: ${result.impact.dependents.length} 個`);
33
- lines.push(` 被此檔案依賴: ${result.impact.dependencies.length} 個`);
34
- if (result.impact.dependents.length > 0) {
35
- lines.push(' 依賴者:');
36
- result.impact.dependents.slice(0, 5).forEach(dep => {
37
- lines.push(` - ${this.toRelativePath(dep, basePath)}`);
38
- });
39
- if (result.impact.dependents.length > 5) {
40
- lines.push(` ... 還有 ${result.impact.dependents.length - 5} 個`);
41
- }
42
- }
43
- }
44
- return lines.join('\n');
45
- }
46
- }
47
- //# sourceMappingURL=deps-formatter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps-formatter.js","sourceRoot":"","sources":["../../../../src/infrastructure/formatters/strategies/deps-formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAyB;IAC1D;;OAEG;IACH,aAAa,CAAC,MAAkB;QAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEjC,OAAO;QACP,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrC,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC1B,+BAA+B;YAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO;QACP,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC3E,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;YAChE,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACjD,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Snapshot 命令格式化策略
3
- * 包含 Incremental 子類型處理
4
- */
5
- import { type SnapshotResult } from '../query-types.js';
6
- import { BaseFormatter } from './base-formatter.js';
7
- /**
8
- * Snapshot 結果格式化器
9
- */
10
- export declare class SnapshotFormatter extends BaseFormatter<SnapshotResult> {
11
- /**
12
- * 格式化 Snapshot 摘要
13
- */
14
- formatSummary(result: SnapshotResult): string;
15
- /**
16
- * 格式化增量快照摘要
17
- */
18
- private formatIncrementalSnapshotSummary;
19
- }
20
- //# sourceMappingURL=snapshot-formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-formatter.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/formatters/strategies/snapshot-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAU,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa,CAAC,cAAc,CAAC;IAClE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;IA+B7C;;OAEG;IACH,OAAO,CAAC,gCAAgC;CA8DzC"}