agent-ide 0.9.0 → 0.9.1

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 (259) hide show
  1. package/README.md +11 -11
  2. package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts +1 -8
  3. package/dist/core/call-hierarchy/call-hierarchy-analyzer.d.ts.map +1 -1
  4. package/dist/core/call-hierarchy/call-hierarchy-analyzer.js +9 -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 +5 -7
  7. package/dist/core/change-signature/call-site-updater.d.ts.map +1 -1
  8. package/dist/core/change-signature/call-site-updater.js +7 -16
  9. package/dist/core/change-signature/call-site-updater.js.map +1 -1
  10. package/dist/core/change-signature/change-signature-service.d.ts +1 -8
  11. package/dist/core/change-signature/change-signature-service.d.ts.map +1 -1
  12. package/dist/core/change-signature/change-signature-service.js +11 -29
  13. package/dist/core/change-signature/change-signature-service.js.map +1 -1
  14. package/dist/core/change-signature/signature-parser.d.ts +1 -8
  15. package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
  16. package/dist/core/change-signature/signature-parser.js +7 -23
  17. package/dist/core/change-signature/signature-parser.js.map +1 -1
  18. package/dist/core/cycles/cycle-detector.d.ts +1 -1
  19. package/dist/core/cycles/cycle-detector.d.ts.map +1 -1
  20. package/dist/core/deadcode/dead-code-detector.d.ts +2 -13
  21. package/dist/core/deadcode/dead-code-detector.d.ts.map +1 -1
  22. package/dist/core/deadcode/dead-code-detector.js +6 -29
  23. package/dist/core/deadcode/dead-code-detector.js.map +1 -1
  24. package/dist/core/deadcode/import-cleaner.js +1 -1
  25. package/dist/core/deadcode/import-cleaner.js.map +1 -1
  26. package/dist/core/deadcode/import-parser.d.ts +0 -4
  27. package/dist/core/deadcode/import-parser.d.ts.map +1 -1
  28. package/dist/core/deadcode/import-parser.js +4 -10
  29. package/dist/core/deadcode/import-parser.js.map +1 -1
  30. package/dist/core/deadcode/range-expander.d.ts +0 -4
  31. package/dist/core/deadcode/range-expander.d.ts.map +1 -1
  32. package/dist/core/deadcode/range-expander.js +14 -10
  33. package/dist/core/deadcode/range-expander.js.map +1 -1
  34. package/dist/core/find-references/index.d.ts +3 -3
  35. package/dist/core/find-references/index.d.ts.map +1 -1
  36. package/dist/core/find-references/index.js +2 -2
  37. package/dist/core/find-references/index.js.map +1 -1
  38. package/dist/core/foundations/dependency-graph/dependency-graph.d.ts.map +1 -0
  39. package/dist/core/foundations/dependency-graph/dependency-graph.js.map +1 -0
  40. package/dist/core/foundations/dependency-graph/index.d.ts.map +1 -0
  41. package/dist/core/foundations/dependency-graph/index.js.map +1 -0
  42. package/dist/core/foundations/dependency-graph/types.d.ts.map +1 -0
  43. package/dist/core/foundations/dependency-graph/types.js.map +1 -0
  44. package/dist/core/foundations/file-utils.d.ts +50 -0
  45. package/dist/core/foundations/file-utils.d.ts.map +1 -0
  46. package/dist/core/foundations/file-utils.js +75 -0
  47. package/dist/core/foundations/file-utils.js.map +1 -0
  48. package/dist/core/foundations/index.d.ts +13 -0
  49. package/dist/core/foundations/index.d.ts.map +1 -0
  50. package/dist/core/foundations/index.js +17 -0
  51. package/dist/core/foundations/index.js.map +1 -0
  52. package/dist/core/foundations/indexing/file-index.d.ts.map +1 -0
  53. package/dist/core/foundations/indexing/file-index.js.map +1 -0
  54. package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -0
  55. package/dist/core/foundations/indexing/index-engine.js.map +1 -0
  56. package/dist/core/foundations/indexing/index.d.ts.map +1 -0
  57. package/dist/core/foundations/indexing/index.js.map +1 -0
  58. package/dist/core/foundations/indexing/symbol-index.d.ts.map +1 -0
  59. package/dist/core/foundations/indexing/symbol-index.js.map +1 -0
  60. package/dist/core/{shared → foundations}/indexing/types.d.ts +1 -1
  61. package/dist/core/foundations/indexing/types.d.ts.map +1 -0
  62. package/dist/core/{shared → foundations}/indexing/types.js +11 -1
  63. package/dist/core/foundations/indexing/types.js.map +1 -0
  64. package/dist/core/foundations/symbol-finder/call-site-parser.d.ts.map +1 -0
  65. package/dist/core/foundations/symbol-finder/call-site-parser.js.map +1 -0
  66. package/dist/core/foundations/symbol-finder/index.d.ts.map +1 -0
  67. package/dist/core/foundations/symbol-finder/index.js.map +1 -0
  68. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.d.ts +24 -10
  69. package/dist/core/foundations/symbol-finder/symbol-finder.d.ts.map +1 -0
  70. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.js +118 -148
  71. package/dist/core/foundations/symbol-finder/symbol-finder.js.map +1 -0
  72. package/dist/core/foundations/symbol-finder/text-matcher.d.ts.map +1 -0
  73. package/dist/core/foundations/symbol-finder/text-matcher.js.map +1 -0
  74. package/dist/core/foundations/symbol-finder/types.d.ts.map +1 -0
  75. package/dist/core/foundations/symbol-finder/types.js.map +1 -0
  76. package/dist/core/impact/impact-analyzer.d.ts +1 -1
  77. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  78. package/dist/core/impact/impact-analyzer.js +1 -1
  79. package/dist/core/impact/impact-analyzer.js.map +1 -1
  80. package/dist/core/move-member/extractors/index.d.ts +7 -0
  81. package/dist/core/move-member/extractors/index.d.ts.map +1 -0
  82. package/dist/core/move-member/extractors/index.js +9 -0
  83. package/dist/core/move-member/extractors/index.js.map +1 -0
  84. package/dist/core/move-member/extractors/javascript-extractor.d.ts +29 -0
  85. package/dist/core/move-member/extractors/javascript-extractor.d.ts.map +1 -0
  86. package/dist/core/move-member/extractors/javascript-extractor.js +33 -0
  87. package/dist/core/move-member/extractors/javascript-extractor.js.map +1 -0
  88. package/dist/core/move-member/extractors/typescript-extractor.d.ts +40 -0
  89. package/dist/core/move-member/extractors/typescript-extractor.d.ts.map +1 -0
  90. package/dist/core/move-member/extractors/typescript-extractor.js +286 -0
  91. package/dist/core/move-member/extractors/typescript-extractor.js.map +1 -0
  92. package/dist/core/move-member/member-extractor.d.ts +12 -62
  93. package/dist/core/move-member/member-extractor.d.ts.map +1 -1
  94. package/dist/core/move-member/member-extractor.js +23 -391
  95. package/dist/core/move-member/member-extractor.js.map +1 -1
  96. package/dist/core/move-member/reference-updater.d.ts.map +1 -1
  97. package/dist/core/move-member/reference-updater.js +3 -1
  98. package/dist/core/move-member/reference-updater.js.map +1 -1
  99. package/dist/core/move-member/utils/range-finder.d.ts +40 -0
  100. package/dist/core/move-member/utils/range-finder.d.ts.map +1 -0
  101. package/dist/core/move-member/utils/range-finder.js +101 -0
  102. package/dist/core/move-member/utils/range-finder.js.map +1 -0
  103. package/dist/core/rename/reference-updater.d.ts +5 -0
  104. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  105. package/dist/core/rename/reference-updater.js +17 -4
  106. package/dist/core/rename/reference-updater.js.map +1 -1
  107. package/dist/core/rename/types.d.ts.map +1 -1
  108. package/dist/core/snapshot/snapshot-generator.d.ts +0 -29
  109. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  110. package/dist/core/snapshot/snapshot-generator.js +6 -183
  111. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  112. package/dist/core/snapshot/utils/bracket-balancer.d.ts +27 -0
  113. package/dist/core/snapshot/utils/bracket-balancer.d.ts.map +1 -0
  114. package/dist/core/snapshot/utils/bracket-balancer.js +70 -0
  115. package/dist/core/snapshot/utils/bracket-balancer.js.map +1 -0
  116. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts +22 -0
  117. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts.map +1 -0
  118. package/dist/core/snapshot/utils/factory-pattern-detector.js +70 -0
  119. package/dist/core/snapshot/utils/factory-pattern-detector.js.map +1 -0
  120. package/dist/core/snapshot/utils/index.d.ts +7 -0
  121. package/dist/core/snapshot/utils/index.d.ts.map +1 -0
  122. package/dist/core/snapshot/utils/index.js +7 -0
  123. package/dist/core/snapshot/utils/index.js.map +1 -0
  124. package/dist/core/snapshot/utils/symbol-formatter.d.ts +37 -0
  125. package/dist/core/snapshot/utils/symbol-formatter.d.ts.map +1 -0
  126. package/dist/core/snapshot/utils/symbol-formatter.js +89 -0
  127. package/dist/core/snapshot/utils/symbol-formatter.js.map +1 -0
  128. package/dist/infrastructure/formatters/query-formatter.d.ts +8 -62
  129. package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
  130. package/dist/infrastructure/formatters/query-formatter.js +29 -438
  131. package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
  132. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts +24 -0
  133. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts.map +1 -0
  134. package/dist/infrastructure/formatters/strategies/analyze-formatter.js +107 -0
  135. package/dist/infrastructure/formatters/strategies/analyze-formatter.js.map +1 -0
  136. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts +67 -0
  137. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts.map +1 -0
  138. package/dist/infrastructure/formatters/strategies/base-formatter.js +75 -0
  139. package/dist/infrastructure/formatters/strategies/base-formatter.js.map +1 -0
  140. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts +19 -0
  141. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts.map +1 -0
  142. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js +77 -0
  143. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js.map +1 -0
  144. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts +15 -0
  145. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts.map +1 -0
  146. package/dist/infrastructure/formatters/strategies/deps-formatter.js +47 -0
  147. package/dist/infrastructure/formatters/strategies/deps-formatter.js.map +1 -0
  148. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts +23 -0
  149. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts.map +1 -0
  150. package/dist/infrastructure/formatters/strategies/find-references-formatter.js +71 -0
  151. package/dist/infrastructure/formatters/strategies/find-references-formatter.js.map +1 -0
  152. package/dist/infrastructure/formatters/strategies/index.d.ts +11 -0
  153. package/dist/infrastructure/formatters/strategies/index.d.ts.map +1 -0
  154. package/dist/infrastructure/formatters/strategies/index.js +11 -0
  155. package/dist/infrastructure/formatters/strategies/index.js.map +1 -0
  156. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts +15 -0
  157. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts.map +1 -0
  158. package/dist/infrastructure/formatters/strategies/search-formatter.js +32 -0
  159. package/dist/infrastructure/formatters/strategies/search-formatter.js.map +1 -0
  160. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts +20 -0
  161. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts.map +1 -0
  162. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js +101 -0
  163. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js.map +1 -0
  164. package/dist/infrastructure/parser/registry.js.map +1 -1
  165. package/dist/interfaces/cli/commands/call-hierarchy.command.js +1 -1
  166. package/dist/interfaces/cli/commands/call-hierarchy.command.js.map +1 -1
  167. package/dist/interfaces/cli/commands/change-signature.command.js +3 -2
  168. package/dist/interfaces/cli/commands/change-signature.command.js.map +1 -1
  169. package/dist/interfaces/cli/commands/deadcode.command.js +1 -1
  170. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  171. package/dist/interfaces/cli/commands/find-references.command.js +2 -2
  172. package/dist/interfaces/cli/commands/find-references.command.js.map +1 -1
  173. package/dist/interfaces/cli/commands/rename.command.js +2 -2
  174. package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
  175. package/dist/interfaces/cli/preview-output-handler.d.ts.map +1 -1
  176. package/dist/interfaces/cli/preview-output-handler.js.map +1 -1
  177. package/dist/interfaces/cli/unified-output-handler.d.ts.map +1 -1
  178. package/dist/interfaces/cli/unified-output-handler.js.map +1 -1
  179. package/dist/plugins/javascript/parser.d.ts +0 -2
  180. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  181. package/dist/plugins/javascript/parser.js +3 -19
  182. package/dist/plugins/javascript/parser.js.map +1 -1
  183. package/dist/plugins/javascript/types.d.ts.map +1 -1
  184. package/dist/plugins/javascript/types.js.map +1 -1
  185. package/dist/plugins/shared/index.d.ts +1 -0
  186. package/dist/plugins/shared/index.d.ts.map +1 -1
  187. package/dist/plugins/shared/index.js +2 -0
  188. package/dist/plugins/shared/index.js.map +1 -1
  189. package/dist/plugins/shared/utils/async.d.ts.map +1 -1
  190. package/dist/plugins/shared/utils/async.js.map +1 -1
  191. package/dist/plugins/shared/utils/object.js +5 -5
  192. package/dist/plugins/shared/utils/object.js.map +1 -1
  193. package/dist/plugins/shared/validators.d.ts +15 -0
  194. package/dist/plugins/shared/validators.d.ts.map +1 -0
  195. package/dist/plugins/shared/validators.js +29 -0
  196. package/dist/plugins/shared/validators.js.map +1 -0
  197. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
  198. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
  199. package/dist/plugins/typescript/parser.d.ts +0 -2
  200. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  201. package/dist/plugins/typescript/parser.js +3 -19
  202. package/dist/plugins/typescript/parser.js.map +1 -1
  203. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
  204. package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
  205. package/dist/plugins/typescript/types.d.ts.map +1 -1
  206. package/dist/plugins/typescript/types.js.map +1 -1
  207. package/package.json +1 -1
  208. package/dist/core/shared/dependency-graph/dependency-graph.d.ts.map +0 -1
  209. package/dist/core/shared/dependency-graph/dependency-graph.js.map +0 -1
  210. package/dist/core/shared/dependency-graph/index.d.ts.map +0 -1
  211. package/dist/core/shared/dependency-graph/index.js.map +0 -1
  212. package/dist/core/shared/dependency-graph/types.d.ts.map +0 -1
  213. package/dist/core/shared/dependency-graph/types.js.map +0 -1
  214. package/dist/core/shared/index.d.ts +0 -8
  215. package/dist/core/shared/index.d.ts.map +0 -1
  216. package/dist/core/shared/index.js +0 -11
  217. package/dist/core/shared/index.js.map +0 -1
  218. package/dist/core/shared/indexing/file-index.d.ts.map +0 -1
  219. package/dist/core/shared/indexing/file-index.js.map +0 -1
  220. package/dist/core/shared/indexing/index-engine.d.ts.map +0 -1
  221. package/dist/core/shared/indexing/index-engine.js.map +0 -1
  222. package/dist/core/shared/indexing/index.d.ts.map +0 -1
  223. package/dist/core/shared/indexing/index.js.map +0 -1
  224. package/dist/core/shared/indexing/symbol-index.d.ts.map +0 -1
  225. package/dist/core/shared/indexing/symbol-index.js.map +0 -1
  226. package/dist/core/shared/indexing/types.d.ts.map +0 -1
  227. package/dist/core/shared/indexing/types.js.map +0 -1
  228. package/dist/core/shared/symbol-finder/call-site-parser.d.ts.map +0 -1
  229. package/dist/core/shared/symbol-finder/call-site-parser.js.map +0 -1
  230. package/dist/core/shared/symbol-finder/index.d.ts.map +0 -1
  231. package/dist/core/shared/symbol-finder/index.js.map +0 -1
  232. package/dist/core/shared/symbol-finder/symbol-finder.d.ts.map +0 -1
  233. package/dist/core/shared/symbol-finder/symbol-finder.js.map +0 -1
  234. package/dist/core/shared/symbol-finder/text-matcher.d.ts.map +0 -1
  235. package/dist/core/shared/symbol-finder/text-matcher.js.map +0 -1
  236. package/dist/core/shared/symbol-finder/types.d.ts.map +0 -1
  237. package/dist/core/shared/symbol-finder/types.js.map +0 -1
  238. /package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.d.ts +0 -0
  239. /package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.js +0 -0
  240. /package/dist/core/{shared → foundations}/dependency-graph/index.d.ts +0 -0
  241. /package/dist/core/{shared → foundations}/dependency-graph/index.js +0 -0
  242. /package/dist/core/{shared → foundations}/dependency-graph/types.d.ts +0 -0
  243. /package/dist/core/{shared → foundations}/dependency-graph/types.js +0 -0
  244. /package/dist/core/{shared → foundations}/indexing/file-index.d.ts +0 -0
  245. /package/dist/core/{shared → foundations}/indexing/file-index.js +0 -0
  246. /package/dist/core/{shared → foundations}/indexing/index-engine.d.ts +0 -0
  247. /package/dist/core/{shared → foundations}/indexing/index-engine.js +0 -0
  248. /package/dist/core/{shared → foundations}/indexing/index.d.ts +0 -0
  249. /package/dist/core/{shared → foundations}/indexing/index.js +0 -0
  250. /package/dist/core/{shared → foundations}/indexing/symbol-index.d.ts +0 -0
  251. /package/dist/core/{shared → foundations}/indexing/symbol-index.js +0 -0
  252. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.d.ts +0 -0
  253. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.js +0 -0
  254. /package/dist/core/{shared → foundations}/symbol-finder/index.d.ts +0 -0
  255. /package/dist/core/{shared → foundations}/symbol-finder/index.js +0 -0
  256. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.d.ts +0 -0
  257. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.js +0 -0
  258. /package/dist/core/{shared → foundations}/symbol-finder/types.d.ts +0 -0
  259. /package/dist/core/{shared → foundations}/symbol-finder/types.js +0 -0
