agent-ide 0.9.0 → 0.9.2

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 (322) 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 +36 -31
  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 +124 -167
  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/cycles/cycle-detector.js +6 -7
  21. package/dist/core/cycles/cycle-detector.js.map +1 -1
  22. package/dist/core/deadcode/dead-code-detector.d.ts +2 -13
  23. package/dist/core/deadcode/dead-code-detector.d.ts.map +1 -1
  24. package/dist/core/deadcode/dead-code-detector.js +26 -40
  25. package/dist/core/deadcode/dead-code-detector.js.map +1 -1
  26. package/dist/core/deadcode/import-cleaner.js +1 -1
  27. package/dist/core/deadcode/import-cleaner.js.map +1 -1
  28. package/dist/core/deadcode/import-parser.d.ts +0 -4
  29. package/dist/core/deadcode/import-parser.d.ts.map +1 -1
  30. package/dist/core/deadcode/import-parser.js +4 -10
  31. package/dist/core/deadcode/import-parser.js.map +1 -1
  32. package/dist/core/deadcode/range-expander.d.ts +0 -4
  33. package/dist/core/deadcode/range-expander.d.ts.map +1 -1
  34. package/dist/core/deadcode/range-expander.js +14 -10
  35. package/dist/core/deadcode/range-expander.js.map +1 -1
  36. package/dist/core/find-references/index.d.ts +3 -3
  37. package/dist/core/find-references/index.d.ts.map +1 -1
  38. package/dist/core/find-references/index.js +2 -2
  39. package/dist/core/find-references/index.js.map +1 -1
  40. package/dist/core/foundations/dependency-graph/dependency-graph.d.ts.map +1 -0
  41. package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.js +2 -1
  42. package/dist/core/foundations/dependency-graph/dependency-graph.js.map +1 -0
  43. package/dist/core/foundations/dependency-graph/index.d.ts.map +1 -0
  44. package/dist/core/foundations/dependency-graph/index.js.map +1 -0
  45. package/dist/core/foundations/dependency-graph/types.d.ts.map +1 -0
  46. package/dist/core/foundations/dependency-graph/types.js.map +1 -0
  47. package/dist/core/foundations/file-utils.d.ts +50 -0
  48. package/dist/core/foundations/file-utils.d.ts.map +1 -0
  49. package/dist/core/foundations/file-utils.js +75 -0
  50. package/dist/core/foundations/file-utils.js.map +1 -0
  51. package/dist/core/foundations/index.d.ts +13 -0
  52. package/dist/core/foundations/index.d.ts.map +1 -0
  53. package/dist/core/foundations/index.js +17 -0
  54. package/dist/core/foundations/index.js.map +1 -0
  55. package/dist/core/foundations/indexing/file-index.d.ts.map +1 -0
  56. package/dist/core/foundations/indexing/file-index.js.map +1 -0
  57. package/dist/core/{shared → foundations}/indexing/index-engine.d.ts +1 -0
  58. package/dist/core/foundations/indexing/index-engine.d.ts.map +1 -0
  59. package/dist/core/{shared → foundations}/indexing/index-engine.js +5 -9
  60. package/dist/core/foundations/indexing/index-engine.js.map +1 -0
  61. package/dist/core/foundations/indexing/index.d.ts.map +1 -0
  62. package/dist/core/foundations/indexing/index.js.map +1 -0
  63. package/dist/core/{shared → foundations}/indexing/symbol-index.d.ts +2 -0
  64. package/dist/core/foundations/indexing/symbol-index.d.ts.map +1 -0
  65. package/dist/core/{shared → foundations}/indexing/symbol-index.js +58 -23
  66. package/dist/core/foundations/indexing/symbol-index.js.map +1 -0
  67. package/dist/core/{shared → foundations}/indexing/types.d.ts +1 -1
  68. package/dist/core/foundations/indexing/types.d.ts.map +1 -0
  69. package/dist/core/{shared → foundations}/indexing/types.js +11 -1
  70. package/dist/core/foundations/indexing/types.js.map +1 -0
  71. package/dist/core/foundations/symbol-finder/call-site-parser.d.ts.map +1 -0
  72. package/dist/core/foundations/symbol-finder/call-site-parser.js.map +1 -0
  73. package/dist/core/foundations/symbol-finder/index.d.ts.map +1 -0
  74. package/dist/core/foundations/symbol-finder/index.js.map +1 -0
  75. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.d.ts +24 -10
  76. package/dist/core/foundations/symbol-finder/symbol-finder.d.ts.map +1 -0
  77. package/dist/core/{shared → foundations}/symbol-finder/symbol-finder.js +118 -148
  78. package/dist/core/foundations/symbol-finder/symbol-finder.js.map +1 -0
  79. package/dist/core/foundations/symbol-finder/text-matcher.d.ts.map +1 -0
  80. package/dist/core/foundations/symbol-finder/text-matcher.js.map +1 -0
  81. package/dist/core/foundations/symbol-finder/types.d.ts.map +1 -0
  82. package/dist/core/foundations/symbol-finder/types.js.map +1 -0
  83. package/dist/core/impact/impact-analyzer.d.ts +1 -1
  84. package/dist/core/impact/impact-analyzer.d.ts.map +1 -1
  85. package/dist/core/impact/impact-analyzer.js +13 -7
  86. package/dist/core/impact/impact-analyzer.js.map +1 -1
  87. package/dist/core/move/file-scanner.d.ts.map +1 -1
  88. package/dist/core/move/file-scanner.js +29 -6
  89. package/dist/core/move/file-scanner.js.map +1 -1
  90. package/dist/core/move/import-resolver.d.ts +1 -0
  91. package/dist/core/move/import-resolver.d.ts.map +1 -1
  92. package/dist/core/move/import-resolver.js +6 -4
  93. package/dist/core/move/import-resolver.js.map +1 -1
  94. package/dist/core/move-member/extractors/index.d.ts +7 -0
  95. package/dist/core/move-member/extractors/index.d.ts.map +1 -0
  96. package/dist/core/move-member/extractors/index.js +9 -0
  97. package/dist/core/move-member/extractors/index.js.map +1 -0
  98. package/dist/core/move-member/extractors/javascript-extractor.d.ts +29 -0
  99. package/dist/core/move-member/extractors/javascript-extractor.d.ts.map +1 -0
  100. package/dist/core/move-member/extractors/javascript-extractor.js +33 -0
  101. package/dist/core/move-member/extractors/javascript-extractor.js.map +1 -0
  102. package/dist/core/move-member/extractors/typescript-extractor.d.ts +40 -0
  103. package/dist/core/move-member/extractors/typescript-extractor.d.ts.map +1 -0
  104. package/dist/core/move-member/extractors/typescript-extractor.js +286 -0
  105. package/dist/core/move-member/extractors/typescript-extractor.js.map +1 -0
  106. package/dist/core/move-member/file-change-preparer.d.ts +6 -0
  107. package/dist/core/move-member/file-change-preparer.d.ts.map +1 -1
  108. package/dist/core/move-member/file-change-preparer.js +79 -57
  109. package/dist/core/move-member/file-change-preparer.js.map +1 -1
  110. package/dist/core/move-member/member-extractor.d.ts +12 -62
  111. package/dist/core/move-member/member-extractor.d.ts.map +1 -1
  112. package/dist/core/move-member/member-extractor.js +23 -391
  113. package/dist/core/move-member/member-extractor.js.map +1 -1
  114. package/dist/core/move-member/reference-updater.d.ts.map +1 -1
  115. package/dist/core/move-member/reference-updater.js +3 -1
  116. package/dist/core/move-member/reference-updater.js.map +1 -1
  117. package/dist/core/move-member/utils/range-finder.d.ts +40 -0
  118. package/dist/core/move-member/utils/range-finder.d.ts.map +1 -0
  119. package/dist/core/move-member/utils/range-finder.js +101 -0
  120. package/dist/core/move-member/utils/range-finder.js.map +1 -0
  121. package/dist/core/rename/reference-updater.d.ts +19 -4
  122. package/dist/core/rename/reference-updater.d.ts.map +1 -1
  123. package/dist/core/rename/reference-updater.js +56 -41
  124. package/dist/core/rename/reference-updater.js.map +1 -1
  125. package/dist/core/rename/types.d.ts.map +1 -1
  126. package/dist/core/snapshot/snapshot-generator.d.ts +0 -29
  127. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  128. package/dist/core/snapshot/snapshot-generator.js +27 -188
  129. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  130. package/dist/core/snapshot/utils/bracket-balancer.d.ts +27 -0
  131. package/dist/core/snapshot/utils/bracket-balancer.d.ts.map +1 -0
  132. package/dist/core/snapshot/utils/bracket-balancer.js +70 -0
  133. package/dist/core/snapshot/utils/bracket-balancer.js.map +1 -0
  134. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts +22 -0
  135. package/dist/core/snapshot/utils/factory-pattern-detector.d.ts.map +1 -0
  136. package/dist/core/snapshot/utils/factory-pattern-detector.js +70 -0
  137. package/dist/core/snapshot/utils/factory-pattern-detector.js.map +1 -0
  138. package/dist/core/snapshot/utils/index.d.ts +7 -0
  139. package/dist/core/snapshot/utils/index.d.ts.map +1 -0
  140. package/dist/core/snapshot/utils/index.js +7 -0
  141. package/dist/core/snapshot/utils/index.js.map +1 -0
  142. package/dist/core/snapshot/utils/symbol-formatter.d.ts +37 -0
  143. package/dist/core/snapshot/utils/symbol-formatter.d.ts.map +1 -0
  144. package/dist/core/snapshot/utils/symbol-formatter.js +89 -0
  145. package/dist/core/snapshot/utils/symbol-formatter.js.map +1 -0
  146. package/dist/infrastructure/cache/memory-cache.d.ts +1 -1
  147. package/dist/infrastructure/cache/memory-cache.d.ts.map +1 -1
  148. package/dist/infrastructure/cache/memory-cache.js +49 -5
  149. package/dist/infrastructure/cache/memory-cache.js.map +1 -1
  150. package/dist/infrastructure/cache/strategies.d.ts +1 -0
  151. package/dist/infrastructure/cache/strategies.d.ts.map +1 -1
  152. package/dist/infrastructure/cache/strategies.js +21 -21
  153. package/dist/infrastructure/cache/strategies.js.map +1 -1
  154. package/dist/infrastructure/changeset/change-applicator.d.ts.map +1 -1
  155. package/dist/infrastructure/changeset/change-applicator.js +12 -27
  156. package/dist/infrastructure/changeset/change-applicator.js.map +1 -1
  157. package/dist/infrastructure/changeset/changeset-builder.d.ts +4 -2
  158. package/dist/infrastructure/changeset/changeset-builder.d.ts.map +1 -1
  159. package/dist/infrastructure/changeset/changeset-builder.js +33 -21
  160. package/dist/infrastructure/changeset/changeset-builder.js.map +1 -1
  161. package/dist/infrastructure/changeset/changeset-converter.d.ts.map +1 -1
  162. package/dist/infrastructure/changeset/changeset-converter.js +11 -7
  163. package/dist/infrastructure/changeset/changeset-converter.js.map +1 -1
  164. package/dist/infrastructure/formatters/diff-generator.js +31 -42
  165. package/dist/infrastructure/formatters/diff-generator.js.map +1 -1
  166. package/dist/infrastructure/formatters/query-formatter.d.ts +4 -62
  167. package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
  168. package/dist/infrastructure/formatters/query-formatter.js +46 -435
  169. package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
  170. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts +24 -0
  171. package/dist/infrastructure/formatters/strategies/analyze-formatter.d.ts.map +1 -0
  172. package/dist/infrastructure/formatters/strategies/analyze-formatter.js +107 -0
  173. package/dist/infrastructure/formatters/strategies/analyze-formatter.js.map +1 -0
  174. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts +67 -0
  175. package/dist/infrastructure/formatters/strategies/base-formatter.d.ts.map +1 -0
  176. package/dist/infrastructure/formatters/strategies/base-formatter.js +75 -0
  177. package/dist/infrastructure/formatters/strategies/base-formatter.js.map +1 -0
  178. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts +19 -0
  179. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.d.ts.map +1 -0
  180. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js +77 -0
  181. package/dist/infrastructure/formatters/strategies/call-hierarchy-formatter.js.map +1 -0
  182. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts +15 -0
  183. package/dist/infrastructure/formatters/strategies/deps-formatter.d.ts.map +1 -0
  184. package/dist/infrastructure/formatters/strategies/deps-formatter.js +47 -0
  185. package/dist/infrastructure/formatters/strategies/deps-formatter.js.map +1 -0
  186. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts +23 -0
  187. package/dist/infrastructure/formatters/strategies/find-references-formatter.d.ts.map +1 -0
  188. package/dist/infrastructure/formatters/strategies/find-references-formatter.js +71 -0
  189. package/dist/infrastructure/formatters/strategies/find-references-formatter.js.map +1 -0
  190. package/dist/infrastructure/formatters/strategies/index.d.ts +11 -0
  191. package/dist/infrastructure/formatters/strategies/index.d.ts.map +1 -0
  192. package/dist/infrastructure/formatters/strategies/index.js +11 -0
  193. package/dist/infrastructure/formatters/strategies/index.js.map +1 -0
  194. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts +15 -0
  195. package/dist/infrastructure/formatters/strategies/search-formatter.d.ts.map +1 -0
  196. package/dist/infrastructure/formatters/strategies/search-formatter.js +32 -0
  197. package/dist/infrastructure/formatters/strategies/search-formatter.js.map +1 -0
  198. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts +20 -0
  199. package/dist/infrastructure/formatters/strategies/snapshot-formatter.d.ts.map +1 -0
  200. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js +101 -0
  201. package/dist/infrastructure/formatters/strategies/snapshot-formatter.js.map +1 -0
  202. package/dist/infrastructure/parser/registry.d.ts +6 -0
  203. package/dist/infrastructure/parser/registry.d.ts.map +1 -1
  204. package/dist/infrastructure/parser/registry.js +25 -8
  205. package/dist/infrastructure/parser/registry.js.map +1 -1
  206. package/dist/infrastructure/storage/file-system.d.ts.map +1 -1
  207. package/dist/infrastructure/storage/file-system.js +11 -3
  208. package/dist/infrastructure/storage/file-system.js.map +1 -1
  209. package/dist/interfaces/cli/commands/call-hierarchy.command.js +1 -1
  210. package/dist/interfaces/cli/commands/call-hierarchy.command.js.map +1 -1
  211. package/dist/interfaces/cli/commands/change-signature.command.js +3 -2
  212. package/dist/interfaces/cli/commands/change-signature.command.js.map +1 -1
  213. package/dist/interfaces/cli/commands/deadcode.command.js +1 -1
  214. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  215. package/dist/interfaces/cli/commands/find-references.command.js +2 -2
  216. package/dist/interfaces/cli/commands/find-references.command.js.map +1 -1
  217. package/dist/interfaces/cli/commands/rename.command.js +2 -2
  218. package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
  219. package/dist/interfaces/cli/preview-output-handler.d.ts.map +1 -1
  220. package/dist/interfaces/cli/preview-output-handler.js.map +1 -1
  221. package/dist/interfaces/cli/unified-output-handler.d.ts.map +1 -1
  222. package/dist/interfaces/cli/unified-output-handler.js.map +1 -1
  223. package/dist/plugins/javascript/declaration-analyzer.d.ts +16 -0
  224. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -1
  225. package/dist/plugins/javascript/declaration-analyzer.js +152 -113
  226. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -1
  227. package/dist/plugins/javascript/parser.d.ts +6 -2
  228. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  229. package/dist/plugins/javascript/parser.js +16 -21
  230. package/dist/plugins/javascript/parser.js.map +1 -1
  231. package/dist/plugins/javascript/reference-finder.d.ts +14 -2
  232. package/dist/plugins/javascript/reference-finder.d.ts.map +1 -1
  233. package/dist/plugins/javascript/reference-finder.js +57 -26
  234. package/dist/plugins/javascript/reference-finder.js.map +1 -1
  235. package/dist/plugins/javascript/types.d.ts.map +1 -1
  236. package/dist/plugins/javascript/types.js.map +1 -1
  237. package/dist/plugins/shared/index.d.ts +1 -0
  238. package/dist/plugins/shared/index.d.ts.map +1 -1
  239. package/dist/plugins/shared/index.js +2 -0
  240. package/dist/plugins/shared/index.js.map +1 -1
  241. package/dist/plugins/shared/utils/async.d.ts.map +1 -1
  242. package/dist/plugins/shared/utils/async.js.map +1 -1
  243. package/dist/plugins/shared/utils/object.js +5 -5
  244. package/dist/plugins/shared/utils/object.js.map +1 -1
  245. package/dist/plugins/shared/validators.d.ts +15 -0
  246. package/dist/plugins/shared/validators.d.ts.map +1 -0
  247. package/dist/plugins/shared/validators.js +29 -0
  248. package/dist/plugins/shared/validators.js.map +1 -0
  249. package/dist/plugins/typescript/declaration-analyzer.d.ts +12 -0
  250. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -1
  251. package/dist/plugins/typescript/declaration-analyzer.js +29 -4
  252. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -1
  253. package/dist/plugins/typescript/dependency-analyzer.d.ts +5 -0
  254. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
  255. package/dist/plugins/typescript/dependency-analyzer.js +10 -5
  256. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
  257. package/dist/plugins/typescript/language-service.d.ts +9 -0
  258. package/dist/plugins/typescript/language-service.d.ts.map +1 -1
  259. package/dist/plugins/typescript/language-service.js +16 -2
  260. package/dist/plugins/typescript/language-service.js.map +1 -1
  261. package/dist/plugins/typescript/parser.d.ts +0 -2
  262. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  263. package/dist/plugins/typescript/parser.js +3 -19
  264. package/dist/plugins/typescript/parser.js.map +1 -1
  265. package/dist/plugins/typescript/scope-analyzer.d.ts +7 -2
  266. package/dist/plugins/typescript/scope-analyzer.d.ts.map +1 -1
  267. package/dist/plugins/typescript/scope-analyzer.js +26 -16
  268. package/dist/plugins/typescript/scope-analyzer.js.map +1 -1
  269. package/dist/plugins/typescript/symbol-extractor.d.ts +4 -5
  270. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -1
  271. package/dist/plugins/typescript/symbol-extractor.js +19 -29
  272. package/dist/plugins/typescript/symbol-extractor.js.map +1 -1
  273. package/dist/plugins/typescript/types.d.ts.map +1 -1
  274. package/dist/plugins/typescript/types.js.map +1 -1
  275. package/package.json +1 -1
  276. package/dist/core/shared/dependency-graph/dependency-graph.d.ts.map +0 -1
  277. package/dist/core/shared/dependency-graph/dependency-graph.js.map +0 -1
  278. package/dist/core/shared/dependency-graph/index.d.ts.map +0 -1
  279. package/dist/core/shared/dependency-graph/index.js.map +0 -1
  280. package/dist/core/shared/dependency-graph/types.d.ts.map +0 -1
  281. package/dist/core/shared/dependency-graph/types.js.map +0 -1
  282. package/dist/core/shared/index.d.ts +0 -8
  283. package/dist/core/shared/index.d.ts.map +0 -1
  284. package/dist/core/shared/index.js +0 -11
  285. package/dist/core/shared/index.js.map +0 -1
  286. package/dist/core/shared/indexing/file-index.d.ts.map +0 -1
  287. package/dist/core/shared/indexing/file-index.js.map +0 -1
  288. package/dist/core/shared/indexing/index-engine.d.ts.map +0 -1
  289. package/dist/core/shared/indexing/index-engine.js.map +0 -1
  290. package/dist/core/shared/indexing/index.d.ts.map +0 -1
  291. package/dist/core/shared/indexing/index.js.map +0 -1
  292. package/dist/core/shared/indexing/symbol-index.d.ts.map +0 -1
  293. package/dist/core/shared/indexing/symbol-index.js.map +0 -1
  294. package/dist/core/shared/indexing/types.d.ts.map +0 -1
  295. package/dist/core/shared/indexing/types.js.map +0 -1
  296. package/dist/core/shared/symbol-finder/call-site-parser.d.ts.map +0 -1
  297. package/dist/core/shared/symbol-finder/call-site-parser.js.map +0 -1
  298. package/dist/core/shared/symbol-finder/index.d.ts.map +0 -1
  299. package/dist/core/shared/symbol-finder/index.js.map +0 -1
  300. package/dist/core/shared/symbol-finder/symbol-finder.d.ts.map +0 -1
  301. package/dist/core/shared/symbol-finder/symbol-finder.js.map +0 -1
  302. package/dist/core/shared/symbol-finder/text-matcher.d.ts.map +0 -1
  303. package/dist/core/shared/symbol-finder/text-matcher.js.map +0 -1
  304. package/dist/core/shared/symbol-finder/types.d.ts.map +0 -1
  305. package/dist/core/shared/symbol-finder/types.js.map +0 -1
  306. /package/dist/core/{shared → foundations}/dependency-graph/dependency-graph.d.ts +0 -0
  307. /package/dist/core/{shared → foundations}/dependency-graph/index.d.ts +0 -0
  308. /package/dist/core/{shared → foundations}/dependency-graph/index.js +0 -0
  309. /package/dist/core/{shared → foundations}/dependency-graph/types.d.ts +0 -0
  310. /package/dist/core/{shared → foundations}/dependency-graph/types.js +0 -0
  311. /package/dist/core/{shared → foundations}/indexing/file-index.d.ts +0 -0
  312. /package/dist/core/{shared → foundations}/indexing/file-index.js +0 -0
  313. /package/dist/core/{shared → foundations}/indexing/index.d.ts +0 -0
  314. /package/dist/core/{shared → foundations}/indexing/index.js +0 -0
  315. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.d.ts +0 -0
  316. /package/dist/core/{shared → foundations}/symbol-finder/call-site-parser.js +0 -0
  317. /package/dist/core/{shared → foundations}/symbol-finder/index.d.ts +0 -0
  318. /package/dist/core/{shared → foundations}/symbol-finder/index.js +0 -0
  319. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.d.ts +0 -0
  320. /package/dist/core/{shared → foundations}/symbol-finder/text-matcher.js +0 -0
  321. /package/dist/core/{shared → foundations}/symbol-finder/types.d.ts +0 -0
  322. /package/dist/core/{shared → foundations}/symbol-finder/types.js +0 -0
