agent-ide 0.7.6 → 0.8.0

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 (116) hide show
  1. package/dist/core/deadcode/dead-code-remover.d.ts +27 -9
  2. package/dist/core/deadcode/dead-code-remover.d.ts.map +1 -1
  3. package/dist/core/deadcode/dead-code-remover.js +100 -26
  4. package/dist/core/deadcode/dead-code-remover.js.map +1 -1
  5. package/dist/core/move/import-resolver.d.ts +0 -3
  6. package/dist/core/move/import-resolver.d.ts.map +1 -1
  7. package/dist/core/move/import-resolver.js +0 -10
  8. package/dist/core/move/import-resolver.js.map +1 -1
  9. package/dist/core/move-member/index.d.ts +1 -1
  10. package/dist/core/move-member/index.d.ts.map +1 -1
  11. package/dist/core/move-member/index.js.map +1 -1
  12. package/dist/core/move-member/move-member-service.d.ts +2 -0
  13. package/dist/core/move-member/move-member-service.d.ts.map +1 -1
  14. package/dist/core/move-member/move-member-service.js +24 -31
  15. package/dist/core/move-member/move-member-service.js.map +1 -1
  16. package/dist/core/move-member/types.d.ts +48 -23
  17. package/dist/core/move-member/types.d.ts.map +1 -1
  18. package/dist/core/move-member/types.js.map +1 -1
  19. package/dist/core/shared/symbol-finder.d.ts +39 -11
  20. package/dist/core/shared/symbol-finder.d.ts.map +1 -1
  21. package/dist/core/shared/symbol-finder.js +101 -71
  22. package/dist/core/shared/symbol-finder.js.map +1 -1
  23. package/dist/core/snapshot/snapshot-generator.d.ts +11 -0
  24. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  25. package/dist/core/snapshot/snapshot-generator.js +117 -5
  26. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  27. package/dist/infrastructure/parser/base.d.ts +2 -6
  28. package/dist/infrastructure/parser/base.d.ts.map +1 -1
  29. package/dist/infrastructure/parser/base.js +1 -16
  30. package/dist/infrastructure/parser/base.js.map +1 -1
  31. package/dist/infrastructure/parser/index.d.ts +2 -0
  32. package/dist/infrastructure/parser/index.d.ts.map +1 -1
  33. package/dist/infrastructure/parser/index.js +1 -0
  34. package/dist/infrastructure/parser/index.js.map +1 -1
  35. package/dist/infrastructure/parser/interface.d.ts +197 -0
  36. package/dist/infrastructure/parser/interface.d.ts.map +1 -1
  37. package/dist/infrastructure/parser/interface.js +13 -0
  38. package/dist/infrastructure/parser/interface.js.map +1 -1
  39. package/dist/interfaces/cli/commands/deadcode.command.js +7 -1
  40. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -1
  41. package/dist/interfaces/cli/commands/move-member.command.d.ts.map +1 -1
  42. package/dist/interfaces/cli/commands/move-member.command.js +6 -11
  43. package/dist/interfaces/cli/commands/move-member.command.js.map +1 -1
  44. package/dist/plugins/javascript/code-analyzer.d.ts +68 -0
  45. package/dist/plugins/javascript/code-analyzer.d.ts.map +1 -0
  46. package/dist/plugins/javascript/code-analyzer.js +302 -0
  47. package/dist/plugins/javascript/code-analyzer.js.map +1 -0
  48. package/dist/plugins/javascript/declaration-analyzer.d.ts +58 -0
  49. package/dist/plugins/javascript/declaration-analyzer.d.ts.map +1 -0
  50. package/dist/plugins/javascript/declaration-analyzer.js +367 -0
  51. package/dist/plugins/javascript/declaration-analyzer.js.map +1 -0
  52. package/dist/plugins/javascript/parser.d.ts +21 -36
  53. package/dist/plugins/javascript/parser.d.ts.map +1 -1
  54. package/dist/plugins/javascript/parser.js +55 -321
  55. package/dist/plugins/javascript/parser.js.map +1 -1
  56. package/dist/plugins/javascript/pattern-analyzer.d.ts +33 -0
  57. package/dist/plugins/javascript/pattern-analyzer.d.ts.map +1 -0
  58. package/dist/plugins/javascript/pattern-analyzer.js +142 -0
  59. package/dist/plugins/javascript/pattern-analyzer.js.map +1 -0
  60. package/dist/plugins/javascript/reference-finder.d.ts +38 -0
  61. package/dist/plugins/javascript/reference-finder.d.ts.map +1 -0
  62. package/dist/plugins/javascript/reference-finder.js +210 -0
  63. package/dist/plugins/javascript/reference-finder.js.map +1 -0
  64. package/dist/plugins/javascript/types.d.ts +2 -4
  65. package/dist/plugins/javascript/types.d.ts.map +1 -1
  66. package/dist/plugins/javascript/types.js +4 -12
  67. package/dist/plugins/javascript/types.js.map +1 -1
  68. package/dist/plugins/shared/constants.d.ts +32 -0
  69. package/dist/plugins/shared/constants.d.ts.map +1 -0
  70. package/dist/plugins/shared/constants.js +78 -0
  71. package/dist/plugins/shared/constants.js.map +1 -0
  72. package/dist/plugins/shared/index.d.ts +7 -0
  73. package/dist/plugins/shared/index.d.ts.map +1 -0
  74. package/dist/plugins/shared/index.js +9 -0
  75. package/dist/plugins/shared/index.js.map +1 -0
  76. package/dist/plugins/shared/parser-helpers.d.ts +109 -0
  77. package/dist/plugins/shared/parser-helpers.d.ts.map +1 -0
  78. package/dist/plugins/shared/parser-helpers.js +223 -0
  79. package/dist/plugins/shared/parser-helpers.js.map +1 -0
  80. package/dist/plugins/typescript/declaration-analyzer.d.ts +123 -0
  81. package/dist/plugins/typescript/declaration-analyzer.d.ts.map +1 -0
  82. package/dist/plugins/typescript/declaration-analyzer.js +474 -0
  83. package/dist/plugins/typescript/declaration-analyzer.js.map +1 -0
  84. package/dist/plugins/typescript/dependency-analyzer.d.ts +0 -6
  85. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -1
  86. package/dist/plugins/typescript/dependency-analyzer.js +0 -34
  87. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -1
  88. package/dist/plugins/typescript/index.d.ts +5 -0
  89. package/dist/plugins/typescript/index.d.ts.map +1 -1
  90. package/dist/plugins/typescript/index.js +5 -0
  91. package/dist/plugins/typescript/index.js.map +1 -1
  92. package/dist/plugins/typescript/language-service.d.ts +93 -0
  93. package/dist/plugins/typescript/language-service.d.ts.map +1 -0
  94. package/dist/plugins/typescript/language-service.js +159 -0
  95. package/dist/plugins/typescript/language-service.js.map +1 -0
  96. package/dist/plugins/typescript/parser.d.ts +27 -34
  97. package/dist/plugins/typescript/parser.d.ts.map +1 -1
  98. package/dist/plugins/typescript/parser.js +74 -429
  99. package/dist/plugins/typescript/parser.js.map +1 -1
  100. package/dist/plugins/typescript/pattern-analyzer.d.ts +59 -0
  101. package/dist/plugins/typescript/pattern-analyzer.d.ts.map +1 -0
  102. package/dist/plugins/typescript/pattern-analyzer.js +179 -0
  103. package/dist/plugins/typescript/pattern-analyzer.js.map +1 -0
  104. package/dist/plugins/typescript/reference-finder.d.ts +51 -0
  105. package/dist/plugins/typescript/reference-finder.d.ts.map +1 -0
  106. package/dist/plugins/typescript/reference-finder.js +214 -0
  107. package/dist/plugins/typescript/reference-finder.js.map +1 -0
  108. package/dist/plugins/typescript/scope-analyzer.d.ts +61 -0
  109. package/dist/plugins/typescript/scope-analyzer.d.ts.map +1 -0
  110. package/dist/plugins/typescript/scope-analyzer.js +300 -0
  111. package/dist/plugins/typescript/scope-analyzer.js.map +1 -0
  112. package/dist/plugins/typescript/types.d.ts +2 -4
  113. package/dist/plugins/typescript/types.d.ts.map +1 -1
  114. package/dist/plugins/typescript/types.js +4 -12
  115. package/dist/plugins/typescript/types.js.map +1 -1
  116. package/package.json +1 -1
