agent-ide 0.5.1 → 0.6.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 (127) hide show
  1. package/dist/core/change-signature/change-signature-service.d.ts.map +1 -1
  2. package/dist/core/change-signature/change-signature-service.js +5 -9
  3. package/dist/core/change-signature/change-signature-service.js.map +1 -1
  4. package/dist/core/change-signature/signature-parser.d.ts +0 -16
  5. package/dist/core/change-signature/signature-parser.d.ts.map +1 -1
  6. package/dist/core/change-signature/signature-parser.js +0 -109
  7. package/dist/core/change-signature/signature-parser.js.map +1 -1
  8. package/dist/core/dead-code/dead-code-detector.d.ts +63 -0
  9. package/dist/core/dead-code/dead-code-detector.d.ts.map +1 -0
  10. package/dist/core/dead-code/dead-code-detector.js +256 -0
  11. package/dist/core/dead-code/dead-code-detector.js.map +1 -0
  12. package/dist/core/dead-code/index.d.ts +8 -0
  13. package/dist/core/dead-code/index.d.ts.map +1 -0
  14. package/dist/core/dead-code/index.js +7 -0
  15. package/dist/core/dead-code/index.js.map +1 -0
  16. package/dist/core/dead-code/types.d.ts +68 -0
  17. package/dist/core/dead-code/types.d.ts.map +1 -0
  18. package/dist/core/dead-code/types.js +20 -0
  19. package/dist/core/dead-code/types.js.map +1 -0
  20. package/dist/core/dependency/dependency-analyzer.d.ts.map +1 -1
  21. package/dist/core/dependency/dependency-analyzer.js +2 -15
  22. package/dist/core/dependency/dependency-analyzer.js.map +1 -1
  23. package/dist/core/indexing/index-engine.d.ts.map +1 -1
  24. package/dist/core/indexing/index-engine.js +0 -12
  25. package/dist/core/indexing/index-engine.js.map +1 -1
  26. package/dist/core/indexing/types.d.ts +1 -1
  27. package/dist/core/indexing/types.js +1 -1
  28. package/dist/core/indexing/types.js.map +1 -1
  29. package/dist/core/move-file/import-resolver.d.ts +1 -1
  30. package/dist/core/move-file/import-resolver.d.ts.map +1 -1
  31. package/dist/core/move-file/import-resolver.js +1 -9
  32. package/dist/core/move-file/import-resolver.js.map +1 -1
  33. package/dist/core/move-file/move-service.d.ts +8 -0
  34. package/dist/core/move-file/move-service.d.ts.map +1 -1
  35. package/dist/core/move-file/move-service.js +102 -21
  36. package/dist/core/move-file/move-service.js.map +1 -1
  37. package/dist/core/move-member/member-extractor.d.ts +0 -8
  38. package/dist/core/move-member/member-extractor.d.ts.map +1 -1
  39. package/dist/core/move-member/member-extractor.js +0 -49
  40. package/dist/core/move-member/member-extractor.js.map +1 -1
  41. package/dist/core/move-member/move-member-service.js +1 -1
  42. package/dist/core/move-member/move-member-service.js.map +1 -1
  43. package/dist/core/snapshot/index.d.ts +2 -0
  44. package/dist/core/snapshot/index.d.ts.map +1 -1
  45. package/dist/core/snapshot/index.js +1 -0
  46. package/dist/core/snapshot/index.js.map +1 -1
  47. package/dist/core/snapshot/snapshot-cache.d.ts +103 -0
  48. package/dist/core/snapshot/snapshot-cache.d.ts.map +1 -0
  49. package/dist/core/snapshot/snapshot-cache.js +249 -0
  50. package/dist/core/snapshot/snapshot-cache.js.map +1 -0
  51. package/dist/core/snapshot/snapshot-generator.d.ts +12 -0
  52. package/dist/core/snapshot/snapshot-generator.d.ts.map +1 -1
  53. package/dist/core/snapshot/snapshot-generator.js +61 -3
  54. package/dist/core/snapshot/snapshot-generator.js.map +1 -1
  55. package/dist/infrastructure/formatters/index.d.ts +1 -1
  56. package/dist/infrastructure/formatters/index.d.ts.map +1 -1
  57. package/dist/infrastructure/formatters/index.js.map +1 -1
  58. package/dist/infrastructure/formatters/query-formatter.d.ts +16 -0
  59. package/dist/infrastructure/formatters/query-formatter.d.ts.map +1 -1
  60. package/dist/infrastructure/formatters/query-formatter.js +155 -3
  61. package/dist/infrastructure/formatters/query-formatter.js.map +1 -1
  62. package/dist/infrastructure/formatters/query-types.d.ts +73 -2
  63. package/dist/infrastructure/formatters/query-types.d.ts.map +1 -1
  64. package/dist/interfaces/cli/cli.d.ts.map +1 -1
  65. package/dist/interfaces/cli/cli.js +2 -29
  66. package/dist/interfaces/cli/cli.js.map +1 -1
  67. package/dist/interfaces/cli/commands/deadcode.command.d.ts +11 -0
  68. package/dist/interfaces/cli/commands/deadcode.command.d.ts.map +1 -0
  69. package/dist/interfaces/cli/commands/deadcode.command.js +103 -0
  70. package/dist/interfaces/cli/commands/deadcode.command.js.map +1 -0
  71. package/dist/interfaces/cli/commands/index.d.ts +1 -0
  72. package/dist/interfaces/cli/commands/index.d.ts.map +1 -1
  73. package/dist/interfaces/cli/commands/index.js +1 -0
  74. package/dist/interfaces/cli/commands/index.js.map +1 -1
  75. package/dist/interfaces/cli/commands/move.command.js +1 -1
  76. package/dist/interfaces/cli/commands/move.command.js.map +1 -1
  77. package/dist/interfaces/cli/commands/rename.command.js +2 -3
  78. package/dist/interfaces/cli/commands/rename.command.js.map +1 -1
  79. package/dist/interfaces/cli/commands/snapshot.command.d.ts.map +1 -1
  80. package/dist/interfaces/cli/commands/snapshot.command.js +20 -0
  81. package/dist/interfaces/cli/commands/snapshot.command.js.map +1 -1
  82. package/package.json +10 -12
  83. package/dist/plugins/python/dependency-analyzer.d.ts +0 -86
  84. package/dist/plugins/python/dependency-analyzer.d.ts.map +0 -1
  85. package/dist/plugins/python/dependency-analyzer.js +0 -252
  86. package/dist/plugins/python/dependency-analyzer.js.map +0 -1
  87. package/dist/plugins/python/index.d.ts +0 -9
  88. package/dist/plugins/python/index.d.ts.map +0 -1
  89. package/dist/plugins/python/index.js +0 -14
  90. package/dist/plugins/python/index.js.map +0 -1
  91. package/dist/plugins/python/parser.d.ts +0 -117
  92. package/dist/plugins/python/parser.d.ts.map +0 -1
  93. package/dist/plugins/python/parser.js +0 -414
  94. package/dist/plugins/python/parser.js.map +0 -1
  95. package/dist/plugins/python/symbol-extractor.d.ts +0 -108
  96. package/dist/plugins/python/symbol-extractor.d.ts.map +0 -1
  97. package/dist/plugins/python/symbol-extractor.js +0 -389
  98. package/dist/plugins/python/symbol-extractor.js.map +0 -1
  99. package/dist/plugins/python/tree-sitter-bridge.d.ts +0 -57
  100. package/dist/plugins/python/tree-sitter-bridge.d.ts.map +0 -1
  101. package/dist/plugins/python/tree-sitter-bridge.js +0 -269
  102. package/dist/plugins/python/tree-sitter-bridge.js.map +0 -1
  103. package/dist/plugins/python/types.d.ts +0 -191
  104. package/dist/plugins/python/types.d.ts.map +0 -1
  105. package/dist/plugins/python/types.js +0 -279
  106. package/dist/plugins/python/types.js.map +0 -1
  107. package/dist/plugins/swift/dependency-analyzer.d.ts +0 -33
  108. package/dist/plugins/swift/dependency-analyzer.d.ts.map +0 -1
  109. package/dist/plugins/swift/dependency-analyzer.js +0 -95
  110. package/dist/plugins/swift/dependency-analyzer.js.map +0 -1
  111. package/dist/plugins/swift/index.d.ts +0 -14
  112. package/dist/plugins/swift/index.d.ts.map +0 -1
  113. package/dist/plugins/swift/index.js +0 -19
  114. package/dist/plugins/swift/index.js.map +0 -1
  115. package/dist/plugins/swift/parser.d.ts +0 -164
  116. package/dist/plugins/swift/parser.d.ts.map +0 -1
  117. package/dist/plugins/swift/parser.js +0 -688
  118. package/dist/plugins/swift/parser.js.map +0 -1
  119. package/dist/plugins/swift/swift-bridge/swift-parser +0 -0
  120. package/dist/plugins/swift/symbol-extractor.d.ts +0 -46
  121. package/dist/plugins/swift/symbol-extractor.d.ts.map +0 -1
  122. package/dist/plugins/swift/symbol-extractor.js +0 -187
  123. package/dist/plugins/swift/symbol-extractor.js.map +0 -1
  124. package/dist/plugins/swift/types.d.ts +0 -149
  125. package/dist/plugins/swift/types.d.ts.map +0 -1
  126. package/dist/plugins/swift/types.js +0 -251
  127. package/dist/plugins/swift/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/formatters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/formatters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/formatters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EAYf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EAGvB,MAAM,wBAAwB,CAAC;AAEhC,oCAAoC;AACpC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EAkBZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,oBAAoB,EAErB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/formatters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EAYf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAElF,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EAGvB,MAAM,wBAAwB,CAAC;AAEhC,oCAAoC;AACpC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EAoBZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,oBAAoB,EAErB,MAAM,sBAAsB,CAAC"}