@@ -1,26 +1,9 @@
1
1
  /**
2
2
  * 唯讀命令格式化器
3
- * 提供 json 和 summary 兩種輸出格式
3
+ * 使用策略模式路由到對應的格式化策略
4
4
  */
5
- import * as path from 'path';
6
- import { QueryCommand, IssueSeverity, AnalyzeType } from './query-types.js';
7
- /** ANSI 顏色碼 */
8
- const Colors = {
9
- reset: '\x1b[0m',
10
- red: '\x1b[31m',
11
- green: '\x1b[32m',
12
- yellow: '\x1b[33m',
13
- cyan: '\x1b[36m',
14
- dim: '\x1b[2m',
15
- bold: '\x1b[1m'
16
- };
17
- /** 嚴重度對應的顏色和 emoji */
18
- const SeverityStyle = {
19
- [IssueSeverity.Critical]: { color: Colors.red, emoji: '🔴' },
20
- [IssueSeverity.High]: { color: Colors.red, emoji: '🟠' },
21
- [IssueSeverity.Medium]: { color: Colors.yellow, emoji: '🟡' },
22
- [IssueSeverity.Low]: { color: Colors.green, emoji: '🟢' }
23
- };
5
+ import { QueryCommand } from './query-types.js';
6
+ import { SearchFormatter, DepsFormatter, AnalyzeFormatter, SnapshotFormatter, FindReferencesFormatter, CallHierarchyFormatter } from './strategies/index.js';
24
7
  /** 輸出格式 */
