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,251 +0,0 @@
1
- /**
2
- * Swift Parser 型別定義
3
- */
4
- import { SymbolType } from '../../shared/types/index.js';
5
- /**
6
- * Swift 節點類型
7
- */
8
- export var SwiftNodeKind;
9
- (function (SwiftNodeKind) {
10
- SwiftNodeKind["SourceFile"] = "SourceFile";
11
- SwiftNodeKind["Class"] = "ClassDecl";
12
- SwiftNodeKind["Struct"] = "StructDecl";
13
- SwiftNodeKind["Protocol"] = "ProtocolDecl";
14
- SwiftNodeKind["Enum"] = "EnumDecl";
15
- SwiftNodeKind["Function"] = "FuncDecl";
16
- SwiftNodeKind["Variable"] = "VariableDecl";
17
- SwiftNodeKind["Constant"] = "LetDecl";
18
- SwiftNodeKind["TypeAlias"] = "TypeAliasDecl";
19
- SwiftNodeKind["Extension"] = "ExtensionDecl";
20
- SwiftNodeKind["Property"] = "PropertyDecl";
21
- SwiftNodeKind["Method"] = "MethodDecl";
22
- SwiftNodeKind["Import"] = "ImportDecl";
23
- SwiftNodeKind["Parameter"] = "ParamDecl";
24
- SwiftNodeKind["Unknown"] = "Unknown";
25
- })(SwiftNodeKind || (SwiftNodeKind = {}));
26
- /**
27
- * Swift 存取層級
28
- */
29
- export var SwiftAccessLevel;
30
- (function (SwiftAccessLevel) {
31
- SwiftAccessLevel["Open"] = "open";
32
- SwiftAccessLevel["Public"] = "public";
33
- SwiftAccessLevel["Internal"] = "internal";
34
- SwiftAccessLevel["FilePrivate"] = "fileprivate";
35
- SwiftAccessLevel["Private"] = "private";
36
- })(SwiftAccessLevel || (SwiftAccessLevel = {}));
37
- /**
38
- * Swift Parser 錯誤
39
- */
40
- export class SwiftParseError extends Error {
41
- diagnostics;
42
- constructor(message, diagnostics) {
43
- super(message);
44
- this.diagnostics = diagnostics;
45
- this.name = 'SwiftParseError';
46
- }
47
- }
48
- /**
49
- * 建立 Swift AST 節點
50
- */
51
- export function createSwiftASTNode(kind, source, attributes, modifiers) {
52
- return {
53
- type: kind,
54
- range: {
55
- start: { line: 0, column: 0, offset: 0 },
56
- end: { line: 0, column: 0, offset: 0 }
57
- },
58
- source,
59
- swiftKind: kind,
60
- attributes,
61
- modifiers,
62
- children: [],
63
- properties: {}
64
- };
65
- }
66
- /**
67
- * 建立 Swift Parse Error
68
- */
69
- export function createParseError(message, diagnostics) {
70
- return new SwiftParseError(message, diagnostics);
71
- }
72
- /**
73
- * 判斷節點是否為宣告
74
- */
75
- export function isDeclarationNode(node) {
76
- return [
77
- SwiftNodeKind.Class,
78
- SwiftNodeKind.Struct,
79
- SwiftNodeKind.Protocol,
80
- SwiftNodeKind.Enum,
81
- SwiftNodeKind.Function,
82
- SwiftNodeKind.Variable,
83
- SwiftNodeKind.Constant,
84
- SwiftNodeKind.TypeAlias,
85
- SwiftNodeKind.Property,
86
- SwiftNodeKind.Method
87
- ].includes(node.swiftKind);
88
- }
89
- /**
90
- * 判斷節點是否為型別宣告
91
- */
92
- export function isTypeDeclarationNode(node) {
93
- return [
94
- SwiftNodeKind.Class,
95
- SwiftNodeKind.Struct,
96
- SwiftNodeKind.Protocol,
97
- SwiftNodeKind.Enum,
98
- SwiftNodeKind.TypeAlias
99
- ].includes(node.swiftKind);
100
- }
101
- /**
102
- * 從 Swift 節點類型映射到 SymbolType
103
- */
104
- export function swiftKindToSymbolType(kind) {
105
- switch (kind) {
106
- case SwiftNodeKind.Class:
107
- return SymbolType.Class;
108
- case SwiftNodeKind.Struct:
109
- return SymbolType.Struct; // Swift struct 現在有專屬類型
110
- case SwiftNodeKind.Protocol:
111
- return SymbolType.Protocol; // Swift protocol 現在有專屬類型
112
- case SwiftNodeKind.Enum:
113
- return SymbolType.Enum;
114
- case SwiftNodeKind.Function:
115
- case SwiftNodeKind.Method:
116
- return SymbolType.Function;
117
- case SwiftNodeKind.Variable:
118
- return SymbolType.Variable;
119
- case SwiftNodeKind.Property:
120
- return SymbolType.Property; // Swift property 現在有專屬類型
121
- case SwiftNodeKind.Constant:
122
- return SymbolType.Constant;
123
- case SwiftNodeKind.TypeAlias:
124
- return SymbolType.Type;
125
- default:
126
- return SymbolType.Variable;
127
- }
128
- }
129
- /**
130
- * 提取節點名稱
131
- */
132
- export function getNodeName(node) {
133
- // 優先從 properties 讀取名稱
134
- if (node.properties?.name) {
135
- return node.properties.name;
136
- }
137
- // 如果沒有 source,返回 null
138
- if (!node.source) {
139
- return null;
140
- }
141
- // 從 source 中提取名稱(簡化實作)
142
- const source = node.source.trim();
143
- // 匹配各種宣告模式
144
- const patterns = [
145
- /class\s+(\w+)/,
146
- /struct\s+(\w+)/,
147
- /protocol\s+(\w+)/,
148
- /enum\s+(\w+)/,
149
- /func\s+(\w+)/,
150
- /var\s+(\w+)/,
151
- /let\s+(\w+)/,
152
- /typealias\s+(\w+)/
153
- ];
154
- for (const pattern of patterns) {
155
- const match = source.match(pattern);
156
- if (match) {
157
- return match[1];
158
- }
159
- }
160
- return null;
161
- }
162
- /**
163
- * Swift 保留字列表
164
- */
165
- const SWIFT_RESERVED_WORDS = new Set([
166
- // Declaration keywords
167
- 'associatedtype', 'class', 'deinit', 'enum', 'extension', 'fileprivate',
168
- 'func', 'import', 'init', 'inout', 'internal', 'let', 'open', 'operator',
169
- 'private', 'precedencegroup', 'protocol', 'public', 'rethrows', 'static',
170
- 'struct', 'subscript', 'typealias', 'var',
171
- // Statement keywords
172
- 'break', 'case', 'catch', 'continue', 'default', 'defer', 'do', 'else',
173
- 'fallthrough', 'for', 'guard', 'if', 'in', 'repeat', 'return', 'throw',
174
- 'switch', 'where', 'while',
175
- // Expression keywords
176
- 'Any', 'as', 'await', 'catch', 'false', 'is', 'nil', 'self', 'Self',
177
- 'super', 'throw', 'throws', 'true', 'try',
178
- // Pattern keywords
179
- '_',
180
- // Contextual keywords (commonly used)
181
- 'async', 'actor', 'some', 'any', 'macro', 'nonisolated', 'isolated'
182
- ]);
183
- /** 預編譯的 Unicode 識別符正則表達式 */
184
- const SWIFT_UNICODE_IDENTIFIER_PATTERN = /^[\p{ID_Start}_][\p{ID_Continue}]*$/u;
185
- /**
186
- * 判斷是否為有效的 Swift 識別符
187
- *
188
- * Swift 支援 Unicode 識別符:
189
- * - 第一個字元:Unicode 類別 ID_Start 或底線
190
- * - 後續字元:Unicode 類別 ID_Continue
191
- *
192
- * 範例:
193
- * - let 数量: Int = 10 // 合法
194
- * - var ユーザー = User() // 合法
195
- */
196
- export function isValidIdentifier(name) {
197
- if (!name || name.length === 0) {
198
- return false;
199
- }
200
- return SWIFT_UNICODE_IDENTIFIER_PATTERN.test(name) && !isSwiftReservedWord(name);
201
- }
202
- /**
203
- * 檢查是否為 Swift 保留字
204
- */
205
- export function isSwiftReservedWord(name) {
206
- return SWIFT_RESERVED_WORDS.has(name);
207
- }
208
- /**
209
- * 提取修飾符
210
- */
211
- export function extractModifiers(source) {
212
- const modifiers = [];
213
- const modifierPatterns = [
214
- 'public',
215
- 'private',
216
- 'internal',
217
- 'fileprivate',
218
- 'open',
219
- 'static',
220
- 'final',
221
- 'override',
222
- 'weak',
223
- 'unowned',
224
- 'lazy',
225
- 'mutating',
226
- 'nonmutating',
227
- 'async',
228
- 'throws',
229
- 'rethrows'
230
- ];
231
- for (const modifier of modifierPatterns) {
232
- if (new RegExp(`\\b${modifier}\\b`).test(source)) {
233
- modifiers.push(modifier);
234
- }
235
- }
236
- return modifiers;
237
- }
238
- /**
239
- * 提取屬性(property wrappers)
240
- * 回傳包含 @ 符號的屬性名稱
241
- */
242
- export function extractAttributes(source) {
243
- const attributes = [];
244
- const attrPattern = /@(\w+)/g;
245
- let match;
246
- while ((match = attrPattern.exec(source)) !== null) {
247
- attributes.push(`@${match[1]}`); // 保留 @ 符號
248
- }
249
- return attributes;
250
- }
251
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/swift/types.ts"],"names":[],"mappings":"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"}