@@ -43,10 +43,26 @@ export declare class QueryFormatter {
43
43
  * 格式化 Analyze 摘要
44
44
  */
45
45
  private formatAnalyzeSummary;
46
+ /**
47
+ * 格式化 DeadCode 摘要
48
+ */
49
+ private formatDeadCodeSummary;
50
+ /**
51
+ * 取得類型標籤
52
+ */
53
+ private getTypeLabel;
54
+ /**
55
+ * 取得 Dead Code 圖示
56
+ */
57
+ private getDeadCodeIcon;
46
58
  /**
47
59
  * 格式化 Snapshot 摘要
48
60
  */
49
61
  private formatSnapshotSummary;
62
+ /**
63
+ * 格式化增量快照摘要
64
+ */
65
+ private formatIncrementalSnapshotSummary;
50
66
  /**
51
67
  * 格式化 FindReferences 摘要
52
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query-formatter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/formatters/query-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,KAAK,WAAW,EAYjB,MAAM,kBAAkB,CAAC;AAqB1B,wBAAwB;AACxB,MAAM,WAAW,qBAAqB;IACpC,eAAe;IACf,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,WAAW;AACX,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAIxD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,GAAG,MAAM;IAO9D;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAInC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAmBtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAyCnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0DlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,QAAQ;CAIjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,cAAc,CAKjG"}
1
+ {"version":3,"file":"query-formatter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/formatters/query-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,KAAK,WAAW,EAcjB,MAAM,kBAAkB,CAAC;AAqB1B,wBAAwB;AACxB,MAAM,WAAW,qBAAqB;IACpC,eAAe;IACf,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,WAAW;AACX,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAIxD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,GAAG,MAAM;IAO9D;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAInC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAoBtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0D7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+B7B;;OAEG;IACH,OAAO,CAAC,gCAAgC;IA+DxC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAyCnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0DlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,QAAQ;CAIjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAAG,cAAc,CAKjG"}
@@ -2,7 +2,7 @@
2
2
  * 唯讀命令格式化器
3
3
  * 提供 json 和 summary 兩種輸出格式
4
4
  */
5
- import { QueryCommand, IssueSeverity } from './query-types.js';
5
+ import { QueryCommand, IssueSeverity, AnalyzeType } from './query-types.js';
6
6
  /** ANSI 顏色碼 */
7
7
  const Colors = {
8
8
  reset: '\x1b[0m',
@@ -66,9 +66,10 @@ export class QueryFormatter {
66
66
  return this.formatFindReferencesSummary(result);
67
67
  case QueryCommand.CallHierarchy:
68
68
  return this.formatCallHierarchySummary(result);
69
- default:
70
- return this.formatDefaultSummary(result);
71
69
  }
70
+ // Exhaustive check: 編譯時確保所有 QueryCommand 都被處理
71
+ const _exhaustiveCheck = result.command;
72
+ return this.formatDefaultSummary({ ...result, command: _exhaustiveCheck });
72
73
  }
73
74
  /**
74
75
  * 格式化 Search 摘要
@@ -131,6 +132,10 @@ export class QueryFormatter {
131
132
  * 格式化 Analyze 摘要
132
133
  */
133
134
  formatAnalyzeSummary(result) {
135
+ // 特殊處理 DeadCode 類型
136
+ if (result.analyzeType === AnalyzeType.DeadCode) {
137
+ return this.formatDeadCodeSummary(result);
138
+ }
134
139
  const lines = [];
135
140
  lines.push(`分析類型: ${result.analyzeType}`);
136
141
  lines.push(`成功: ${result.success ? '是' : '否'}`);
@@ -152,11 +157,98 @@ export class QueryFormatter {
152
157
  }
153
158
  return lines.join('\n');
154
159
  }
160
+ /**
161
+ * 格式化 DeadCode 摘要
162
+ */
163
+ formatDeadCodeSummary(result) {
164
+ const lines = [];
165
+ // 標題
166
+ lines.push('🔍 Dead Code 檢測結果');
167
+ lines.push('');
168
+ // 統計
169
+ lines.push(`📊 掃描符號: ${result.summary.totalScanned || 0}`);
170
+ lines.push(`💀 Dead Code: ${result.items.length} 個`);
171
+ lines.push(`📁 影響檔案: ${result.filesAffected} 個`);
172
+ lines.push(`⏱️ 耗時: ${result.scanTime}ms`);
173
+ if (result.skippedFiles > 0) {
174
+ lines.push(this.colorize(`⚠️ 跳過檔案: ${result.skippedFiles} 個(解析失敗)`, Colors.yellow));
175
+ }
176
+ lines.push('');
177
+ // 按類型統計
178
+ if (Object.keys(result.byType).length > 0) {
179
+ lines.push('按類型統計:');
180
+ for (const [type, count] of Object.entries(result.byType)) {
181
+ const label = this.getTypeLabel(type);
182
+ lines.push(` ${label}: ${count}`);
183
+ }
184
+ lines.push('');
185
+ }
186
+ // Dead code 列表
187
+ if (result.items.length > 0) {
188
+ lines.push('Dead Code 列表:');
189
+ // 按檔案分組
190
+ const byFile = new Map();
191
+ result.items.forEach(item => {
192
+ const list = byFile.get(item.file) || [];
193
+ list.push(item);
194
+ byFile.set(item.file, list);
195
+ });
196
+ for (const [file, items] of byFile) {
197
+ lines.push(` ${this.colorize(file, Colors.cyan)}`);
198
+ items.slice(0, 10).forEach(item => {
199
+ const icon = this.getDeadCodeIcon(item.type);
200
+ const conf = Math.round(item.confidence * 100);
201
+ lines.push(` ${icon} L${item.line}: ${item.name} (${item.type}, ${conf}%)`);
202
+ lines.push(` ${this.colorize(item.reason, Colors.dim)}`);
203
+ });
204
+ if (items.length > 10) {
205
+ lines.push(` ... 還有 ${items.length - 10} 個`);
206
+ }
207
+ }
208
+ }
209
+ else {
210
+ lines.push(this.colorize('✅ 未發現 Dead Code', Colors.green));
211
+ }
212
+ return lines.join('\n');
213
+ }
214
+ /**
215
+ * 取得類型標籤
216
+ */
217
+ getTypeLabel(type) {
218
+ const labels = {
219
+ function: '函式',
220
+ class: '類別',
221
+ variable: '變數',
222
+ interface: '介面',
223
+ type: '型別',
224
+ property: '屬性',
225
+ method: '方法',
226
+ enum: '列舉',
227
+ constant: '常數'
228
+ };
229
+ return labels[type] || type;
230
+ }
231
+ /**
232
+ * 取得 Dead Code 圖示
233
+ */
234
+ getDeadCodeIcon(type) {
235
+ switch (type) {
236
+ case 'function': return '⚡';
237
+ case 'class': return '📦';
238
+ case 'variable': return '📌';
239
+ case 'interface': return '📋';
240
+ case 'type': return '🏷️';
241
+ default: return '💀';
242
+ }
243
+ }
155
244
  /**
156
245
  * 格式化 Snapshot 摘要
157
246
  */
158
247
  formatSnapshotSummary(result) {
159
248
  const lines = [];
249
+ if (result.snapshotType === 'incremental') {
250
+ return this.formatIncrementalSnapshotSummary(result.snapshot);
251
+ }
160
252
  if (result.snapshotType === 'project') {
161
253
  const snapshot = result.snapshot;
162
254
  lines.push(`📦 專案: ${snapshot.project}`);
@@ -179,6 +271,66 @@ export class QueryFormatter {
179
271
  }
180
272
  return lines.join('\n');
181
273
  }
274
+ /**
275
+ * 格式化增量快照摘要
276
+ */
277
+ formatIncrementalSnapshotSummary(snapshot) {
278
+ const lines = [];
279
+ const { delta } = snapshot;
280
+ lines.push(`📦 增量快照 (Version: ${snapshot.version})`);
281
+ if (snapshot.baseVersion) {
282
+ lines.push(`🔖 基準版本: ${snapshot.baseVersion}`);
283
+ }
284
+ else {
285
+ lines.push('🔖 基準版本: (初始快照)');
286
+ }
287
+ lines.push('');
288
+ // 新增
289
+ const addedModules = Object.keys(delta.added.modules).length;
290
+ const addedSymbols = delta.added.symbols.length;
291
+ if (addedModules > 0 || addedSymbols > 0) {
292
+ lines.push(this.colorize(`✨ 新增: ${addedModules} 個模組, ${addedSymbols} 個符號`, Colors.green));
293
+ for (const [name, mod] of Object.entries(delta.added.modules)) {
294
+ lines.push(` 📂 模組 ${name} (+${Object.keys(mod.api).length} APIs)`);
295
+ }
296
+ for (const sym of delta.added.symbols) {
297
+ lines.push(` ➕ ${sym.type} ${sym.module}.${sym.name}`);
298
+ }
299
+ lines.push('');
300
+ }
301
+ // 修改
302
+ const modModules = delta.modified.modules.length;
303
+ const modSymbols = delta.modified.symbols.length;
304
+ if (modModules > 0 || modSymbols > 0) {
305
+ lines.push(this.colorize(`📝 修改: ${modModules} 個模組, ${modSymbols} 個符號`, Colors.yellow));
306
+ for (const mod of delta.modified.modules) {
307
+ lines.push(` 📂 模組 ${mod}`);
308
+ }
309
+ for (const sym of delta.modified.symbols) {
310
+ lines.push(` ✏️ ${sym.type} ${sym.module}.${sym.name}`);
311
+ }
312
+ lines.push('');
313
+ }
314
+ // 刪除
315
+ const delModules = delta.removed.modules.length;
316
+ const delSymbols = delta.removed.symbols.length;
317
+ if (delModules > 0 || delSymbols > 0) {
318
+ lines.push(this.colorize(`🗑️ 刪除: ${delModules} 個模組, ${delSymbols} 個符號`, Colors.red));
319
+ for (const mod of delta.removed.modules) {
320
+ lines.push(` 📂 模組 ${mod}`);
321
+ }
322
+ for (const sym of delta.removed.symbols) {
323
+ lines.push(` ➖ ${sym.type} ${sym.module}.${sym.name}`);
324
+ }
325
+ lines.push('');
326
+ }
327
+ if (addedModules === 0 && addedSymbols === 0 &&
328
+ modModules === 0 && modSymbols === 0 &&
329
+ delModules === 0 && delSymbols === 0) {
330
+ lines.push(this.colorize('✅ 沒有變更', Colors.dim));
331
+ }
332
+ return lines.join('\n');
333
+ }
182
334
  /**
183
335
  * 格式化 FindReferences 摘要
184
336
  */
@@ -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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"}
@@ -145,13 +145,51 @@ export interface ProjectSnapshotData {
145
145
  /** 模組快照 */
146
146
  modules: Record<string, ModuleSnapshotData>;
147
147
  }
148
+ /** 增量快照差異符號 */
149
+ export interface DeltaSymbolData {
150
+ /** 所屬模組 */
151
+ module: string;
152
+ /** 符號名稱 */
153
+ name: string;
154
+ /** 簽章(新增/修改時) */
155
+ signature?: string;
156
+ /** 符號類型 */
157
+ type: 'class' | 'function' | 'interface' | 'type' | 'factory';
158
+ }
159
+ /** 增量快照差異 */
160
+ export interface SnapshotDeltaData {
161
+ /** 新增的內容 */
162
+ added: {
163
+ modules: Record<string, ModuleSnapshotData>;
164
+ symbols: DeltaSymbolData[];
165
+ };
166
+ /** 修改的內容 */
167
+ modified: {
168
+ modules: string[];
169
+ symbols: DeltaSymbolData[];
170
+ };
171
+ /** 刪除的內容 */
172
+ removed: {
173
+ modules: string[];
174
+ symbols: DeltaSymbolData[];
175
+ };
176
+ }
177
+ /** 增量快照資料 */
178
+ export interface IncrementalSnapshotData {
179
+ /** 當前版本時間戳 */
180
+ version: string;
181
+ /** 基準版本時間戳(首次為空) */
182
+ baseVersion: string;
183
+ /** 變更內容 */
184
+ delta: SnapshotDeltaData;
185
+ }
148
186
  /** Snapshot 結果 */
149
187
  export interface SnapshotResult extends QueryResult {
150
188
  command: QueryCommand.Snapshot;
151
189
  /** 快照類型 */
152
- snapshotType: 'module' | 'project';
190
+ snapshotType: 'module' | 'project' | 'incremental';
153
191
  /** 快照資料 */
154
- snapshot: ModuleSnapshotData | ProjectSnapshotData;
192
+ snapshot: ModuleSnapshotData | ProjectSnapshotData | IncrementalSnapshotData;
155
193
  }
156
194
  /** 引用類型 */
157
195
  export type ReferenceType = 'definition' | 'usage' | 'import' | 'export';
@@ -235,4 +273,37 @@ export interface CallHierarchyResult extends QueryResult {
235
273
  /** 被呼叫者列表(此函數呼叫了誰) */
236
274
  outgoing: OutgoingCallItem[];
237
275
  }
276
+ /** Dead Code 項目 */
277
+ export interface DeadCodeResultItem {
278
+ /** 符號名稱 */
279
+ name: string;
280
+ /** 符號類型 */
281
+ type: string;
282
+ /** 檔案路徑 */
283
+ file: string;
284
+ /** 行號 */
285
+ line: number;
286
+ /** 欄位 */
287
+ column?: number;
288
+ /** 信心程度(0-1) */
289
+ confidence: number;
290
+ /** 原因說明 */
291
+ reason: string;
292
+ }
293
+ /** DeadCode 結果 */
294
+ export interface DeadCodeResult extends QueryResult {
295
+ command: QueryCommand.Analyze;
296
+ /** 分析類型 */
297
+ analyzeType: AnalyzeType.DeadCode;
298
+ /** Dead code 項目列表 */
299
+ items: DeadCodeResultItem[];
300
+ /** 按類型統計 */
301
+ byType: Record<string, number>;
302
+ /** 影響的檔案數 */
303
+ filesAffected: number;
304
+ /** 掃描耗時(毫秒) */
305
+ scanTime: number;
306
+ /** 跳過的檔案數(解析失敗) */
307
+ skippedFiles: number;
308
+ }
238
309
  //# sourceMappingURL=query-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-types.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/formatters/query-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-types.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/formatters/query-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AA8BhF,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,UAAU,CAAc;IAEhC;;;OAGG;gBACS,UAAU,CAAC,EAAE,WAAW;IAQpC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW;IAI7D;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,CAAC,iBAAiB;IA2EzB,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/interfaces/cli/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AA+BhF,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,UAAU,CAAc;IAEhC;;;OAGG;gBACS,UAAU,CAAC,EAAE,WAAW;IAQpC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW;IAI7D;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,CAAC,iBAAiB;IAkDzB,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
@@ -6,10 +6,8 @@ import { Command } from 'commander';
6
6
  import { ParserRegistry } from '../../infrastructure/parser/registry.js';
7
7
  import { TypeScriptParser } from '../../plugins/typescript/parser.js';
8
8
  import { JavaScriptParser } from '../../plugins/javascript/parser.js';
9
- import { SwiftParser } from '../../plugins/swift/parser.js';
10
- import { PythonParser } from '../../plugins/python/parser.js';
11
9
  import { FileSystem } from '../../infrastructure/storage/index.js';
12
- import { setupMoveCommand, setupMoveMemberCommand, setupRenameCommand, setupChangeSignatureCommand, setupCyclesCommand, setupImpactCommand, setupSnapshotCommand, setupFindReferencesCommand, setupCallHierarchyCommand } from '../cli/commands/index.js';
10
+ import { setupMoveCommand, setupMoveMemberCommand, setupRenameCommand, setupChangeSignatureCommand, setupCyclesCommand, setupImpactCommand, setupSnapshotCommand, setupFindReferencesCommand, setupCallHierarchyCommand, setupDeadCodeCommand } from '../cli/commands/index.js';
13
11
  import { readFileSync } from 'fs';
14
12
  import * as path from 'path';
15
13
  import { fileURLToPath } from 'url';
@@ -92,32 +90,6 @@ export class AgentIdeCLI {
92
90
  console.debug('JavaScript parser loading failed:', jsError);
93
91
  console.debug('JavaScript Parser initialization warning:', jsError);
94
92
  }
95
- // 嘗試註冊內建的 Swift Parser
96
- try {
97
- // 解析 Swift CLI Bridge 路徑
98
- const swiftBridgePath = path.resolve(__dirname, '../../plugins/swift/swift-bridge/swift-parser');
99
- const swiftParser = new SwiftParser(swiftBridgePath);
100
- if (!registry.getParserByName('swift')) {
101
- registry.register(swiftParser);
102
- }
103
- }
104
- catch (swiftError) {
105
- // 如果 Swift Parser 載入失敗,記錄錯誤
106
- console.debug('Swift parser loading failed:', swiftError);
107
- console.debug('Swift Parser initialization warning:', swiftError);
108
- }
109
- // 嘗試註冊內建的 Python Parser
110
- try {
111
- const pythonParser = new PythonParser();
112
- if (!registry.getParserByName('python')) {
113
- registry.register(pythonParser);
114
- }
115
- }
116
- catch (pythonError) {
117
- // 如果 Python Parser 載入失敗,記錄錯誤
118
- console.debug('Python parser loading failed:', pythonError);
119
- console.debug('Python Parser initialization warning:', pythonError);
120
- }
121
93
  }
122
94
  catch (error) {
123
95
  // 靜默處理初始化錯誤,避免影響 CLI 啟動
@@ -141,6 +113,7 @@ export class AgentIdeCLI {
141
113
  setupSnapshotCommand(this.program, context);
142
114
  setupFindReferencesCommand(this.program, context);
143
115
  setupCallHierarchyCommand(this.program, context);
116
+ setupDeadCodeCommand(this.program, context);
144
117
  }
145
118
  /**
146
119
  * 建立命令共用 Context
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/interfaces/cli/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/interfaces/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * deadcode 命令
3
+ * 檢測未使用的程式碼
4
+ */
5
+ import type { Command } from 'commander';
6
+ import type { CommandContext } from '../../cli/commands/types.js';
7
+ /**
8
+ * 設定 deadcode 命令
9
+ */
10
+ export declare function setupDeadCodeCommand(program: Command, context: CommandContext): void;
11
+ //# sourceMappingURL=deadcode.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deadcode.command.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/cli/commands/deadcode.command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AASxE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAUpF"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * deadcode 命令
3
+ * 檢測未使用的程式碼
4
+ */
5
+ import { IndexEngine, createIndexConfig, CLI_INDEX_DEFAULTS } from '../../../core/indexing/index.js';
6
+ import { createDeadCodeDetector } from '../../../core/dead-code/index.js';
7
+ import { ParserRegistry } from '../../../infrastructure/parser/registry.js';
8
+ import { QueryCommand, AnalyzeType } from '../../../infrastructure/formatters/index.js';
9
+ import { createUnifiedOutputHandler, parseOutputFormat, OutputFormat } from '../../cli/unified-output-handler.js';
10
+ /**
11
+ * 設定 deadcode 命令
12
+ */
13
+ export function setupDeadCodeCommand(program, context) {
14
+ program
15
+ .command('deadcode')
16
+ .description('檢測未使用的程式碼(dead code)')
17
+ .option('-p, --path <path>', '專案路徑', '.')
18
+ .option('--format <format>', '輸出格式 (json|summary)', 'summary')
19
+ .option('--include-exports', '包含 export 的符號(預設排除)', false)
20
+ .action(async (options) => {
21
+ await handleDeadCodeCommand(options, context);
22
+ });
23
+ }
24
+ /**
25
+ * 處理 deadcode 命令
26
+ */
27
+ async function handleDeadCodeCommand(options, context) {
28
+ const outputHandler = createUnifiedOutputHandler();
29
+ let format;
30
+ try {
31
+ format = parseOutputFormat(options.format, false);
32
+ }
33
+ catch {
34
+ outputHandler.outputError('不支援的輸出格式。可用格式: json, summary', OutputFormat.Summary);
35
+ process.exitCode = 1;
36
+ throw new Error('不支援的輸出格式');
37
+ }
38
+ if (format !== OutputFormat.Json) {
39
+ console.log('🔍 檢測 Dead Code...');
40
+ }
41
+ const projectPath = options.path || process.cwd();
42
+ // 檢查路徑是否存在
43
+ const exists = await context.fileSystem.exists(projectPath);
44
+ if (!exists) {
45
+ outputHandler.outputError(`路徑不存在: ${projectPath}`, format);
46
+ process.exitCode = 1;
47
+ throw new Error(`路徑不存在: ${projectPath}`);
48
+ }
49
+ // 建立索引引擎
50
+ const indexConfig = createIndexConfig(projectPath, CLI_INDEX_DEFAULTS);
51
+ const indexEngine = new IndexEngine(indexConfig, context.fileSystem);
52
+ try {
53
+ // 索引專案
54
+ await indexEngine.indexProject(projectPath);
55
+ // 建立 Dead Code 檢測器
56
+ const parserRegistry = ParserRegistry.getInstance();
57
+ const detector = createDeadCodeDetector(indexEngine, parserRegistry, context.fileSystem, {
58
+ includeExports: options.includeExports
59
+ });
60
+ // 執行檢測
61
+ const detectionResult = await detector.detect();
62
+ if (!detectionResult.success) {
63
+ outputHandler.outputError(`檢測失敗: ${detectionResult.error}`, format);
64
+ process.exitCode = 1;
65
+ return;
66
+ }
67
+ // 轉換為輸出格式
68
+ const items = detectionResult.items.map(item => ({
69
+ name: item.name,
70
+ type: item.type,
71
+ file: item.location.filePath,
72
+ line: item.location.range.start.line,
73
+ column: item.location.range.start.column,
74
+ confidence: item.confidence,
75
+ reason: item.reason
76
+ }));
77
+ // 組裝結果
78
+ const result = {
79
+ command: QueryCommand.Analyze,
80
+ analyzeType: AnalyzeType.DeadCode,
81
+ success: true,
82
+ items,
83
+ byType: detectionResult.stats.byType,
84
+ filesAffected: detectionResult.stats.filesAffected,
85
+ scanTime: detectionResult.stats.scanTime,
86
+ skippedFiles: detectionResult.stats.skippedFiles,
87
+ summary: {
88
+ totalScanned: detectionResult.stats.totalSymbols,
89
+ issuesFound: detectionResult.stats.deadCodeCount
90
+ }
91
+ };
92
+ outputHandler.outputQuery(result, format);
93
+ }
94
+ catch (error) {
95
+ const errorMessage = error instanceof Error ? error.message : String(error);
96
+ outputHandler.outputError(`檢測失敗: ${errorMessage}`, format);
97
+ process.exitCode = 1;
98
+ }
99
+ finally {
100
+ indexEngine.dispose();
101
+ }
102
+ }
103
+ //# sourceMappingURL=deadcode.command.js.map