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
@@ -0,0 +1,11 @@
1
+ /**
2
+ * search 命令
3
+ * 在專案中搜尋符號,支援模糊匹配和型別過濾
4
+ */
5
+ import type { Command } from 'commander';
6
+ import type { CommandContext } from '../../cli/commands/types.js';
7
+ /**
8
+ * 設定 search 命令
9
+ */
10
+ export declare function setupSearchCommand(program: Command, context: CommandContext): void;
11
+ //# sourceMappingURL=search.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.command.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/cli/commands/search.command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAexE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAYlF"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * search 命令
3
+ * 在專案中搜尋符號,支援模糊匹配和型別過濾
4
+ */
5
+ import { CLI_INDEX_DEFAULTS, createSearchOptions } from '../../../core/foundations/indexing/index.js';
6
+ import { createAndIndexWithCache } from '../../cli/cached-index-engine.js';
7
+ import { QueryCommand } from '../../../infrastructure/formatters/index.js';
8
+ import { createUnifiedOutputHandler, OutputFormat } from '../../cli/unified-output-handler.js';
9
+ import { ensureDirectoryPath, tryParseOutputFormat } from '../../cli/command-utils.js';
10
+ import { getErrorMessage } from '../../../shared/errors/index.js';
11
+ import { SymbolType } from '../../../shared/types/index.js';
12
+ const VALID_SYMBOL_TYPES = new Set(Object.values(SymbolType));
13
+ /**
14
+ * 設定 search 命令
15
+ */
16
+ export function setupSearchCommand(program, context) {
17
+ program
18
+ .command('search <symbol>')
19
+ .description('在專案中搜尋符號(支援模糊匹配)')
20
+ .option('-p, --path <path>', '專案路徑', '.')
21
+ .option('--format <format>', '輸出格式 (json|summary)', 'summary')
22
+ .option('--no-fuzzy', '使用精確匹配(預設為模糊匹配)')
23
+ .option('--max-results <n>', '最大結果數', '100')
24
+ .option('--type <type>', '過濾符號類型 (class|function|interface|variable|constant|type|enum)')
25
+ .action(async (symbol, options, command) => {
26
+ await handleSearchCommand(symbol, options, context, command);
27
+ });
28
+ }
29
+ /**
30
+ * 處理 search 命令
31
+ */
32
+ async function handleSearchCommand(symbolName, options, context, command) {
33
+ const outputHandler = createUnifiedOutputHandler();
34
+ const formatResult = tryParseOutputFormat(options.format, false, outputHandler);
35
+ if (!formatResult.success) {
36
+ return;
37
+ }
38
+ const format = formatResult.format;
39
+ if (format !== OutputFormat.Json) {
40
+ process.stderr.write(`🔍 搜尋符號: ${symbolName}...\n`);
41
+ }
42
+ // 驗證 --type 參數
43
+ if (options.type !== undefined && !VALID_SYMBOL_TYPES.has(options.type)) {
44
+ outputHandler.outputError(`無效的符號類型: ${options.type}。可用類型: ${[...VALID_SYMBOL_TYPES].join('|')}`, format);
45
+ process.exitCode = 1;
46
+ return;
47
+ }
48
+ const parsedMax = parseInt(String(options.maxResults), 10);
49
+ if (isNaN(parsedMax) || parsedMax <= 0) {
50
+ outputHandler.outputError(`--max-results 須為正整數,收到: ${options.maxResults}`, format);
51
+ process.exitCode = 1;
52
+ return;
53
+ }
54
+ const maxResults = parsedMax;
55
+ const projectPath = options.path;
56
+ const pathIsDirectory = await ensureDirectoryPath(projectPath, context.fileSystem, outputHandler, format);
57
+ if (!pathIsDirectory) {
58
+ return;
59
+ }
60
+ const globalOpts = command.optsWithGlobals();
61
+ const noCache = globalOpts.cache === false;
62
+ const indexEngine = await createAndIndexWithCache(projectPath, context.fileSystem, CLI_INDEX_DEFAULTS, { noCache, cacheDir: globalOpts.cacheDir });
63
+ try {
64
+ const startTime = Date.now();
65
+ const fetchOpts = createSearchOptions({
66
+ fuzzy: options.fuzzy,
67
+ maxResults: maxResults + 1,
68
+ caseSensitive: false,
69
+ includeFileInfo: true,
70
+ ...(options.type ? { symbolTypes: [options.type] } : {}),
71
+ });
72
+ // 使用 searchSymbols(fuzzy)或 findSymbol(exact)
73
+ const symbolResults = options.fuzzy
74
+ ? await indexEngine.searchSymbols(symbolName, fetchOpts)
75
+ : await indexEngine.findSymbol(symbolName, fetchOpts);
76
+ const searchTime = Date.now() - startTime;
77
+ const truncated = symbolResults.length > maxResults;
78
+ const limitedResults = truncated ? symbolResults.slice(0, maxResults) : symbolResults;
79
+ // 映射為 SearchMatch
80
+ const matches = limitedResults.map(sr => {
81
+ const sym = sr.symbol;
82
+ return {
83
+ filePath: sym.location.filePath,
84
+ line: sym.location.range.start.line,
85
+ column: sym.location.range.start.column,
86
+ content: `[${sym.type}] ${sym.name}`,
87
+ };
88
+ });
89
+ const result = {
90
+ command: QueryCommand.Search,
91
+ success: true,
92
+ results: matches,
93
+ truncated,
94
+ searchTime,
95
+ summary: {
96
+ matchCount: matches.length,
97
+ },
98
+ };
99
+ outputHandler.outputQuery(result, format);
100
+ }
101
+ catch (error) {
102
+ const errorMessage = getErrorMessage(error);
103
+ outputHandler.outputError(`搜尋符號失敗: ${errorMessage}`, format);
104
+ process.exitCode = 1;
105
+ }
106
+ finally {
107
+ indexEngine.dispose();
108
+ }
109
+ }
110
+ //# sourceMappingURL=search.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.command.js","sourceRoot":"","sources":["../../../../src/interfaces/cli/commands/search.command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC9F,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EACL,YAAY,EAGb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACb,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWpD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,OAAuB;IAC1E,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,CAAC;SACxC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,SAAS,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACvC,MAAM,CAAC,mBAAmB,EAAE,OAAO,EAAE,KAAK,CAAC;SAC3C,MAAM,CAAC,eAAe,EAAE,+DAA+D,CAAC;SACxF,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAsB,EAAE,OAAgB,EAAE,EAAE;QACzE,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,OAAsB,EACtB,OAAuB,EACvB,OAAgB;IAEhB,MAAM,aAAa,GAAG,0BAA0B,EAAE,CAAC;IAEnD,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAChF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAAA,OAAO;IAAA,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAEnC,IAAI,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,UAAU,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,eAAe;IACf,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,aAAa,CAAC,WAAW,CAAC,YAAY,OAAO,CAAC,IAAI,UAAU,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACzG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACvC,aAAa,CAAC,WAAW,CAAC,2BAA2B,OAAO,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QACnF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC;IAE7B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC1G,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAA4C,CAAC;IACvF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC;IAE3C,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAC/C,WAAW,EACX,OAAO,CAAC,UAAU,EAClB,kBAAkB,EAClB,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAC3C,CAAC;IAEF,IAAI,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,UAAU,GAAG,CAAC;YAC1B,aAAa,EAAE,KAAK;YACpB,eAAe,EAAE,IAAI;YACrB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,IAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK;YACjC,CAAC,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC;YACxD,CAAC,CAAC,MAAM,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAExD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE1C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC;QACpD,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAEtF,kBAAkB;QAClB,MAAM,OAAO,GAAkB,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACrD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;YACtB,OAAO;gBACL,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ;gBAC/B,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;gBACnC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;gBACvC,OAAO,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE;aACrC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAiB;YAC3B,OAAO,EAAE,YAAY,CAAC,MAAM;YAC5B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO;YAChB,SAAS;YACT,UAAU;YACV,OAAO,EAAE;gBACP,UAAU,EAAE,OAAO,CAAC,MAAM;aAC3B;SACF,CAAC;QAEF,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,aAAa,CAAC,WAAW,CAAC,WAAW,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -52,6 +52,11 @@ export declare class UnifiedOutputHandler {
52
52
  * 格式化唯讀類結果(不輸出)