25
8
  export var QueryFormat;
26
9
  (function (QueryFormat) {
@@ -32,8 +15,11 @@ export var QueryFormat;
32
15
  */
33
16
  export class QueryFormatter {
34
17
  color;
18
+ strategies;
35
19
  constructor(options = {}) {
36
20
  this.color = options.color ?? false;
21
+ // 延遲初始化:建構時不建立策略實例
22
+ this.strategies = new Map();
37
23
  }
38
24
  /**
39
25
  * 格式化結果
@@ -56,427 +42,61 @@ export class QueryFormatter {
56
42
  toSummary(result) {
57
43
  switch (result.command) {
58
44
  case QueryCommand.Search:
59
- return this.formatSearchSummary(result);
45
+ return this.getStrategy(QueryCommand.Search).formatSummary(result);
60
46
  case QueryCommand.Deps:
61
- return this.formatDepsSummary(result);
47
+ return this.getStrategy(QueryCommand.Deps).formatSummary(result);
62
48
  case QueryCommand.Analyze:
63
- return this.formatAnalyzeSummary(result);
49
+ return this.getStrategy(QueryCommand.Analyze).formatSummary(result);
64
50
  case QueryCommand.Snapshot:
65
- return this.formatSnapshotSummary(result);
51
+ return this.getStrategy(QueryCommand.Snapshot).formatSummary(result);
66
52
  case QueryCommand.FindReferences:
67
- return this.formatFindReferencesSummary(result);
53
+ return this.getStrategy(QueryCommand.FindReferences)
54
+ .formatSummary(result);
68
55
  case QueryCommand.CallHierarchy:
69
- return this.formatCallHierarchySummary(result);
56
+ return this.getStrategy(QueryCommand.CallHierarchy)
57
+ .formatSummary(result);
70
58
  }
71
59
  // Exhaustive check: 編譯時確保所有 QueryCommand 都被處理
72
60
  const _exhaustiveCheck = result.command;
73
61
  return this.formatDefaultSummary({ ...result, command: _exhaustiveCheck });
74
62
  }
75
63
  /**
76
- * 格式化 Search 摘要
64
+ * 取得策略(延遲初始化)
77
65
  */
78
- formatSearchSummary(result) {
79
- const lines = [];
80
- lines.push(`找到 ${result.results.length} 個結果`);
81
- if (result.searchTime) {
82
- lines.push(`搜尋耗時: ${result.searchTime}ms`);
83
- }
84
- if (result.truncated) {
85
- lines.push(this.colorize('(結果已截斷)', Colors.yellow));
86
- }
87
- lines.push('');
88
- // 列出結果
89
- result.results.forEach(match => {
90
- const location = match.column
91
- ? `${match.filePath}:${match.line}:${match.column}`
92
- : `${match.filePath}:${match.line}`;
93
- lines.push(this.colorize(location, Colors.cyan));
94
- lines.push(` ${match.content}`);
95
- });
96
- return lines.join('\n');
97
- }
98
- /**
99
- * 格式化 Deps 摘要
100
- */
101
- formatDepsSummary(result) {
102
- const lines = [];
103
- const basePath = result.basePath;
104
- // 循環依賴
105
- if (result.cycles && result.cycles.length > 0) {
106
- lines.push(this.colorize(`發現 ${result.cycles.length} 個循環依賴`, Colors.red));
107
- lines.push('');
108
- result.cycles.forEach((cycle, index) => {
109
- const formattedCycle = cycle.cycle.map(p => this.toRelativePath(p, basePath));
110
- lines.push(`${index + 1}. ${formattedCycle.join(' → ')} → ${formattedCycle[0]}`);
111
- });
112
- }
113
- else if (!result.impact) {
114
- // 只有在沒有 impact 分析時才顯示「未發現循環依賴」
115
- lines.push(this.colorize('未發現循環依賴', Colors.green));
116
- }
117
- // 影響分析
118
- if (result.impact) {
119
- const targetFile = this.toRelativePath(result.impact.targetFile, basePath);
120
- lines.push(`📊 影響分析: ${targetFile}`);
121
- lines.push(` 依賴此檔案: ${result.impact.dependents.length} 個`);
122
- lines.push(` 被此檔案依賴: ${result.impact.dependencies.length} 個`);
123
- if (result.impact.dependents.length > 0) {
124
- lines.push(' 依賴者:');
125
- result.impact.dependents.slice(0, 5).forEach(dep => {
126
- lines.push(` - ${this.toRelativePath(dep, basePath)}`);
127
- });
128
- if (result.impact.dependents.length > 5) {
129
- lines.push(` ... 還有 ${result.impact.dependents.length - 5} 個`);
130
- }
131
- }
132
- }
133
- return lines.join('\n');
134
- }
135
- /**
136
- * 將絕對路徑轉換為相對路徑
137
- * @param filePath 檔案路徑
138
- * @param basePath 專案根目錄
139
- * @returns 相對路徑(若無 basePath 則返回原路徑)
140
- */
141
- toRelativePath(filePath, basePath) {
142
- if (!basePath) {
143
- return filePath;
144
- }
145
- // 確保路徑是絕對路徑
146
- if (!path.isAbsolute(filePath)) {
147
- return filePath;
148
- }
149
- return path.relative(basePath, filePath);
150
- }
151
- /**
152
- * 格式化 Analyze 摘要
153
- */
154
- formatAnalyzeSummary(result) {
155
- // 特殊處理 DeadCode 類型
156
- if (result.analyzeType === AnalyzeType.DeadCode) {
157
- return this.formatDeadCodeSummary(result);
158
- }
159
- const lines = [];
160
- lines.push(`分析類型: ${result.analyzeType}`);
161
- lines.push(`成功: ${result.success ? '是' : '否'}`);
162
- if (result.issues && result.issues.length > 0) {
163
- lines.push(`發現 ${result.issues.length} 個問題`);
164
- lines.push('');
165
- result.issues.slice(0, 10).forEach(issue => {
166
- const severity = issue.severity
167
- ? SeverityStyle[issue.severity].emoji
168
- : '•';
169
- lines.push(`${severity} ${issue.message}`);
170
- if (issue.filePath) {
171
- lines.push(` ${this.colorize(issue.filePath, Colors.dim)}${issue.line ? `:${issue.line}` : ''}`);
172
- }
173
- });
174
- if (result.issues.length > 10) {
175
- lines.push(`... 還有 ${result.issues.length - 10} 個問題`);
176
- }
66
+ getStrategy(command) {
67
+ // 檢查快取
68
+ let strategy = this.strategies.get(command);
69
+ if (strategy) {
70
+ return strategy;
177
71
  }
178
- return lines.join('\n');
179
- }
180
- /**
181
- * 格式化 DeadCode 摘要
182
- */
183
- formatDeadCodeSummary(result) {
184
- const lines = [];
185
- // 標題
186
- lines.push('🔍 Dead Code 檢測結果');
187
- lines.push('');
188
- // 統計
189
- lines.push(`📊 掃描符號: ${result.summary.totalScanned || 0}`);
190
- lines.push(`💀 Dead Code: ${result.items.length} 個`);
191
- lines.push(`📁 影響檔案: ${result.filesAffected} 個`);
192
- lines.push(`⏱️ 耗時: ${result.scanTime}ms`);
193
- if (result.skippedFiles > 0) {
194
- lines.push(this.colorize(`⚠️ 跳過檔案: ${result.skippedFiles} 個(解析失敗)`, Colors.yellow));
195
- }
196
- lines.push('');
197
- // 按類型統計
198
- if (Object.keys(result.byType).length > 0) {
199
- lines.push('按類型統計:');
200
- for (const [type, count] of Object.entries(result.byType)) {
201
- const label = this.getTypeLabel(type);
202
- lines.push(` ${label}: ${count}`);
203
- }
204
- lines.push('');
205
- }
206
- // Dead code 列表
207
- if (result.items.length > 0) {
208
- lines.push('Dead Code 列表:');
209
- // 按檔案分組
210
- const byFile = new Map();
211
- result.items.forEach(item => {
212
- const list = byFile.get(item.file) || [];
213
- list.push(item);
214
- byFile.set(item.file, list);
215
- });
216
- for (const [file, items] of byFile) {
217
- lines.push(` ${this.colorize(file, Colors.cyan)}`);
218
- items.slice(0, 10).forEach(item => {
219
- const icon = this.getDeadCodeIcon(item.type);
220
- lines.push(` ${icon} L${item.line}: ${item.name} (${item.type})`);
221
- lines.push(` ${this.colorize(item.reason, Colors.dim)}`);
222
- });
223
- if (items.length > 10) {
224
- lines.push(` ... 還有 ${items.length - 10} 個`);
225
- }
226
- }
227
- }
228
- else {
229
- lines.push(this.colorize('✅ 未發現 Dead Code', Colors.green));
230
- }
231
- return lines.join('\n');
232
- }
233
- /**
234
- * 取得類型標籤
235
- */
236
- getTypeLabel(type) {
237
- const labels = {
238
- function: '函式',
239
- class: '類別',
240
- variable: '變數',
241
- interface: '介面',
242
- type: '型別',
243
- property: '屬性',
244
- method: '方法',
245
- enum: '列舉',
246
- constant: '常數'
247
- };
248
- return labels[type] || type;
249
- }
250
- /**
251
- * 取得 Dead Code 圖示
252
- */
253
- getDeadCodeIcon(type) {
254
- switch (type) {
255
- case 'function': return '⚡';
256
- case 'class': return '📦';
257
- case 'variable': return '📌';
258
- case 'interface': return '📋';
259
- case 'type': return '🏷️';
260
- default: return '💀';
261
- }
262
- }
263
- /**
264
- * 格式化 Snapshot 摘要
265
- */
266
- formatSnapshotSummary(result) {
267
- const lines = [];
268
- if (result.snapshotType === 'incremental') {
269
- return this.formatIncrementalSnapshotSummary(result.snapshot);
270
- }
271
- if (result.snapshotType === 'project') {
272
- const snapshot = result.snapshot;
273
- lines.push(`📦 專案: ${snapshot.project}`);
274
- lines.push(`📁 模組數: ${Object.keys(snapshot.modules).length}`);
275
- for (const [modulePath, moduleSnapshot] of Object.entries(snapshot.modules)) {
276
- lines.push('');
277
- lines.push(` 📂 ${modulePath}`);
278
- lines.push(` API: ${Object.keys(moduleSnapshot.api).length} classes`);
279
- lines.push(` Factories: ${Object.keys(moduleSnapshot.factories).length}`);
280
- lines.push(` Types: ${Object.keys(moduleSnapshot.types).length}`);
281
- }
282
- }
283
- else {
284
- const snapshot = result.snapshot;
285
- lines.push(`📦 模組: ${snapshot.module}`);
286
- lines.push(`📊 API: ${Object.keys(snapshot.api).length} classes`);
287
- lines.push(`🏭 Factories: ${Object.keys(snapshot.factories).length}`);
288
- lines.push(`📝 Types: ${Object.keys(snapshot.types).length}`);
289
- lines.push(`🔒 Private: ${Object.keys(snapshot.private).length} classes`);
290
- }
291
- return lines.join('\n');
292
- }
293
- /**
294
- * 格式化增量快照摘要
295
- */
296
- formatIncrementalSnapshotSummary(snapshot) {
297
- const lines = [];
298
- const { delta } = snapshot;
299
- lines.push(`📦 增量快照 (Version: ${snapshot.version})`);
300
- if (snapshot.baseVersion) {
301
- lines.push(`🔖 基準版本: ${snapshot.baseVersion}`);
302
- }
303
- else {
304
- lines.push('🔖 基準版本: (初始快照)');
305
- }
306
- lines.push('');
307
- // 新增
308
- const addedModules = Object.keys(delta.added.modules).length;
309
- const addedSymbols = delta.added.symbols.length;
310
- if (addedModules > 0 || addedSymbols > 0) {
311
- lines.push(this.colorize(`✨ 新增: ${addedModules} 個模組, ${addedSymbols} 個符號`, Colors.green));
312
- for (const [name, mod] of Object.entries(delta.added.modules)) {
313
- lines.push(` 📂 模組 ${name} (+${Object.keys(mod.api).length} APIs)`);
314
- }
315
- for (const sym of delta.added.symbols) {
316
- lines.push(` ➕ ${sym.type} ${sym.module}.${sym.name}`);
317
- }
318
- lines.push('');
319
- }
320
- // 修改
321
- const modModules = delta.modified.modules.length;
322
- const modSymbols = delta.modified.symbols.length;
323
- if (modModules > 0 || modSymbols > 0) {
324
- lines.push(this.colorize(`📝 修改: ${modModules} 個模組, ${modSymbols} 個符號`, Colors.yellow));
325
- for (const mod of delta.modified.modules) {
326
- lines.push(` 📂 模組 ${mod}`);
327
- }
328
- for (const sym of delta.modified.symbols) {
329
- lines.push(` ✏️ ${sym.type} ${sym.module}.${sym.name}`);
330
- }
331
- lines.push('');
332
- }
333
- // 刪除
334
- const delModules = delta.removed.modules.length;
335
- const delSymbols = delta.removed.symbols.length;
336
- if (delModules > 0 || delSymbols > 0) {
337
- lines.push(this.colorize(`🗑️ 刪除: ${delModules} 個模組, ${delSymbols} 個符號`, Colors.red));
338
- for (const mod of delta.removed.modules) {
339
- lines.push(` 📂 模組 ${mod}`);
340
- }
341
- for (const sym of delta.removed.symbols) {
342
- lines.push(` ➖ ${sym.type} ${sym.module}.${sym.name}`);
343
- }
344
- lines.push('');
345
- }
346
- if (addedModules === 0 && addedSymbols === 0 &&
347
- modModules === 0 && modSymbols === 0 &&
348
- delModules === 0 && delSymbols === 0) {
349
- lines.push(this.colorize('✅ 沒有變更', Colors.dim));
350
- }
351
- return lines.join('\n');
352
- }
353
- /**
354
- * 格式化 FindReferences 摘要
355
- */
356
- formatFindReferencesSummary(result) {
357
- const lines = [];
358
- // 標題
359
- lines.push(`🔍 符號: ${result.symbol} (${result.type})`);
360
- // 定義位置
361
- if (result.definition) {
362
- const defLoc = `${result.definition.file}:${result.definition.line}:${result.definition.column}`;
363
- lines.push(`📍 定義: ${this.colorize(defLoc, Colors.cyan)}`);
364
- }
365
- else {
366
- lines.push(this.colorize('⚠️ 找不到定義位置', Colors.yellow));
367
- }
368
- // 統計
369
- const filesAffected = new Set(result.references.map(r => r.file)).size;
370
- lines.push('');
371
- lines.push(`📊 找到 ${result.references.length} 個引用(${filesAffected} 個檔案)`);
372
- // 引用列表(按檔案分組)
373
- if (result.references.length > 0) {
374
- lines.push('');
375
- lines.push('引用列表:');
376
- const byFile = this.groupReferencesByFile(result.references);
377
- for (const [file, refs] of byFile) {
378
- lines.push(` ${this.colorize(file, Colors.cyan)}`);
379
- refs.slice(0, 10).forEach(ref => {
380
- const typeIcon = this.getReferenceTypeIcon(ref.type);
381
- lines.push(` ${typeIcon} L${ref.line}: ${ref.context.trim()}`);
382
- });
383
- if (refs.length > 10) {
384
- lines.push(` ... 還有 ${refs.length - 10} 個引用`);
385
- }
386
- }
387
- }
388
- return lines.join('\n');
389
- }
390
- /**
391
- * 按檔案分組引用
392
- */
393
- groupReferencesByFile(references) {
394
- const byFile = new Map();
395
- references.forEach(ref => {
396
- const list = byFile.get(ref.file) || [];
397
- list.push(ref);
398
- byFile.set(ref.file, list);
399
- });
400
- return byFile;
401
- }
402
- /**
403
- * 取得引用類型圖示
404
- */
405
- getReferenceTypeIcon(type) {
406
- switch (type) {
407
- case 'definition': return '📌';
408
- case 'import': return '📥';
409
- case 'export': return '📤';
410
- case 'usage':
411
- default: return '📞';
412
- }
413
- }
414
- /**
415
- * 格式化 CallHierarchy 摘要
416
- */
417
- formatCallHierarchySummary(result) {
418
- const lines = [];
419
- // 標題與定義位置
420
- lines.push(`📞 函數呼叫層次: ${result.function}`);
421
- const defLoc = result.definitionLine
422
- ? `${result.file}:${result.definitionLine}`
423
- : result.file;
424
- lines.push(`📍 定義位置: ${this.colorize(defLoc, Colors.cyan)}`);
425
- lines.push(`🔍 分析方向: ${result.direction}, 深度: ${result.depth}`);
426
- lines.push('');
427
- // Incoming(誰呼叫我)
428
- if (result.direction === 'incoming' || result.direction === 'both') {
429
- lines.push(`📥 呼叫者 (Incoming): ${result.incoming.length} 個`);
430
- if (result.incoming.length > 0) {
431
- const grouped = this.groupCallsByFile(result.incoming, 'caller');
432
- for (const [file, items] of grouped) {
433
- lines.push(` ${this.colorize(file, Colors.cyan)}`);
434
- items.slice(0, 10).forEach(item => {
435
- lines.push(` ⬅️ ${item.caller} (L${item.line})`);
436
- });
437
- if (items.length > 10) {
438
- lines.push(` ... 還有 ${items.length - 10} 個呼叫者`);
439
- }
440
- }
441
- }
442
- lines.push('');
443
- }
444
- // Outgoing(我呼叫誰)
445
- if (result.direction === 'outgoing' || result.direction === 'both') {
446
- lines.push(`📤 被呼叫者 (Outgoing): ${result.outgoing.length} 個`);
447
- if (result.outgoing.length > 0) {
448
- const grouped = this.groupCallsByFile(result.outgoing, 'callee');
449
- for (const [file, items] of grouped) {
450
- lines.push(` ${this.colorize(file, Colors.cyan)}`);
451
- items.slice(0, 10).forEach(item => {
452
- lines.push(` ➡️ ${item.callee} (L${item.line})`);
453
- });
454
- if (items.length > 10) {
455
- lines.push(` ... 還有 ${items.length - 10} 個被呼叫者`);
456
- }
457
- }
72
+ // 首次使用時才建立對應的策略實例
73
+ switch (command) {
74
+ case QueryCommand.Search:
75
+ strategy = new SearchFormatter(this.color);
76
+ break;
77
+ case QueryCommand.Deps:
78
+ strategy = new DepsFormatter(this.color);
79
+ break;
80
+ case QueryCommand.Analyze:
81
+ strategy = new AnalyzeFormatter(this.color);
82
+ break;
83
+ case QueryCommand.Snapshot:
84
+ strategy = new SnapshotFormatter(this.color);
85
+ break;
86
+ case QueryCommand.FindReferences:
87
+ strategy = new FindReferencesFormatter(this.color);
88
+ break;
89
+ case QueryCommand.CallHierarchy:
90
+ strategy = new CallHierarchyFormatter(this.color);
91
+ break;
92
+ default: {
93
+ // Exhaustive check
94
+ const _exhaustiveCheck = command;
95
+ throw new Error(`Unknown command: ${_exhaustiveCheck}`);
458
96
  }
459
- lines.push('');
460
97
  }
461
- // 統計
462
- const uniqueFiles = new Set([
463
- ...result.incoming.map(i => i.file),
464
- ...result.outgoing.map(o => o.file)
465
- ]).size;
466
- lines.push(`📊 統計: ${result.incoming.length} incoming, ${result.outgoing.length} outgoing, ${uniqueFiles} 個檔案`);
467
- return lines.join('\n');
468
- }
469
- /**
470
- * 按檔案分組呼叫項目
471
- */
472
- groupCallsByFile(items, _nameKey) {
473
- const byFile = new Map();
474
- items.forEach(item => {
475
- const list = byFile.get(item.file) || [];
476
- list.push(item);
477
- byFile.set(item.file, list);
478
- });
479
- return byFile;
98
+ this.strategies.set(command, strategy);
99
+ return strategy;
480
100
  }
481
101
  /**
482
102
  * 格式化預設摘要(fallback)
@@ -498,15 +118,6 @@ export class QueryFormatter {
498
118
  }
499
119
  return lines.join('\n');
500
120
  }
501
- /**
502
- * 套用顏色(如果啟用)
503
- */
504
- colorize(text, color) {
505
- if (!this.color) {
506
- return text;
507
- }
508
- return `${color}${text}${Colors.reset}`;
509
- }
510
121
  }
511
122
  /**
512
123
  * 建立 QueryFormatter 的工廠函數
@@ -1 +1 @@
1
- {"version":3,"file":"query-formatter.js","sourceRoot":"","sources":["../../../src/infrastructure/formatters/query-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-formatter.js","sourceRoot":"","sources":["../../../src/infrastructure/formatters/query-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Analyze 命令格式化策略
3
+ * 包含 DeadCode 子類型處理
4
+ */
5
+ import { type AnalyzeResult } from '../query-types.js';
6
+ import { BaseFormatter } from './base-formatter.js';
7
+ /**
8
+ * Analyze 結果格式化器
9
+ */
10
+ export declare class AnalyzeFormatter extends BaseFormatter<AnalyzeResult> {
11
+ /**
12
+ * 格式化 Analyze 摘要
13
+ */
14
+ formatSummary(result: AnalyzeResult): string;
15
+ /**
16
+ * 格式化 DeadCode 摘要
17
+ */
18
+ private formatDeadCodeSummary;
19
+ /**
20
+ * 取得 Dead Code 圖示
21
+ */
22
+ private getDeadCodeIcon;
23
+ }
24
+ //# sourceMappingURL=analyze-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-formatter.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/formatters/strategies/analyze-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAE3E;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,aAAa,CAAC;IAChE;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;IA+B5C;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyD7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAUxB"}