@@ -34,6 +34,10 @@ export declare class SnapshotGenerator {
34
34
  * 產生模組快照
35
35
  */
36
36
  private generateModuleSnapshot;
37
+ /**
38
+ * 使用 Parser 識別模組內的 factory 模式
39
+ */
40
+ private identifyFactoryPatterns;
37
41
  /**
38
42
  * 產生專案快照
39
43
  */
@@ -44,6 +48,7 @@ export declare class SnapshotGenerator {
44
48
  private findModuleDirs;
45
49
  /**
46
50
  * 建構模組快照
51
+ * @param factoryPatterns Parser 識別的 factory 模式(優先使用,若為空則 fallback 到名稱比對)
47
52
  */
48
53
  private buildModuleSnapshot;
49
54
  /**
@@ -64,8 +69,14 @@ export declare class SnapshotGenerator {
64
69
  private formatFunctionSignature;
65
70
  /**
66
71
  * 簡化簽章格式(移除函數名稱,保留參數和回傳型別)
72
+ * 使用括號平衡算法處理巢狀泛型
67
73
  */
68
74
  private simplifySignature;
75
+ /**
76
+ * 使用括號平衡算法解析簽章
77
+ * 正確處理巢狀泛型(如 Map<K, Fn<V>>)
78
+ */
79
+ private parseSignatureWithBalancing;
69
80
  /**
70
81
  * 格式化 interface 欄位
71
82
  */
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,KAAK,EAAmC,cAAc,EAAe,MAAM,YAAY,CAAC;AAG/F,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,qBAAqB,CAAC;AAQ9E;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,YAAY,CAAqC;gBAE7C,UAAU,EAAE,WAAW;IAInC;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAU3D;;;;OAIG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0C1F;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;YACW,WAAW;IA0BzB;;OAEG;YACW,sBAAsB;IAqBpC;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;YACW,cAAc;IA8B5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyD3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB"}
1
+ {"version":3,"file":"snapshot-generator.d.ts","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAKpE,OAAO,KAAK,EAAmC,cAAc,EAAe,MAAM,YAAY,CAAC;AAG/F,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,qBAAqB,CAAC;AAQ9E;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,YAAY,CAAqC;gBAE7C,UAAU,EAAE,WAAW;IAInC;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAU3D;;;;OAIG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0C1F;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;OAEG;YACW,WAAW;IA0BzB;;OAEG;YACW,sBAAsB;IAwBpC;;OAEG;YACW,uBAAuB;IAwCrC;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;YACW,cAAc;IA8B5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqE3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAuDnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import * as path from 'path';
6
6
  import { IndexEngine, createIndexConfig } from '../shared/indexing/index.js';
7
+ import { ParserRegistry } from '../../infrastructure/parser/index.js';
7
8
  import { SymbolType } from '../../shared/types/index.js';
8
9
  import { SnapshotScope, isProjectSnapshot } from './types.js';
9
10
  import { SnapshotCacheManager } from './snapshot-cache.js';
@@ -120,12 +121,56 @@ export class SnapshotGenerator {
120
121
  const allSymbols = await indexEngine.getAllSymbols();
121
122
  const symbols = allSymbols.map(result => result.symbol);
122
123
  const relativePath = path.basename(modulePath);
123
- return this.buildModuleSnapshot(relativePath, symbols, modulePath);
124
+ // 使用 Parser 識別 factory 模式
125
+ const factoryPatterns = await this.identifyFactoryPatterns(modulePath);
126
+ return this.buildModuleSnapshot(relativePath, symbols, modulePath, factoryPatterns);
124
127
  }
125
128
  finally {
126
129
  indexEngine.dispose();
127
130
  }
128
131
  }
132
+ /**
133
+ * 使用 Parser 識別模組內的 factory 模式
134
+ */
135
+ async identifyFactoryPatterns(modulePath) {
136
+ const factoryMap = new Map();
137
+ try {
138
+ const entries = await this.fileSystem.readDirectory(modulePath);
139
+ for (const entry of entries) {
140
+ if (entry.isDirectory) {
141
+ continue;
142
+ }
143
+ const ext = path.extname(entry.name);
144
+ if (!['.ts', '.js', '.tsx', '.jsx'].includes(ext)) {
145
+ continue;
146
+ }
147
+ const filePath = path.join(modulePath, entry.name);
148
+ const parser = ParserRegistry.getInstance().getParser(ext);
149
+ if (!parser || !parser.identifyPatterns) {
150
+ continue;
151
+ }
152
+ try {
153
+ const content = await this.fileSystem.readFile(filePath);
154
+ const codeString = typeof content === 'string' ? content : content.toString('utf-8');
155
+ const patterns = parser.identifyPatterns(codeString);
156
+ if (patterns) {
157
+ for (const pattern of patterns) {
158
+ if (pattern.type === 'factory') {
159
+ factoryMap.set(pattern.symbolName, pattern);
160
+ }
161
+ }
162
+ }
163
+ }
164
+ catch {
165
+ // 忽略單一檔案的解析錯誤,繼續處理其他檔案
166
+ }
167
+ }
168
+ }
169
+ catch {
170
+ // 忽略目錄讀取錯誤,返回空 Map(fallback 到名稱比對)
171
+ }
172
+ return factoryMap;
173
+ }
129
174
  /**
130
175
  * 產生專案快照
131
176
  */
@@ -173,8 +218,9 @@ export class SnapshotGenerator {
173
218
  }
174
219
  /**
175
220
  * 建構模組快照
221
+ * @param factoryPatterns Parser 識別的 factory 模式(優先使用,若為空則 fallback 到名稱比對)
176
222
  */
177
- buildModuleSnapshot(moduleName, symbols, _modulePath) {
223
+ buildModuleSnapshot(moduleName, symbols, _modulePath, factoryPatterns = new Map()) {
178
224
  // 轉型為 ExtendedSymbol 以存取 signature 和 typeInfo
179
225
  const extendedSymbols = symbols;
180
226
  const api = {};
@@ -201,9 +247,16 @@ export class SnapshotGenerator {
201
247
  };
202
248
  }
203
249
  }
204
- // 處理 factory 函數(createXxx)
250
+ // 處理 factory 函數
251
+ // 優先使用 Parser 語義分析的結果,若無則 fallback 到名稱比對
205
252
  for (const func of functions) {
206
- if (func.name.startsWith('create')) {
253
+ const parserPattern = factoryPatterns.get(func.name);
254
+ if (parserPattern) {
255
+ // Parser 識別為 factory(語義分析)
256
+ factories[func.name] = this.formatFunctionSignature(func);
257
+ }
258
+ else if (factoryPatterns.size === 0 && func.name.startsWith('create')) {
259
+ // Fallback:Parser 未提供任何結果時,使用名稱比對(向後相容)
207
260
  factories[func.name] = this.formatFunctionSignature(func);
208
261
  }
209
262
  }
@@ -275,9 +328,15 @@ export class SnapshotGenerator {
275
328
  }
276
329
  /**
277
330
  * 簡化簽章格式(移除函數名稱,保留參數和回傳型別)
331
+ * 使用括號平衡算法處理巢狀泛型
278
332
  */
279
333
  simplifySignature(signature) {
280
- // 格式:name<T>(param: Type): ReturnType → (param: Type) → ReturnType
334
+ // 使用括號平衡算法找到參數列表的開始和結束位置
335
+ const result = this.parseSignatureWithBalancing(signature);
336
+ if (result) {
337
+ return result;
338
+ }
339
+ // Fallback:原始正則邏輯(向後相容)
281
340
  const match = signature.match(/^[^(]*\(([^)]*)\)(?:\s*:\s*(.+))?$/);
282
341
  if (match) {
283
342
  const params = match[1].trim();
@@ -286,6 +345,59 @@ export class SnapshotGenerator {
286
345
  }
287
346
  return signature;
288
347
  }
348
+ /**
349
+ * 使用括號平衡算法解析簽章
350
+ * 正確處理巢狀泛型(如 Map<K, Fn<V>>)
351
+ */
352
+ parseSignatureWithBalancing(signature) {
353
+ // 找到第一個 '(' 的位置(跳過泛型參數 '<...>')
354
+ let depth = 0;
355
+ let parenStart = -1;
356
+ for (let i = 0; i < signature.length; i++) {
357
+ const char = signature[i];
358
+ if (char === '<') {
359
+ depth++;
360
+ }
361
+ else if (char === '>') {
362
+ depth--;
363
+ }
364
+ else if (char === '(' && depth === 0) {
365
+ parenStart = i;
366
+ break;
367
+ }
368
+ }
369
+ if (parenStart === -1) {
370
+ return null;
371
+ }
372
+ // 從 parenStart 開始,使用括號平衡找到對應的 ')'
373
+ depth = 0;
374
+ let parenEnd = -1;
375
+ for (let i = parenStart; i < signature.length; i++) {
376
+ const char = signature[i];
377
+ if (char === '(' || char === '<' || char === '{' || char === '[') {
378
+ depth++;
379
+ }
380
+ else if (char === ')' || char === '>' || char === '}' || char === ']') {
381
+ depth--;
382
+ if (depth === 0 && char === ')') {
383
+ parenEnd = i;
384
+ break;
385
+ }
386
+ }
387
+ }
388
+ if (parenEnd === -1) {
389
+ return null;
390
+ }
391
+ // 提取參數和回傳型別
392
+ const params = signature.substring(parenStart + 1, parenEnd).trim();
393
+ const afterParen = signature.substring(parenEnd + 1).trim();
394
+ // 解析回傳型別(跳過 ':' 後的部分)
395
+ let returnType = 'void';
396
+ if (afterParen.startsWith(':')) {
397
+ returnType = afterParen.substring(1).trim();
398
+ }
399
+ return params ? `(${params}) → ${returnType}` : `() → ${returnType}`;
400
+ }
289
401
  /**
290
402
  * 格式化 interface 欄位
291
403
  */
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAe,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAS3D;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACX,UAAU,CAAc;IACjC,YAAY,GAAgC,IAAI,CAAC;IAEzD,YAAY,UAAuB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEjD,IAAI,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,KAAa;QACzD,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;QACP,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,OAAO;QACP,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAEjD,aAAa;QACb,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,SAAS;QACT,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAC1C,SAAS,CAAC,QAAQ,EAClB,eAAmD,CACpD,CAAC;QAEF,OAAO;QACP,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,SAAS;YAC7B,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS;YACxC,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,QAAwB,EAAE,SAAiB;QACzE,MAAM,KAAK,GAAkB;YAC3B,KAAK,EAAE;gBACL,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC;oBAClC,CAAC,CAAC,QAAQ,CAAC,OAAO;oBAClB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE;gBACnC,OAAO,EAAE,EAAE;aACZ;YACD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACtC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,EAAE;YACf,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,UAAkB;QAC1C,4BAA4B;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAErE,IAAI,cAAc,EAAE,CAAC;YACnB,sBAAsB;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,aAAa,CAAC,OAAO,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,QAAQ;QACR,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QACrD,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE;YAC3C,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YACjD,eAAe,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,cAAc,CAAC;SACrE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;YAErD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE/C,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,WAAmB;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAmC,EAAE,CAAC;QAEnD,WAAW;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEvD,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3D,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,QAAgB;QAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;YAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAExB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE7D,iBAAiB;YACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CACvD,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,UAAU;YACV,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,UAAkB,EAAE,OAAiB,EAAE,WAAmB;QACpF,8CAA8C;QAC9C,MAAM,eAAe,GAAG,OAA2B,CAAC;QACpD,MAAM,GAAG,GAA2C,EAAE,CAAC;QACvD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,MAAM,WAAW,GAAgC,EAAE,CAAC;QAEpD,OAAO;QACP,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QAE5E,WAAW;QACX,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YAC1B,CAAC;YAED,SAAS;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;oBACtB,MAAM;oBACN,OAAO,EAAE,EAAE;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,eAAe;QACf,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACzE,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,GAAG;YACH,SAAS;YACT,KAAK;YACL,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAmB,EAAE,UAA4B;QACvE,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,kBAAkB;QAClB,0DAA0D;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ;eAC3B,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;eAClE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;eAChC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAE,iBAAiB;SAC/C,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAmB,EAAE,UAA4B;QACtE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,kBAAkB;QAClB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC;eAC/D,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,CAC9B,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAsB;QAClD,sBAAsB;QACtB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,IAAoB;QAClD,sBAAsB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,SAAiB;QACzC,mEAAmE;QACnE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;YAC9C,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,KAAa,EAAE,UAA4B;QACvE,sBAAsB;QACtB,kDAAkD;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC;eAC/D,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,WAAW;eAC7B,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI,CAChC,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,SAAS;QACT,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,SAAyB;QAC/C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,QAAQ,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"snapshot-generator.js","sourceRoot":"","sources":["../../../src/core/snapshot/snapshot-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAe,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAS3D;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACX,UAAU,CAAc;IACjC,YAAY,GAAgC,IAAI,CAAC;IAEzD,YAAY,UAAuB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEjD,IAAI,KAAK,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,KAAa;QACzD,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO;QACP,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,OAAO;QACP,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAEjD,aAAa;QACb,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,SAAS;QACT,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAC1C,SAAS,CAAC,QAAQ,EAClB,eAAmD,CACpD,CAAC;QAEF,OAAO;QACP,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,UAAU,CAAC,SAAS;YAC7B,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS;YACxC,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,QAAwB,EAAE,SAAiB;QACzE,MAAM,KAAK,GAAkB;YAC3B,KAAK,EAAE;gBACL,OAAO,EAAE,iBAAiB,CAAC,QAAQ,CAAC;oBAClC,CAAC,CAAC,QAAQ,CAAC,OAAO;oBAClB,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE;gBACnC,OAAO,EAAE,EAAE;aACZ;YACD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACtC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,EAAE;YACf,KAAK;SACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,UAAkB;QAC1C,4BAA4B;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAErE,IAAI,cAAc,EAAE,CAAC;YACnB,sBAAsB;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,aAAa,CAAC,OAAO,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,aAAa,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,QAAQ;QACR,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QACrD,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,EAAE;YAC3C,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YACjD,eAAe,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,cAAc,CAAC;SACrE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;YAErD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAE/C,0BAA0B;YAC1B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAEvE,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACtF,CAAC;gBAAS,CAAC;YACT,WAAW,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;QAElD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAE3D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAEtD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACzD,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAErD,IAAI,QAAQ,EAAE,CAAC;wBACb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gCAC/B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;4BAC9C,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,uBAAuB;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,WAAmB;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAmC,EAAE,CAAC;QAEnD,WAAW;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEvD,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3D,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CAAC,QAAgB;QAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;YAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAExB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE7D,iBAAiB;YACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACpC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CACvD,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACb,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,UAAU;YACV,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACK,mBAAmB,CACzB,UAAkB,EAClB,OAAiB,EACjB,WAAmB,EACnB,kBAA4C,IAAI,GAAG,EAAE;QAErD,8CAA8C;QAC9C,MAAM,eAAe,GAAG,OAA2B,CAAC;QACpD,MAAM,GAAG,GAA2C,EAAE,CAAC;QACvD,MAAM,SAAS,GAA2B,EAAE,CAAC;QAC7C,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,MAAM,WAAW,GAAgC,EAAE,CAAC;QAEpD,OAAO;QACP,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;QAE5E,WAAW;QACX,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YAC1B,CAAC;YAED,SAAS;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;oBACtB,MAAM;oBACN,OAAO,EAAE,EAAE;iBACZ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,yCAAyC;QACzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAErD,IAAI,aAAa,EAAE,CAAC;gBAClB,2BAA2B;gBAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxE,wCAAwC;gBACxC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,eAAe;QACf,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACzE,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,GAAG;YACH,SAAS;YACT,KAAK;YACL,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAmB,EAAE,UAA4B;QACvE,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,kBAAkB;QAClB,0DAA0D;QAC1D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ;eAC3B,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;eAClE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;eAChC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAE,iBAAiB;SAC/C,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAmB,EAAE,UAA4B;QACtE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,kBAAkB;QAClB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC;eAC/D,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,CAC9B,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,MAAsB;QAClD,sBAAsB;QACtB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,IAAoB;QAClD,sBAAsB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,SAAiB;QACzC,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;YAC9C,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,2BAA2B,CAAC,SAAiB;QACnD,gCAAgC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvC,UAAU,GAAG,CAAC,CAAC;gBACf,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,KAAK,GAAG,CAAC,CAAC;QACV,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAElB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjE,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxE,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBAChC,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,YAAY;QACZ,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5D,sBAAsB;QACtB,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,KAAa,EAAE,UAA4B;QACvE,sBAAsB;QACtB,kDAAkD;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAClC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC;eAC/D,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,WAAW;eAC7B,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI,CAChC,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,SAAS;QACT,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,SAAyB;QAC/C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC,QAAQ,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -111,17 +111,13 @@ export declare abstract class BaseParserPlugin implements ParserPlugin {
111
111
  */
112
112
  protected getFileExtension(filePath: string): string;
113
113
  /**
114
- * 檢查插件是否支援特定檔案
115
- */
116
- protected supportsFile(filePath: string): boolean;
117
114
  /**
118
115
  * 建立基本的 CodeEdit
119
116
  */
120
117
  protected createCodeEdit(filePath: string, range: Range, newText: string, editType?: 'rename' | 'extract' | 'inline' | 'format'): CodeEdit;
121
118
  /**
122
- * 安全執行異步操作
123
- */
124
- protected safeExecute<T>(operation: () => Promise<T>, defaultValue: T, context?: string): Promise<T>;
119
+ // ===== 檔案過濾支援 =====
120
+
125
121
  /**
126
122
  * 獲取預設的排除模式
127
123
  * 子類可以 override 此方法提供語言特定的排除模式
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAElG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;GAGG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAG5D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAIxD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAqB;IAIrC;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKlD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKrE;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAK3D;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKjF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKxE;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAK/E;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAK7D;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwB3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B;;OAEG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO;IAMrB;;OAEG;IACH,iBAAiB,IAAI,aAAa;IASlC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKpD;;OAEG;IACH,eAAe,IAAI,kBAAkB;IAYrC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAQjD;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAsB3C;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAU3C;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKnC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAI7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IASpC;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKpD;;;OAGG;IACH,SAAS,CAAC,cAAc,CACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GACpD,QAAQ;IAiBX;;;;;;OAMG;IACH,yBAAyB,IAAI,MAAM,EAAE;IAerC;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAiB3C;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAc9C;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAKtC"}
@@ -229,11 +229,6 @@ export class BaseParserPlugin {
229
229
  return lastDot === -1 ? '' : filePath.substring(lastDot);
230
230
  }
231
231
  /**
232
- * 檢查插件是否支援特定檔案
233
- */
234
- supportsFile(filePath) {
235
- return this.validateFilePath(filePath);
236
- }
237
232
  /**
238
233
  * 建立基本的 CodeEdit
239
234
  */
@@ -255,18 +250,8 @@ export class BaseParserPlugin {
255
250
  }
256
251
  }
257
252
  /**
258
- * 安全執行異步操作
259
- */
260
- async safeExecute(operation, defaultValue, context) {
261
- try {
262
- return await operation();
263
- }
264
- catch (error) {
265
- this.handleError(error, context);
266
- return defaultValue;
267
- }
268
- }
269
253
  // ===== 檔案過濾支援 =====
254
+
270
255
  /**
271
256
  * 獲取預設的排除模式
272
257
  * 子類可以 override 此方法提供語言特定的排除模式
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/base.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  * Parser 基礎設施統一匯出
3
3
  */
4
4
  export { ParserPlugin, isParserPlugin, supportsExtension, supportsLanguage, getFileExtension, findPluginForFile } from './interface.js';
5
+ export type { ImportDeclaration, ImportNamedSpecifier, FormattedSignature, FormattedParameter, Documentation, DocumentationTag, PatternInfo, PatternType, ScopedFindReferencesOptions, ScopedReference } from './interface.js';
6
+ export { ScopedReferenceKind } from './interface.js';
5
7
  export type { CodeEdit, Definition, Usage, ValidationResult, ParserOptions, ParserCapabilities, DefinitionKind, UsageKind, ValidationError as ParserValidationError, ValidationWarning } from './types.js';
6
8
  export { createCodeEdit, createDefinition, createUsage, createValidationResult, createValidationSuccess, createValidationFailure, isCodeEdit, isDefinition, isUsage, isValidationResult, isParserCapabilities } from './types.js';
7
9
  export type { UnusedCode, ComplexityMetrics, CodeFragment, DuplicationResult, DuplicationGroup, PatternMatch, TypeSafetyIssue, ErrorHandlingIssue, SecurityIssue, NamingIssue, TestCoverageResult } from './analysis-types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxI,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,IAAI,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC3M,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlO,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxI,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/N,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,IAAI,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC3M,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlO,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  // 匯出所有接口和型別
5
5
  export { isParserPlugin, supportsExtension, supportsLanguage, getFileExtension, findPluginForFile } from './interface.js';
6
+ export { ScopedReferenceKind } from './interface.js';
6
7
  export { createCodeEdit, createDefinition, createUsage, createValidationResult, createValidationSuccess, createValidationFailure, isCodeEdit, isDefinition, isUsage, isValidationResult, isParserCapabilities } from './types.js';
7
8
  // 匯出基礎實作
8
9
  export { BaseParserPlugin } from './base.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY;AACZ,OAAO,EAAgB,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExI,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAiBlO,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/parser/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY;AACZ,OAAO,EAAgB,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExI,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAiBlO,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,SAAS;AACT,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -4,6 +4,38 @@
4
4
  */
5
5
  import type { AST, Symbol, Reference, Dependency, Position, Range } from '../../shared/types/index.js';
6
6
  import type { CodeEdit, Definition, Usage, ValidationResult } from '../parser/types.js';
7
+ import type { Location } from '../../shared/types/core.js';
8
+ /**
9
+ * Named Import 中的符號資訊
10
+ */
11
+ export interface ImportNamedSpecifier {
12
+ /** 原始名稱(模組匯出的名稱) */
13
+ name: string;
14
+ /** 本地別名(如果有 as) */
15
+ alias?: string;
16
+ /** 是否為 type-only import(TypeScript) */
17
+ isTypeOnly?: boolean;
18
+ }
19
+ /**
20
+ * Import 宣告資訊
21
+ * 由 Parser 解析後返回的結構化 import 資訊
22
+ */
23
+ export interface ImportDeclaration {
24
+ /** 語句在檔案中的範圍(1-based) */
25
+ range: Range;
26
+ /** 模組路徑(e.g., './utils', 'lodash') */
27
+ moduleSpecifier: string;
28
+ /** 是否為 type-only import(TypeScript: import type { ... }) */
29
+ isTypeOnly: boolean;
30
+ /** Default import 的本地名稱(e.g., import Foo from ...) */
31
+ defaultImport?: string;
32
+ /** Namespace import 的本地名稱(e.g., import * as Foo from ...) */
33
+ namespaceImport?: string;
34
+ /** Named imports 列表(e.g., import { A, B as C } from ...) */
35
+ namedImports: ImportNamedSpecifier[];
36
+ /** 原始語句文字 */
37
+ rawStatement: string;
38
+ }
7
39
  /**
8
40
  * Parser 插件主介面
9
41
  * 所有 Parser 插件都必須實作此介面
@@ -109,6 +141,64 @@ export interface ParserPlugin {
109
141
  * @returns true 表示此檔案是測試檔案
110
142
  */
111
143
  isTestFile?(filePath: string): boolean;
144
+ /**
145
+ * 取得符號的完整宣告範圍(包含 JSDoc、裝飾器)
146
+ * 使用語言的 AST 精確解析,避免字串/註解中的括號干擾
147
+ * @param code 完整的檔案內容
148
+ * @param symbolName 符號名稱
149
+ * @param symbolType 符號類型
150
+ * @param startLine 符號開始行(1-based)
151
+ * @returns 完整宣告範圍,如果無法解析則返回 null(fallback 到字串匹配)
152
+ */
153
+ getFullDeclarationRange?(code: string, symbolName: string, symbolType: string, startLine: number): Range | null;
154
+ /**
155
+ * 解析程式碼中的所有 import 宣告
156
+ * 使用語言的 AST 精確解析,避免正則表達式的邊界問題
157
+ * @param code 完整的檔案內容
158
+ * @returns Import 宣告列表,如果 Parser 不支援則返回 null
159
+ */
160
+ getImportDeclarations?(code: string): ImportDeclaration[] | null;
161
+ /**
162
+ * 格式化函數簽章
163
+ * 使用 AST 精確解析函數簽章,正確處理複雜泛型巢狀(如 `Map<K, Fn<V>>`)
164
+ * @param code 完整的檔案內容
165
+ * @param functionName 函數名稱
166
+ * @param line 函數開始行(1-based)
167
+ * @returns 格式化後的簽章資訊,如果無法解析則返回 null(fallback 到正則匹配)
168
+ */
169
+ formatSignature?(code: string, functionName: string, line: number): FormattedSignature | null;
170
+ /**
171
+ * 提取符號的 JSDoc 文件註解
172
+ * 使用 AST 精確識別「真正屬於該節點的 JSDoc」,避免行號回掃的誤判問題
173
+ * @param code 完整的檔案內容
174
+ * @param symbolName 符號名稱
175
+ * @param symbolType 符號類型(function、class、variable 等)
176
+ * @param line 符號開始行(1-based)
177
+ * @returns 文件註解資訊,如果無法解析或無文件則返回 null(fallback 到行號回掃)
178
+ */
179
+ getDocumentation?(code: string, symbolName: string, symbolType: string, line: number): Documentation | null;
180
+ /**
181
+ * 識別程式碼中的設計模式
182
+ * 使用語義分析(如回傳型別分析)識別 factory、singleton 等模式
183
+ * @param code 完整的檔案內容
184
+ * @returns 識別到的設計模式列表,如果 Parser 不支援則返回 null
185
+ */
186
+ identifyPatterns?(code: string): PatternInfo[] | null;
187
+ /**
188
+ * 作用域感知的符號引用查找
189
+ * 使用語言的語義分析來精確匹配符號引用,區分不同類別的同名方法
190
+ *
191
+ * 此方法優於簡單的名稱匹配,因為它:
192
+ * 1. 使用語義分析確認引用屬於同一符號
193
+ * 2. 過濾掉註解和字串中的符號
194
+ * 3. 區分不同類別/作用域中的同名符號
195
+ *
196
+ * @param code 完整的檔案內容
197
+ * @param symbolName 要查找的符號名稱
198
+ * @param options 查找選項(可限定類別等)
199
+ * @returns 符號引用列表,如果 Parser 不支援則返回 null(fallback 到手動過濾)
200
+ */
201
+ findScopedReferences?(code: string, symbolName: string, options?: ScopedFindReferencesOptions): ScopedReference[] | null;
112
202
  }
113
203
  /**
114
204
  * Parser 插件型別守衛
@@ -123,6 +213,113 @@ export declare function supportsExtension(plugin: ParserPlugin, extension: strin
123
213
  * 檢查插件是否支援特定語言
124
214
  */
125
215
  export declare function supportsLanguage(plugin: ParserPlugin, language: string): boolean;
216
+ /**
217
+ * 作用域感知的符號引用查找選項
218
+ * 用於精確匹配特定類別/作用域中的符號引用
219
+ */
220
+ export interface ScopedFindReferencesOptions {
221
+ /** 限定符號所屬的類別名稱(用於區分不同類別的同名方法) */
222
+ readonly className?: string;
223
+ /** 是否包含符號定義本身 */
224
+ readonly includeDeclaration?: boolean;
225
+ /** 專案根目錄(用於跨檔案分析,可選) */
226
+ readonly projectRoot?: string;
227
+ }
228
+ /**
229
+ * 符號引用類型
230
+ * 描述引用是讀取、寫入還是呼叫
231
+ */
232
+ export declare enum ScopedReferenceKind {
233
+ /** 讀取引用(如變數讀取) */
234
+ Read = "read",
235
+ /** 寫入引用(如變數賦值) */
236
+ Write = "write",
237
+ /** 呼叫引用(如函式/方法呼叫) */
238
+ Call = "call"
239
+ }
240
+ /**
241
+ * 作用域感知的符號引用
242
+ * 由 Parser 語義分析後返回,確保精確匹配
243
+ */
244
+ export interface ScopedReference {
245
+ /** 引用位置 */
246
+ readonly location: Location;
247
+ /** 引用類型 */
248
+ readonly kind: ScopedReferenceKind;
249
+ /** 是否為精確匹配(已由 Parser 確認屬於同一符號) */
250
+ readonly isExactMatch: true;
251
+ /** 引用所在的容器名稱(如類別名、函式名) */
252
+ readonly containerName?: string;
253
+ }
254
+ /**
255
+ * 設計模式類型
256
+ */
257
+ export type PatternType = 'factory' | 'singleton' | 'builder' | 'decorator';
258
+ /**
259
+ * 設計模式識別資訊
260
+ * 由 Parser 使用語義分析(如回傳型別分析)後返回
261
+ */
262
+ export interface PatternInfo {
263
+ /** 設計模式類型 */
264
+ readonly type: PatternType;
265
+ /** 符號名稱(函數名、類別名等) */
266
+ readonly symbolName: string;
267
+ /** 識別信心度(0-1,1 表示完全確定) */
268
+ readonly confidence: number;
269
+ /** 額外的元資料 */
270
+ readonly metadata?: {
271
+ /** Factory 產生的型別(僅 factory 模式適用) */
272
+ readonly producedType?: string;
273
+ /** 其他模式特定資訊 */
274
+ readonly [key: string]: unknown;
275
+ };
276
+ }
277
+ /**
278
+ * JSDoc 標籤資訊
279
+ */
280
+ export interface DocumentationTag {
281
+ /** 標籤名稱(e.g., 'param', 'returns', 'example') */
282
+ readonly name: string;
283
+ /** 標籤文字內容 */
284
+ readonly text: string;
285
+ }
286
+ /**
287
+ * 文件註解
288
+ * 由 Parser 使用 AST 精確解析後返回
289
+ */
290
+ export interface Documentation {
291
+ /** 原始註解文字(包含完整 JSDoc 格式) */
292
+ readonly rawText: string;
293
+ /** 描述文字(移除 JSDoc 標籤後的主要描述) */
294
+ readonly description?: string;
295
+ /** JSDoc 標籤列表 */
296
+ readonly tags: readonly DocumentationTag[];
297
+ }
298
+ /**
299
+ * 函數參數資訊
300
+ */
301
+ export interface FormattedParameter {
302
+ /** 參數名稱 */
303
+ name: string;
304
+ /** 參數型別 */
305
+ type: string;
306
+ /** 是否為可選參數 */
307
+ optional: boolean;
308
+ /** 預設值(如果有) */
309
+ defaultValue?: string;
310
+ }
311
+ /**
312
+ * 格式化後的簽章資訊
313
+ * 由 Parser 使用 AST 精確解析後返回
314
+ */
315
+ export interface FormattedSignature {
316
+ /** 參數列表 */
317
+ parameters: FormattedParameter[];
318
+ /** 回傳型別 */
319
+ returnType: string;
320
+ /** 泛型參數(如果有) */
321
+ typeParameters?: string[];
322
+ }
126
323
  /**
127
324
  * 從檔案路徑獲取副檔名
128
325
  */
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAErG;;;GAGG;AACH,MAAM,WAAW,YAAY;IAG3B,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,WAAW;IACX,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,eAAe;IACf,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAEhD,cAAc;IACd,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IAI/C;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE/D;;;;OAIG;IACH,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAIrD;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE3E;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAIjE;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAIvD;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEtC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAIzB;;;;OAIG;IACH,yBAAyB,CAAC,IAAI,MAAM,EAAE,CAAC;IAEvC;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAI7C;;;;;;OAMG;IACH,qBAAqB,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhD;;;;OAIG;IACH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAyCpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEhF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,EAAE,MAAM,GACf,YAAY,GAAG,IAAI,CAUrB"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/parser/interface.ts"],"names":[],"mappings":"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"}