53
53
  */
54
54
  formatQueryResult(result: QueryResult, format: OutputFormat): string;
55
+ /**
56
+ * 輸出原始 JSON 結果。
57
+ * 保留給尚未能完整映射到 Query/Mutation formatter 的 CLI 相容輸出。
58
+ */
59
+ outputJson(value: unknown, spacing?: number): void;
55
60
  /**
56
61
  * 輸出錯誤
57
62
  * JSON 格式輸出到 stdout(機器可讀),其他格式輸出到 stderr
@@ -1 +1 @@
1
- {"version":3,"file":"unified-output-handler.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,qCAAqC,CAAC;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,aAAa;AACb,oBAAY,YAAY;IACtB,oBAAoB;IACpB,IAAI,SAAS;IACb,iBAAiB;IACjB,OAAO,YAAY;IACnB,sBAAsB;IACtB,IAAI,SAAS;CACd;AAED,cAAc;AACd,MAAM,WAAW,oBAAoB;IACnC,aAAa;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAEpB,OAAO,GAAE,oBAAyB;IAa9C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAK/D;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAIvE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAKzE;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa;IAMxD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAI5D;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAOpE;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBhF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAUzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAE/F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,YAAY,CAchF"}
1
+ {"version":3,"file":"unified-output-handler.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,qCAAqC,CAAC;AAK7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,aAAa;AACb,oBAAY,YAAY;IACtB,oBAAoB;IACpB,IAAI,SAAS;IACb,iBAAiB;IACjB,OAAO,YAAY;IACnB,sBAAsB;IACtB,IAAI,SAAS;CACd;AAED,cAAc;AACd,MAAM,WAAW,oBAAoB;IACnC,aAAa;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAEpB,OAAO,GAAE,oBAAyB;IAa9C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAK/D;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAIvE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAKzE;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa;IAMxD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAI5D;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM;IAOpE;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBhF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAUzB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAE/F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,YAAY,CAchF"}
@@ -71,6 +71,13 @@ export class UnifiedOutputHandler {
71
71
  return this.queryFormatter.format(result, queryFormat);
72
72
  }
73
73
  // ========== 通用方法 ==========
74
+ /**
75
+ * 輸出原始 JSON 結果。
76
+ * 保留給尚未能完整映射到 Query/Mutation formatter 的 CLI 相容輸出。
77
+ */
78
+ outputJson(value, spacing) {
79
+ console.log(JSON.stringify(value, null, spacing));
80
+ }
74
81
  /**
75
82
  * 輸出錯誤
76
83
  * JSON 格式輸出到 stdout(機器可讀),其他格式輸出到 stderr
@@ -86,7 +93,7 @@ export class UnifiedOutputHandler {
86
93
  if (command) {
87
94
  output.command = command;
88
95
  }
89
- console.log(JSON.stringify(output));
96
+ this.outputJson(output);
90
97
  }
91
98
  else {
92
99
  console.error(`\n❌ 錯誤: ${message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"unified-output-handler.js","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-output-handler.js","sourceRoot":"","sources":["../../../src/interfaces/cli/unified-output-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"declaration-analyzer.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,iBAAiB,EAEjB,kBAAkB,EAElB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAOpD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuD;IAEhF;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;;;;OAOG;IACH,uBAAuB,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,KAAK,GAAG,IAAI;IAwGf;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,IAAI;IAwB/D;;;;;;;OAOG;IACH,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,kBAAkB,GAAG,IAAI;IAqD5B;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,IAAI;IA2EvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6DnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAyDtC"}
1
+ {"version":3,"file":"declaration-analyzer.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACV,iBAAiB,EAEjB,kBAAkB,EAElB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAQpD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuD;IAEhF;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;;;;OAOG;IACH,uBAAuB,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,KAAK,GAAG,IAAI;IAyGf;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,IAAI;IAwB/D;;;;;;;OAOG;IACH,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,kBAAkB,GAAG,IAAI;IAqD5B;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,IAAI;IA2EvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6DnC;;OAEG;IACH,OAAO,CAAC,6BAA6B;CAyDtC"}
@@ -7,6 +7,7 @@ import * as babel from '@babel/types';
7
7
  import babelTraverse from '@babel/traverse';
8
8
  import { isLineMatch, parseJSDocContent } from '../shared/index.js';
9
9
  import { createLRUCache } from '../../infrastructure/cache/index.js';
10
+ import { logger } from '../../infrastructure/logging/index.js';
10
11
  // Handle both ESM and CJS module formats
11
12
  const traverse = babelTraverse.default || babelTraverse;
12
13
  /**
@@ -39,7 +40,8 @@ export class DeclarationAnalyzer {
39
40
  this.astCache.set(hash, ast); // MemoryCache 自動處理 LRU 淘汰
40
41
  return ast;
41
42
  }
42
- catch {
43
+ catch (error) {
44
+ logger.warn('js/declaration-analyzer', `Parse failed: ${error}`);
43
45
  return null;
44
46
  }
45
47
  }
@@ -145,7 +147,8 @@ export class DeclarationAnalyzer {
145
147
  }
146
148
  };
147
149
  }
148
- catch {
150
+ catch (error) {
151
+ logger.warn('js/declaration-analyzer', `Parse failed: ${error}`);
149
152
  return null;
150
153
  }
151
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"declaration-analyzer.js","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declaration-analyzer.js","sourceRoot":"","sources":["../../../src/plugins/javascript/declaration-analyzer.ts"],"names":[],"mappings":"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"}
@@ -50,10 +50,6 @@ export declare class JavaScriptParser implements ParserPlugin {
50
50
  * 重新命名符號
51
51
  */