@@ -2,33 +2,43 @@
2
2
  * Member Extractor
3
3
  * 從程式碼中提取成員定義
4
4
  */
5
+ import { FileUtils } from '../foundations/file-utils.js';
5
6
  import { MemberType } from './types.js';
7
+ import { extractTypeScriptMember, listTypeScriptMembers, extractJavaScriptMember, listJavaScriptMembers } from './extractors/index.js';
6
8
  /**
7
9
  * 成員提取器
8
10
  */
9
11
  export class MemberExtractor {
10
12
  parserRegistry;
11
13
  fileSystem;
14
+ fileUtils;
12
15
  constructor(parserRegistry, fileSystem) {
13
16
  this.parserRegistry = parserRegistry;
14
17
  this.fileSystem = fileSystem;
18
+ this.fileUtils = new FileUtils(fileSystem, parserRegistry);
15
19
  }
16
20
  /**
17
21
  * 提取指定成員
22
+ *
23
+ * @param filePath 檔案路徑
24
+ * @param memberName 成員名稱
25
+ * @param memberType 成員類型(可選)
26
+ * @param className 所屬類別(可選)
27
+ * @returns 找到的成員定義,或 null
18
28
  */
19
29
  async extractMember(filePath, memberName, memberType, className) {
20
- const content = await this.readFile(filePath);
30
+ const content = await this.fileUtils.readFile(filePath);
21
31
  if (!content) {
22
32
  return null;
23
33
  }
24
- const extension = this.getFileExtension(filePath);
34
+ const extension = FileUtils.getFileExtension(filePath);
25
35
  switch (extension) {
26
36
  case '.ts':
27
37
  case '.tsx':
28
- return this.extractTypeScriptMember(content, filePath, memberName, memberType, className);
38
+ return extractTypeScriptMember(content, filePath, memberName, memberType, className);
29
39
  case '.js':
30
40
  case '.jsx':
31
- return this.extractJavaScriptMember(content, filePath, memberName, memberType, className);
41
+ return extractJavaScriptMember(content, filePath, memberName, memberType, className);
32
42
  default:
33
43
  return null;
34
44
  }
@@ -40,6 +50,7 @@ export class MemberExtractor {
40
50
  * @param filePath 檔案路徑
41
51
  * @param line 行號(1-based)
42
52
  * @param column 欄位(1-based,可選)
53
+ * @returns 找到的成員定義,或 null
43
54
  */
44
55
  async extractMemberAtPosition(filePath, line, column) {
45
56
  const members = await this.listMembers(filePath);
@@ -71,407 +82,28 @@ export class MemberExtractor {
71
82
  }
72
83
  /**
73
84
  * 列出檔案中的所有成員
85
+ *
86
+ * @param filePath 檔案路徑
87
+ * @param className 篩選特定類別的成員(可選)
88
+ * @returns 成員定義陣列
74
89
  */
75
90
  async listMembers(filePath, className) {
76
- const content = await this.readFile(filePath);
91
+ const content = await this.fileUtils.readFile(filePath);
77
92
  if (!content) {
78
93
  return [];
79
94
  }
80
- const extension = this.getFileExtension(filePath);
95
+ const extension = FileUtils.getFileExtension(filePath);
81
96
  switch (extension) {
82
97
  case '.ts':
83
98
  case '.tsx':
84
- return this.listTypeScriptMembers(content, filePath, className);
99
+ return listTypeScriptMembers(content, filePath, className);
85
100
  case '.js':
86
101
  case '.jsx':
87
- return this.listJavaScriptMembers(content, filePath, className);
102
+ return listJavaScriptMembers(content, filePath, className);
88
103
  default:
89
104
  return [];
90
105
  }
91
106
  }
92
- /**
93
- * 提取 TypeScript 成員
94
- */
95
- extractTypeScriptMember(content, filePath, memberName, memberType, className) {
96
- const members = this.listTypeScriptMembers(content, filePath, className);
97
- return members.find(m => {
98
- const nameMatch = m.name === memberName;
99
- const typeMatch = !memberType || m.type === memberType;
100
- const classMatch = !className || m.className === className;
101
- return nameMatch && typeMatch && classMatch;
102
- }) || null;
103
- }
104
- /**
105
- * 列出 TypeScript 成員
106
- */
107
- listTypeScriptMembers(content, filePath, filterClassName) {
108
- const members = [];
109
- const lines = content.split('\n');
110
- // 函式定義
111
- const functionPattern = /^(\s*)(export\s+)?(async\s+)?function\s+(\w+)/gm;
112
- let match;
113
- while ((match = functionPattern.exec(content)) !== null) {
114
- const lineNumber = content.substring(0, match.index).split('\n').length;
115
- const endLine = this.findBlockEnd(lines, lineNumber - 1);
116
- const sourceCode = lines.slice(lineNumber - 1, endLine + 1).join('\n');
117
- members.push(this.createMember(match[4], MemberType.Function, filePath, lineNumber, endLine + 1, sourceCode, undefined, this.extractModifiers(match[0]), this.extractDocumentation(lines, lineNumber - 1), this.extractDependencies(sourceCode)));
118
- }
119
- // 類別定義
120
- const classPattern = /^(\s*)(export\s+)?(abstract\s+)?class\s+(\w+)/gm;
121
- while ((match = classPattern.exec(content)) !== null) {
122
- const lineNumber = content.substring(0, match.index).split('\n').length;
123
- const endLine = this.findBlockEnd(lines, lineNumber - 1);
124
- const sourceCode = lines.slice(lineNumber - 1, endLine + 1).join('\n');
125
- members.push(this.createMember(match[4], MemberType.Class, filePath, lineNumber, endLine + 1, sourceCode, undefined, this.extractModifiers(match[0]), this.extractDocumentation(lines, lineNumber - 1), this.extractDependencies(sourceCode)));
126
- // 如果是特定類別,提取其成員
127
- if (!filterClassName || match[4] === filterClassName) {
128
- const classMembers = this.extractClassMembers(sourceCode, filePath, match[4], lineNumber);
129
- members.push(...classMembers);
130
- }
131
- }
132
- // 介面定義
133
- const interfacePattern = /^(\s*)(export\s+)?interface\s+(\w+)/gm;
134
- while ((match = interfacePattern.exec(content)) !== null) {
135
- const lineNumber = content.substring(0, match.index).split('\n').length;
136
- const endLine = this.findBlockEnd(lines, lineNumber - 1);
137
- const sourceCode = lines.slice(lineNumber - 1, endLine + 1).join('\n');
138
- members.push(this.createMember(match[3], MemberType.Interface, filePath, lineNumber, endLine + 1, sourceCode, undefined, this.extractModifiers(match[0]), this.extractDocumentation(lines, lineNumber - 1), this.extractDependencies(sourceCode)));
139
- }
140
- // 類型別名
141
- const typePattern = /^(\s*)(export\s+)?type\s+(\w+)/gm;
142
- while ((match = typePattern.exec(content)) !== null) {
143
- const lineNumber = content.substring(0, match.index).split('\n').length;
144
- const endLine = this.findTypeAliasEnd(lines, lineNumber - 1);
145
- const sourceCode = lines.slice(lineNumber - 1, endLine + 1).join('\n');
146
- members.push(this.createMember(match[3], MemberType.TypeAlias, filePath, lineNumber, endLine + 1, sourceCode, undefined, this.extractModifiers(match[0]), this.extractDocumentation(lines, lineNumber - 1), this.extractDependencies(sourceCode)));
147
- }
148
- // 常數
149
- const constPattern = /^(\s*)(export\s+)?const\s+(\w+)/gm;
150
- while ((match = constPattern.exec(content)) !== null) {
151
- const lineNumber = content.substring(0, match.index).split('\n').length;
152
- const endLine = this.findStatementEnd(lines, lineNumber - 1);
153
- const sourceCode = lines.slice(lineNumber - 1, endLine + 1).join('\n');
154
- members.push(this.createMember(match[3], MemberType.Constant, filePath, lineNumber, endLine + 1, sourceCode, undefined, this.extractModifiers(match[0]), this.extractDocumentation(lines, lineNumber - 1), this.extractDependencies(sourceCode)));
155
- }
156
- // 列舉
157
- const enumPattern = /^(\s*)(export\s+)?enum\s+(\w+)/gm;
158
- while ((match = enumPattern.exec(content)) !== null) {
159
- const lineNumber = content.substring(0, match.index).split('\n').length;
160
- const endLine = this.findBlockEnd(lines, lineNumber - 1);
161
- const sourceCode = lines.slice(lineNumber - 1, endLine + 1).join('\n');
162
- members.push(this.createMember(match[3], MemberType.Enum, filePath, lineNumber, endLine + 1, sourceCode, undefined, this.extractModifiers(match[0]), this.extractDocumentation(lines, lineNumber - 1), this.extractDependencies(sourceCode)));
163
- }
164
- // 若指定了類別篩選,只返回該類別的成員
165
- if (filterClassName) {
166
- return members.filter(m => m.className === filterClassName || m.name === filterClassName);
167
- }
168
- return members;
169
- }
170
- /**
171
- * 提取類別成員
172
- */
173
- extractClassMembers(classSource, filePath, className, classStartLine) {
174
- const members = [];
175
- const lines = classSource.split('\n');
176
- // 跳過類別宣告行,只提取類別內部的成員
177
- const firstBraceIndex = classSource.indexOf('{');
178
- if (firstBraceIndex === -1) {
179
- return members;
180
- }
181
- const classBody = classSource.substring(firstBraceIndex + 1);
182
- const bodyStartLine = classSource.substring(0, firstBraceIndex).split('\n').length;
183
- // 類別內部的 lines(從 { 之後開始)
184
- const bodyLines = classBody.split('\n');
185
- // 方法
186
- const methodPattern = /^\s*(public|private|protected)?\s*(static)?\s*(async)?\s*(\w+)\s*\([^)]*\)/gm;
187
- let match;
188
- while ((match = methodPattern.exec(classBody)) !== null) {
189
- // 跳過 constructor
190
- if (match[4] === 'constructor') {
191
- continue;
192
- }
193
- const relativeLineNumber = classBody.substring(0, match.index).split('\n').length;
194
- const lineNumber = classStartLine + bodyStartLine - 1 + relativeLineNumber - 1;
195
- const endLine = this.findBlockEndInClass(bodyLines, relativeLineNumber - 1);
196
- const sourceCode = bodyLines.slice(relativeLineNumber - 1, endLine + 1).join('\n');
197
- members.push(this.createMember(match[4], MemberType.Method, filePath, lineNumber, classStartLine + bodyStartLine - 1 + endLine, sourceCode, className, this.extractModifiers(match[0]), this.extractDocumentation(bodyLines, relativeLineNumber - 1), this.extractDependencies(sourceCode)));
198
- }
199
- // 屬性
200
- const propertyPattern = /^\s*(public|private|protected)?\s*(static)?\s*(readonly)?\s*(\w+)\s*[?:]?\s*[^(]/gm;
201
- while ((match = propertyPattern.exec(classBody)) !== null) {
202
- // 跳過方法和 constructor
203
- if (classBody.substring(match.index).match(/^\s*\w+\s*\(/)) {
204
- continue;
205
- }
206
- const relativeLineNumber = classBody.substring(0, match.index).split('\n').length;
207
- const lineNumber = classStartLine + bodyStartLine - 1 + relativeLineNumber - 1;
208
- const endLine = this.findStatementEnd(bodyLines, relativeLineNumber - 1);
209
- const sourceCode = bodyLines.slice(relativeLineNumber - 1, endLine + 1).join('\n');
210
- members.push(this.createMember(match[4], MemberType.Property, filePath, lineNumber, classStartLine + bodyStartLine - 1 + endLine, sourceCode, className, this.extractModifiers(match[0]), this.extractDocumentation(bodyLines, relativeLineNumber - 1), this.extractDependencies(sourceCode)));
211
- }
212
- return members;
213
- }
214
- /**
215
- * 提取 JavaScript 成員(簡化版)
216
- */
217
- extractJavaScriptMember(content, filePath, memberName, memberType, className) {
218
- // JavaScript 基本上與 TypeScript 相同
219
- return this.extractTypeScriptMember(content, filePath, memberName, memberType, className);
220
- }
221
- /**
222
- * 列出 JavaScript 成員
223
- */
224
- listJavaScriptMembers(content, filePath, className) {
225
- return this.listTypeScriptMembers(content, filePath, className);
226
- }
227
- /**
228
- * 建立成員定義
229
- */
230
- createMember(name, type, filePath, startLine, endLine, sourceCode, className, modifiers, documentation, dependencies) {
231
- return {
232
- name,
233
- type,
234
- location: {
235
- filePath,
236
- range: {
237
- start: { line: startLine, column: 1 },
238
- end: { line: endLine, column: 1 }
239
- }
240
- },
241
- sourceCode,
242
- className,
243
- modifiers,
244
- documentation,
245
- dependencies
246
- };
247
- }
248
- /**
249
- * 找到程式碼區塊結尾
250
- */
251
- findBlockEnd(lines, startLine) {
252
- let depth = 0;
253
- let foundStart = false;
254
- for (let i = startLine; i < lines.length; i++) {
255
- for (const char of lines[i]) {
256
- if (char === '{') {
257
- depth++;
258
- foundStart = true;
259
- }
260
- else if (char === '}') {
261
- depth--;
262
- if (foundStart && depth === 0) {
263
- return i;
264
- }
265
- }
266
- }
267
- }
268
- return startLine;
269
- }
270
- /**
271
- * 在類別內找到程式碼區塊結尾
272
- */
273
- findBlockEndInClass(lines, startLine) {
274
- let depth = 0;
275
- let foundStart = false;
276
- for (let i = startLine; i < lines.length; i++) {
277
- for (const char of lines[i]) {
278
- if (char === '{') {
279
- depth++;
280
- foundStart = true;
281
- }
282
- else if (char === '}') {
283
- depth--;
284
- if (foundStart && depth === 0) {
285
- return i;
286
- }
287
- }
288
- }
289
- }
290
- return startLine;
291
- }
292
- /**
293
- * 找到類型別名結尾
294
- */
295
- findTypeAliasEnd(lines, startLine) {
296
- for (let i = startLine; i < lines.length; i++) {
297
- if (lines[i].includes(';') || (i > startLine && !lines[i].trim().startsWith('|') && !lines[i].trim().startsWith('&'))) {
298
- return i;
299
- }
300
- }
301
- return startLine;
302
- }
303
- /**
304
- * 找到陳述句結尾
305
- *
306
- * 處理多行箭頭函式:追蹤括號深度,避免將參數預設值的 `=` 誤判為語句結束
307
- */
308
- findStatementEnd(lines, startLine) {
309
- let parenDepth = 0;
310
- for (let i = startLine; i < lines.length; i++) {
311
- const line = lines[i];
312
- // 追蹤括號深度
313
- for (const char of line) {
314
- if (char === '(') {
315
- parenDepth++;
316
- }
317
- else if (char === ')') {
318
- parenDepth--;
319
- }
320
- }
321
- // 只有括號外的 `;` 或 `=` 才是語句結束
322
- if (parenDepth === 0) {
323
- if (line.includes(';')) {
324
- return i;
325
- }
326
- // 非箭頭函式的賦值(且不是起始行)
327
- if (line.includes('=') && !line.includes('=>') && i > startLine) {
328
- return i;
329
- }
330
- }
331
- // 檢查是否是多行箭頭函式或物件(括號必須已閉合)
332
- if (parenDepth === 0 && line.includes('{')) {
333
- return this.findBlockEnd(lines, i);
334
- }
335
- }
336
- return startLine;
337
- }
338
- /**
339
- * 提取修飾符
340
- */
341
- extractModifiers(declaration) {
342
- const modifiers = [];
343
- if (declaration.includes('export')) {
344
- modifiers.push('export');
345
- }
346
- if (declaration.includes('async')) {
347
- modifiers.push('async');
348
- }
349
- if (declaration.includes('static')) {
350
- modifiers.push('static');
351
- }
352
- if (declaration.includes('public')) {
353
- modifiers.push('public');
354
- }
355
- if (declaration.includes('private')) {
356
- modifiers.push('private');
357
- }
358
- if (declaration.includes('protected')) {
359
- modifiers.push('protected');
360
- }
361
- if (declaration.includes('readonly')) {
362
- modifiers.push('readonly');
363
- }
364
- if (declaration.includes('abstract')) {
365
- modifiers.push('abstract');
366
- }
367
- return modifiers;
368
- }
369
- /**
370
- * 提取文件註解
371
- */
372
- extractDocumentation(lines, memberLine) {
373
- const docLines = [];
374
- let i = memberLine - 1;
375
- while (i >= 0) {
376
- const line = lines[i].trim();
377
- if (line.endsWith('*/')) {
378
- docLines.unshift(line);
379
- i--;
380
- while (i >= 0 && !lines[i].trim().startsWith('/**') && !lines[i].trim().startsWith('/*')) {
381
- docLines.unshift(lines[i].trim());
382
- i--;
383
- }
384
- if (i >= 0) {
385
- docLines.unshift(lines[i].trim());
386
- }
387
- break;
388
- }
389
- else if (line.startsWith('//')) {
390
- docLines.unshift(line.substring(2).trim());
391
- i--;
392
- }
393
- else if (line === '') {
394
- i--;
395
- }
396
- else {
397
- break;
398
- }
399
- }
400
- return docLines.length > 0 ? docLines.join('\n') : undefined;
401
- }
402
- /**
403
- * 提取依賴
404
- */
405
- extractDependencies(sourceCode) {
406
- const dependencies = [];
407
- const keywords = new Set([
408
- 'if', 'else', 'while', 'for', 'switch', 'case', 'break', 'continue',
409
- 'function', 'async', 'await', 'return', 'new', 'typeof', 'instanceof',
410
- 'const', 'let', 'var', 'class', 'interface', 'type', 'enum', 'export',
411
- 'import', 'from', 'default', 'true', 'false', 'null', 'undefined',
412
- 'this', 'super', 'extends', 'implements', 'static', 'readonly', 'private',
413
- 'public', 'protected', 'abstract', 'get', 'set', 'in', 'of', 'as', 'is'
414
- ]);
415
- const basicTypes = new Set([
416
- 'string', 'number', 'boolean', 'void', 'any', 'unknown', 'never',
417
- 'null', 'undefined', 'object', 'symbol', 'bigint', 'Array', 'Object',
418
- 'String', 'Number', 'Boolean', 'Function', 'Promise', 'Map', 'Set'
419
- ]);
420
- let match;
421
- // 提取型別引用
422
- const typePattern = /:\s*(\w+)(?:<|;|\s|,|\))/g;
423
- while ((match = typePattern.exec(sourceCode)) !== null) {
424
- const typeName = match[1];
425
- if (!basicTypes.has(typeName) && !keywords.has(typeName)) {
426
- dependencies.push(typeName);
427
- }
428
- }
429
- // 提取函式呼叫
430
- const callPattern = /(\w+)\s*\(/g;
431
- while ((match = callPattern.exec(sourceCode)) !== null) {
432
- const funcName = match[1];
433
- if (!keywords.has(funcName) && !basicTypes.has(funcName)) {
434
- dependencies.push(funcName);
435
- }
436
- }
437
- // 提取變數/常數引用(賦值右側、運算子右側、比較右側)
438
- // 匹配 = IDENTIFIER, > IDENTIFIER, < IDENTIFIER 等
439
- const varRefPattern = /[=><+\-*/%&|!]\s*([A-Z][A-Z0-9_]*)\b/g;
440
- while ((match = varRefPattern.exec(sourceCode)) !== null) {
441
- const varName = match[1];
442
- if (!keywords.has(varName) && !basicTypes.has(varName)) {
443
- dependencies.push(varName);
444
- }
445
- }
446
- // 提取作為比較對象的識別符
447
- const comparisonPattern = /\b([A-Z][A-Z0-9_]*)\s*[=!<>]/g;
448
- while ((match = comparisonPattern.exec(sourceCode)) !== null) {
449
- const varName = match[1];
450
- if (!keywords.has(varName) && !basicTypes.has(varName)) {
451
- dependencies.push(varName);
452
- }
453
- }
454
- return [...new Set(dependencies)];
455
- }
456
- /**
457
- * 讀取檔案內容
458
- */
459
- async readFile(filePath) {
460
- try {
461
- const content = await this.fileSystem.readFile(filePath, 'utf-8');
462
- return typeof content === 'string' ? content : content.toString('utf-8');
463
- }
464
- catch {
465
- return null;
466
- }
467
- }
468
- /**
469
- * 取得檔案副檔名
470
- */
471
- getFileExtension(filePath) {
472
- const lastDot = filePath.lastIndexOf('.');
473
- return lastDot >= 0 ? filePath.substring(lastDot) : '';
474
- }
475
107
  }
476
108
  /**
477
109
  * 建立 MemberExtractor 實例
@@ -1 +1 @@
1
- {"version":3,"file":"member-extractor.js","sourceRoot":"","sources":["../../../src/core/move-member/member-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAyB,MAAM,YAAY,CAAC;AAE/D;;GAEG;AACH,MAAM,OAAO,eAAe;IAEP;IACA;IAFnB,YACmB,cAA8B,EAC9B,UAAuB;QADvB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAa;IACvC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,UAAkB,EAClB,UAAuB,EACvB,SAAkB;QAElB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAElD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAC5F,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAC5F;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,uBAAuB,CAC3B,QAAgB,EAChB,IAAY,EACZ,MAAe;QAEf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,cAAc;QACd,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACtC,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,cAAc;QACd,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,qBAAqB;QACrB,iCAAiC;QACjC,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAEpF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;YAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3F,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACxF,OAAO,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,SAAkB;QACpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAElD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClE,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClE;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,OAAe,EACf,QAAgB,EAChB,UAAkB,EAClB,UAAuB,EACvB,SAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEzE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACtB,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;YACxC,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;YACvD,MAAM,UAAU,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;YAC3D,OAAO,SAAS,IAAI,SAAS,IAAI,UAAU,CAAC;QAC9C,CAAC,CAAC,IAAI,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAe,EAAE,QAAgB,EAAE,eAAwB;QACvF,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO;QACP,MAAM,eAAe,GAAG,iDAAiD,CAAC;QAC1E,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,QAAQ,EACnB,QAAQ,EACR,UAAU,EACV,OAAO,GAAG,CAAC,EACX,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;QACP,MAAM,YAAY,GAAG,iDAAiD,CAAC;QACvE,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,KAAK,EAChB,QAAQ,EACR,UAAU,EACV,OAAO,GAAG,CAAC,EACX,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;YAEH,gBAAgB;YAChB,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;gBACrD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC1F,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO;QACP,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;QACjE,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,SAAS,EACpB,QAAQ,EACR,UAAU,EACV,OAAO,GAAG,CAAC,EACX,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;QACP,MAAM,WAAW,GAAG,kCAAkC,CAAC;QACvD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,SAAS,EACpB,QAAQ,EACR,UAAU,EACV,OAAO,GAAG,CAAC,EACX,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;QACL,CAAC;QAED,KAAK;QACL,MAAM,YAAY,GAAG,mCAAmC,CAAC;QACzD,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,QAAQ,EACnB,QAAQ,EACR,UAAU,EACV,OAAO,GAAG,CAAC,EACX,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;QACL,CAAC;QAED,KAAK;QACL,MAAM,WAAW,GAAG,kCAAkC,CAAC;QACvD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEvE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,IAAI,EACf,QAAQ,EACR,UAAU,EACV,OAAO,GAAG,CAAC,EACX,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,WAAmB,EACnB,QAAgB,EAChB,SAAiB,EACjB,cAAsB;QAEtB,MAAM,OAAO,GAAuB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEtC,qBAAqB;QACrB,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAEnF,wBAAwB;QACxB,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExC,KAAK;QACL,MAAM,aAAa,GAAG,8EAA8E,CAAC;QACrG,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,iBAAiB;YACjB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;gBAAA,SAAS;YAAA,CAAC;YAE3C,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAClF,MAAM,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,MAAM,EACjB,QAAQ,EACR,UAAU,EACV,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,OAAO,EAC5C,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,CAAC,CAAC,EAC5D,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;QACL,CAAC;QAED,KAAK;QACL,MAAM,eAAe,GAAG,oFAAoF,CAAC;QAC7G,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1D,oBAAoB;YACpB,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAAA,SAAS;YAAA,CAAC;YAEvE,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAClF,MAAM,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC;YACzE,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAC5B,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,QAAQ,EACnB,QAAQ,EACR,UAAU,EACV,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,OAAO,EAC5C,UAAU,EACV,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,GAAG,CAAC,CAAC,EAC5D,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACrC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC7B,OAAe,EACf,QAAgB,EAChB,UAAkB,EAClB,UAAuB,EACvB,SAAkB;QAElB,gCAAgC;QAChC,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5F,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAe,EAAE,QAAgB,EAAE,SAAkB;QACjF,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,IAAY,EACZ,IAAgB,EAChB,QAAgB,EAChB,SAAiB,EACjB,OAAe,EACf,UAAkB,EAClB,SAA6B,EAC7B,SAAmB,EACnB,aAAiC,EACjC,YAAsB;QAEtB,OAAO;YACL,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE;gBACR,QAAQ;gBACR,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE;oBACrC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE;iBAClC;aACF;YACD,UAAU;YACV,SAAS;YACT,SAAS;YACT,aAAa;YACb,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAe,EAAE,SAAiB;QACrD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,EAAE,CAAC;oBACR,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACxB,KAAK,EAAE,CAAC;oBACR,IAAI,UAAU,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAC9B,OAAO,CAAC,CAAC;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAe,EAAE,SAAiB;QAC5D,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,EAAE,CAAC;oBACR,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACxB,KAAK,EAAE,CAAC;oBACR,IAAI,UAAU,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAC9B,OAAO,CAAC,CAAC;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAe,EAAE,SAAiB;QACzD,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACtH,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,KAAe,EAAE,SAAiB;QACzD,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,SAAS;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAAC,UAAU,EAAE,CAAC;gBAAC,CAAC;qBAC9B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAAC,UAAU,EAAE,CAAC;gBAAC,CAAC;YAC1C,CAAC;YAED,0BAA0B;YAC1B,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,mBAAmB;gBACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC;oBAChE,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,IAAI,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,WAAmB;QAC1C,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAA,CAAC;QAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAAA,CAAC;QAC7D,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAA,CAAC;QAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAA,CAAC;QAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAA,CAAC;QACjE,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAA,CAAC;QACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAAA,CAAC;QACnE,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAAA,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAAA,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAAe,EAAE,UAAkB;QAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;QAEvB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAE7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzF,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClC,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACX,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpC,CAAC;gBACD,MAAM;YACR,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3C,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBACvB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,UAAkB;QAC5C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;YACvB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU;YACnE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY;YACrE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;YACrE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW;YACjE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;YACzE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SACxE,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;YACzB,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO;YAChE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;YACpE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK;SACnE,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC;QAEV,SAAS;QACT,MAAM,WAAW,GAAG,2BAA2B,CAAC;QAChD,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,SAAS;QACT,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,gDAAgD;QAChD,MAAM,aAAa,GAAG,uCAAuC,CAAC;QAC9D,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;QAC1D,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CAAC,QAAgB;QACrC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClE,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAgB;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,cAA8B,EAC9B,UAAuB;IAEvB,OAAO,IAAI,eAAe,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"member-extractor.js","sourceRoot":"","sources":["../../../src/core/move-member/member-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reference-updater.d.ts","sourceRoot":"","sources":["../../../src/core/move-member/reference-updater.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAYvF;;;GAGG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,WAAW;IAEpD;;;;OAIG;IACG,uBAAuB,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC;IA8F7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IA2BnC;;OAEG;IACH,OAAO,CAAC,UAAU;IA6BlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;YACW,eAAe;IAM7B;;OAEG;YACW,YAAY;IAkB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;YACW,QAAQ;CAQvB"}
1
+ {"version":3,"file":"reference-updater.d.ts","sourceRoot":"","sources":["../../../src/core/move-member/reference-updater.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAYvF;;;GAGG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,WAAW;IAEpD;;;;OAIG;IACG,uBAAuB,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC;IA8F7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IA2BnC;;OAEG;IACH,OAAO,CAAC,UAAU;IA6BlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;YACW,eAAe;IAM7B;;OAEG;YACW,YAAY;IAoB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;YACW,QAAQ;CAQvB"}
@@ -252,7 +252,9 @@ export class ReferenceUpdater {
252
252
  const entries = await this.fileSystem.readDirectory(dirPath);
253
253
  for (const entry of entries) {
254
254
  const fullPath = path.join(dirPath, entry.name);
255
- if (entry.name === 'node_modules' || entry.name.startsWith('.')) {
255
+ // 跳過 node_modules、build 輸出目錄和隱藏目錄
256
+ const skipDirs = ['node_modules', 'dist', 'build', 'coverage', '.git'];
257
+ if (skipDirs.includes(entry.name) || entry.name.startsWith('.')) {
256
258
  continue;
257
259
  }
258
260
  if (entry.isDirectory) {
@@ -1 +1 @@
1
- {"version":3,"file":"reference-updater.js","sourceRoot":"","sources":["../../../src/core/move-member/reference-updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-updater.js","sourceRoot":"","sources":["../../../src/core/move-member/reference-updater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Range Finder
3
+ * 程式碼區塊範圍查找工具
4
+ */
5
+ /**
6
+ * 找到程式碼區塊結尾(大括號配對)
7
+ *
8
+ * @param lines 程式碼行陣列
9
+ * @param startLine 起始行索引(0-based)
10
+ * @returns 區塊結束行索引
11
+ */
12
+ export declare function findBlockEnd(lines: string[], startLine: number): number;
13
+ /**
14
+ * 在類別內找到程式碼區塊結尾
15
+ * 與 findBlockEnd 邏輯相同,語義上用於類別內部成員
16
+ *
17
+ * @param lines 類別內部程式碼行陣列
18
+ * @param startLine 起始行索引(0-based)
19
+ * @returns 區塊結束行索引
20
+ */
21
+ export declare function findBlockEndInClass(lines: string[], startLine: number): number;
22
+ /**
23
+ * 找到類型別名結尾
24
+ * 支援多行 union/intersection 型別
25
+ *
26
+ * @param lines 程式碼行陣列
27
+ * @param startLine 起始行索引(0-based)
28
+ * @returns 型別別名結束行索引
29
+ */
30
+ export declare function findTypeAliasEnd(lines: string[], startLine: number): number;
31
+ /**
32
+ * 找到陳述句結尾
33
+ * 處理多行箭頭函式:追蹤括號深度,避免將參數預設值的 `=` 誤判為語句結束
34
+ *
35
+ * @param lines 程式碼行陣列
36
+ * @param startLine 起始行索引(0-based)
37
+ * @returns 陳述句結束行索引
38
+ */
39
+ export declare function findStatementEnd(lines: string[], startLine: number): number;
40
+ //# sourceMappingURL=range-finder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-finder.d.ts","sourceRoot":"","sources":["../../../../src/core/move-member/utils/range-finder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBvE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAY3E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAiC3E"}