52
52
  rename(ast: AST, position: Position, newName: string): Promise<CodeEdit[]>;
53
- /**
54
- * 提取函式重構
55
- */
56
- extractFunction(_ast: AST, _selection: Range): Promise<CodeEdit[]>;
57
53
  /**
58
54
  * 查找定義
59
55
  */
@@ -93,6 +89,7 @@ export declare class JavaScriptParser implements ParserPlugin {
93
89
  private extractFunctionSymbol;
94
90
  private extractClassSymbol;
95
91
  private extractVariableSymbol;
92
+ private extractParameterSymbols;
96
93
  private extractImportSymbol;
97
94
  private extractMethodSymbol;
98
95
  private extractPropertySymbol;
@@ -103,6 +100,11 @@ export declare class JavaScriptParser implements ParserPlugin {
103
100
  private extractExportDependency;
104
101
  private extractCallExpressionDependency;
105
102
  private isReferenceToSymbol;
103
+ private isFunctionLocalSymbol;
104
+ private isSameBabelBinding;
105
+ private getBindingIdentifier;
106
+ private getNearestFunctionName;
107
+ private getFunctionExpressionName;
106
108
  private getReferenceType;
107
109
  private symbolTypeToDefinitionKind;
108
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAOhB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACV,GAAG,EACH,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,KAAK,EACN,MAAM,wBAAwB,CAAC;AAchC,OAAO,EAGL,sBAAsB,EAUvB,MAAM,YAAY,CAAC;AAsCpB;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,SAAgB,IAAI,gBAAgB;IACpC,SAAgB,OAAO,WAAW;IAClC,SAAgB,mBAAmB,2CAA4C;IAC/E,SAAgB,kBAAkB,iCAAkC;IAEpE,OAAO,CAAC,YAAY,CAAyB;IAE7C,cAAc;IACd,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8D;IAC/F,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0D;gBAEvE,YAAY,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAO1D;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAkDzD;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmDjD;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAuCpE;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA0B1D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA8BhF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKxE;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAW9E;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAS5D;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAsB3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;OAGG;IACH,yBAAyB,IAAI,MAAM,EAAE;IAIrC;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAM9C,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,+BAA+B;IAuCvC,OAAO,CAAC,mBAAmB;IAkD3B,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,0BAA0B;IAyBlC;;;;;OAKG;YACW,sBAAsB;IA+BpC;;OAEG;IACH,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;YAQhC,oBAAoB;IAgBlC,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQrC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI;IAIpD,oBAAoB,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,2BAA2B,GACpC,eAAe,EAAE,GAAG,IAAI;IAI3B,uBAAuB,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,KAAK,GAAG,IAAI;IAIf,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,IAAI;IAI/D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAI5F,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,IAAI;CAGxB"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/plugins/javascript/parser.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ import babelTraverse from '@babel/traverse';
8
8
  // Handle both ESM and CJS module formats
9
9
  const traverse = babelTraverse.default || babelTraverse;
10
10
  import { createValidationSuccess, createValidationFailure, createCodeEdit, createDefinition, createUsage } from '../../infrastructure/parser/index.js';
11
- import { createAST, createASTMetadata, ReferenceType, SymbolType, DependencyType } from '../../shared/types/index.js';
11
+ import { createAST, createASTMetadata, ReferenceType, SymbolType, DependencyType, JAVASCRIPT_SOURCE_EXTENSIONS } from '../../shared/types/index.js';
12
12
  import { getErrorMessage } from '../../shared/errors/index.js';
13
- import { createSymbol, createReference, createDependency } from '../../shared/types/index.js';
13
+ import { createSymbol, createScope, createReference, createDependency } from '../../shared/types/index.js';
14
14
  import { DEFAULT_PARSE_OPTIONS, JavaScriptParseError, createJavaScriptASTNode, createParseError, babelLocationToPosition, isValidIdentifier, isRelativePath, getImportedSymbols, getPluginsForFile } from './types.js';
15
15
  import { JAVASCRIPT_EXCLUDE_PATTERNS, matchesAnyPattern, validateParserInput, validateRenameInput } from '../shared/index.js';
16
16
  import { createLRUCache } from '../../infrastructure/cache/index.js';
@@ -24,7 +24,7 @@ import { createHash } from 'node:crypto';
24
24
  export class JavaScriptParser {
25
25
  name = 'javascript';
26
26
  version = '1.0.0';
27
- supportedExtensions = ['.js', '.jsx', '.mjs', '.cjs'];
27
+ supportedExtensions = JAVASCRIPT_SOURCE_EXTENSIONS;
28
28
  supportedLanguages = ['javascript', 'jsx'];
29
29
  parseOptions;
30
30
  /** 設計模式分析器 */
@@ -101,12 +101,13 @@ export class JavaScriptParser {
101
101
  // 處理各種宣告節點
102
102
  FunctionDeclaration: (path) => {
103
103
  this.extractFunctionSymbol(path.node, symbols, typedAst.sourceFile);
104
+ this.extractParameterSymbols(path.node.params, path.node.id?.name, symbols, typedAst.sourceFile);
104
105
  },
105
106
  ClassDeclaration: (path) => {
106
107
  this.extractClassSymbol(path.node, symbols, typedAst.sourceFile);
107
108
  },
108
109
  VariableDeclarator: (path) => {
109
- this.extractVariableSymbol(path.node, symbols, typedAst.sourceFile);
110
+ this.extractVariableSymbol(path.node, symbols, typedAst.sourceFile, this.getNearestFunctionName(path));
110
111
  },
111
112
  ImportDefaultSpecifier: (path) => {
112
113
  this.extractImportSymbol(path.node, symbols, typedAst.sourceFile);
@@ -119,12 +120,20 @@ export class JavaScriptParser {
119
120
  },
120
121
  ClassMethod: (path) => {
121
122
  this.extractMethodSymbol(path.node, symbols, typedAst.sourceFile);
123
+ this.extractParameterSymbols(path.node.params, babel.isIdentifier(path.node.key) ? path.node.key.name : undefined, symbols, typedAst.sourceFile);
122
124
  },
123
125
  ClassProperty: (path) => {
124
126
  this.extractPropertySymbol(path.node, symbols, typedAst.sourceFile);
125
127
  },
126
128
  ObjectMethod: (path) => {
127
129
  this.extractObjectMethodSymbol(path.node, symbols, typedAst.sourceFile);
130
+ this.extractParameterSymbols(path.node.params, babel.isIdentifier(path.node.key) ? path.node.key.name : undefined, symbols, typedAst.sourceFile);
131
+ },
132
+ FunctionExpression: (path) => {
133
+ this.extractParameterSymbols(path.node.params, this.getFunctionExpressionName(path), symbols, typedAst.sourceFile);
134
+ },
135
+ ArrowFunctionExpression: (path) => {
136
+ this.extractParameterSymbols(path.node.params, this.getFunctionExpressionName(path), symbols, typedAst.sourceFile);
128
137
  },
129
138
  ObjectProperty: (path) => {
130
139
  this.extractObjectPropertySymbol(path.node, symbols, typedAst.sourceFile);
@@ -211,13 +220,6 @@ export class JavaScriptParser {
211
220
  }
212
221
  return edits;
213
222
  }
214
- /**
215
- * 提取函式重構
216
- */
217
- async extractFunction(_ast, _selection) {
218
- // 這是一個複雜的重構操作,目前提供基本實作
219
- throw new Error('提取函式重構尚未實作');
220
- }
221
223
  /**
222
224
  * 查找定義
223
225
  */
@@ -333,12 +335,28 @@ export class JavaScriptParser {
333
335
  symbols.push(symbol);
334
336
  }
335
337
  }
336
- extractVariableSymbol(node, symbols, sourceFile) {
338
+ extractVariableSymbol(node, symbols, sourceFile, functionScopeName) {
337
339
  if (babel.isIdentifier(node.id)) {
338
- const symbol = this.createSymbolFromNode(node, node.id.name, SymbolType.Variable, sourceFile);
340
+ const symbol = this.createSymbolFromNode(node, node.id.name, SymbolType.Variable, sourceFile, {}, functionScopeName ? createScope('function', functionScopeName) : undefined);
339
341
  symbols.push(symbol);
340
342
  }
341
343
  }
344
+ extractParameterSymbols(params, functionScopeName, symbols, sourceFile) {
345
+ for (const param of params) {
346
+ if (!babel.isIdentifier(param)) {
347
+ continue;
348
+ }
349
+ const location = {
350
+ filePath: sourceFile,
351
+ range: this.getNodeRange(param)
352
+ };
353
+ const baseSymbol = createSymbol(param.name, SymbolType.Variable, location, createScope('function', functionScopeName), []);
354
+ symbols.push({
355
+ ...baseSymbol,
356
+ babelNode: param
357
+ });
358
+ }
359
+ }
342
360
  extractImportSymbol(node, symbols, sourceFile) {
343
361
  const symbol = this.createSymbolFromNode(node, node.local.name, SymbolType.Variable, sourceFile, { isImported: true });
344
362
  symbols.push(symbol);
@@ -367,10 +385,10 @@ export class JavaScriptParser {
367
385
  symbols.push(symbol);
368
386
  }
369
387
  }
370
- createSymbolFromNode(node, name, type, sourceFile, options = {}) {
388
+ createSymbolFromNode(node, name, type, sourceFile, options = {}, scope) {
371
389
  const range = this.getNodeRange(node);
372
390
  const location = { filePath: sourceFile, range };
373
- const baseSymbol = createSymbol(name, type, location, undefined, []);
391
+ const baseSymbol = createSymbol(name, type, location, scope, []);
374
392
  return {
375
393
  ...baseSymbol,
376
394
  babelNode: node,
@@ -444,10 +462,74 @@ export class JavaScriptParser {
444
462
  // 只有 local 是本地名稱才需要重命名
445
463
  return false;
446
464
  }
465
+ if (this.isFunctionLocalSymbol(symbol)) {
466
+ if (babel.isMemberExpression(parent) && parent.property === node && !parent.computed) {
467
+ return false;
468
+ }
469
+ return this.isSameBabelBinding(path, symbol);
470
+ }
447
471
  // 基本的作用域檢查
448
472
  // Babel traverse 的 path 已經處理了作用域,字串和註解不會進入這裡
449
473
  return true;
450
474
  }
475
+ isFunctionLocalSymbol(symbol) {
476
+ return symbol.scope?.type === 'function' || symbol.scope?.type === 'block';
477
+ }
478
+ isSameBabelBinding(path, symbol) {
479
+ const targetIdentifier = this.getBindingIdentifier(symbol.babelNode);
480
+ if (!targetIdentifier) {
481
+ return false;
482
+ }
483
+ const binding = path.scope.getBinding(symbol.name);
484
+ return binding?.identifier === targetIdentifier;
485
+ }
486
+ getBindingIdentifier(node) {
487
+ if (babel.isIdentifier(node)) {
488
+ return node;
489
+ }
490
+ if ((babel.isFunctionDeclaration(node) || babel.isClassDeclaration(node)) && node.id) {
491
+ return node.id;
492
+ }
493
+ if (babel.isVariableDeclarator(node) && babel.isIdentifier(node.id)) {
494
+ return node.id;
495
+ }
496
+ if ((babel.isImportDefaultSpecifier(node)
497
+ || babel.isImportSpecifier(node)
498
+ || babel.isImportNamespaceSpecifier(node))) {
499
+ return node.local;
500
+ }
501
+ return null;
502
+ }
503
+ getNearestFunctionName(path) {
504
+ let current = path.parentPath;
505
+ while (current) {
506
+ const node = current.node;
507
+ if (babel.isFunctionDeclaration(node)) {
508
+ return node.id?.name;
509
+ }
510
+ if (babel.isClassMethod(node) || babel.isObjectMethod(node)) {
511
+ return babel.isIdentifier(node.key) ? node.key.name : undefined;
512
+ }
513
+ if (babel.isFunctionExpression(node) || babel.isArrowFunctionExpression(node)) {
514
+ return this.getFunctionExpressionName(current);
515
+ }
516
+ current = current.parentPath;
517
+ }
518
+ return undefined;
519
+ }
520
+ getFunctionExpressionName(path) {
521
+ const parent = path.parent;
522
+ if (babel.isVariableDeclarator(parent) && babel.isIdentifier(parent.id)) {
523
+ return parent.id.name;
524
+ }
525
+ if (babel.isAssignmentExpression(parent) && babel.isIdentifier(parent.left)) {
526
+ return parent.left.name;
527
+ }
528
+ if (babel.isObjectProperty(parent) && babel.isIdentifier(parent.key)) {
529
+ return parent.key.name;
530
+ }
531
+ return undefined;
532
+ }
451
533
  getReferenceType(path, symbol) {
452
534
  const node = path.node;
453
535
  // 如果是符號的原始定義位置