kiri-mcp-server 0.16.1 → 0.18.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 (164) hide show
  1. package/README.md +65 -22
  2. package/dist/package.json +4 -2
  3. package/dist/src/client/proxy.js +0 -0
  4. package/dist/src/daemon/daemon.js +0 -0
  5. package/dist/src/indexer/codeintel/dart/adapter.d.ts +36 -0
  6. package/dist/src/indexer/codeintel/dart/adapter.d.ts.map +1 -0
  7. package/dist/src/indexer/codeintel/dart/adapter.js +60 -0
  8. package/dist/src/indexer/codeintel/dart/adapter.js.map +1 -0
  9. package/dist/src/indexer/codeintel/dart/index.d.ts +7 -0
  10. package/dist/src/indexer/codeintel/dart/index.d.ts.map +1 -0
  11. package/dist/src/indexer/codeintel/dart/index.js +7 -0
  12. package/dist/src/indexer/codeintel/dart/index.js.map +1 -0
  13. package/dist/src/indexer/codeintel/index.d.ts +30 -0
  14. package/dist/src/indexer/codeintel/index.d.ts.map +1 -0
  15. package/dist/src/indexer/codeintel/index.js +32 -0
  16. package/dist/src/indexer/codeintel/index.js.map +1 -0
  17. package/dist/src/indexer/codeintel/java/analyzer.d.ts +22 -0
  18. package/dist/src/indexer/codeintel/java/analyzer.d.ts.map +1 -0
  19. package/dist/src/indexer/codeintel/java/analyzer.js +281 -0
  20. package/dist/src/indexer/codeintel/java/analyzer.js.map +1 -0
  21. package/dist/src/indexer/codeintel/java/index.d.ts +7 -0
  22. package/dist/src/indexer/codeintel/java/index.d.ts.map +1 -0
  23. package/dist/src/indexer/codeintel/java/index.js +7 -0
  24. package/dist/src/indexer/codeintel/java/index.js.map +1 -0
  25. package/dist/src/indexer/codeintel/php/analyzer.d.ts +23 -0
  26. package/dist/src/indexer/codeintel/php/analyzer.d.ts.map +1 -0
  27. package/dist/src/indexer/codeintel/php/analyzer.js +342 -0
  28. package/dist/src/indexer/codeintel/php/analyzer.js.map +1 -0
  29. package/dist/src/indexer/codeintel/php/index.d.ts +7 -0
  30. package/dist/src/indexer/codeintel/php/index.d.ts.map +1 -0
  31. package/dist/src/indexer/codeintel/php/index.js +7 -0
  32. package/dist/src/indexer/codeintel/php/index.js.map +1 -0
  33. package/dist/src/indexer/codeintel/registry.d.ts +76 -0
  34. package/dist/src/indexer/codeintel/registry.d.ts.map +1 -0
  35. package/dist/src/indexer/codeintel/registry.js +127 -0
  36. package/dist/src/indexer/codeintel/registry.js.map +1 -0
  37. package/dist/src/indexer/codeintel/rust/analyzer.d.ts +14 -0
  38. package/dist/src/indexer/codeintel/rust/analyzer.d.ts.map +1 -0
  39. package/dist/src/indexer/codeintel/rust/analyzer.js +388 -0
  40. package/dist/src/indexer/codeintel/rust/analyzer.js.map +1 -0
  41. package/dist/src/indexer/codeintel/rust/index.d.ts +5 -0
  42. package/dist/src/indexer/codeintel/rust/index.d.ts.map +1 -0
  43. package/dist/src/indexer/codeintel/rust/index.js +5 -0
  44. package/dist/src/indexer/codeintel/rust/index.js.map +1 -0
  45. package/dist/src/indexer/codeintel/swift/analyzer.d.ts +22 -0
  46. package/dist/src/indexer/codeintel/swift/analyzer.d.ts.map +1 -0
  47. package/dist/src/indexer/codeintel/swift/analyzer.js +271 -0
  48. package/dist/src/indexer/codeintel/swift/analyzer.js.map +1 -0
  49. package/dist/src/indexer/codeintel/swift/index.d.ts +7 -0
  50. package/dist/src/indexer/codeintel/swift/index.d.ts.map +1 -0
  51. package/dist/src/indexer/codeintel/swift/index.js +7 -0
  52. package/dist/src/indexer/codeintel/swift/index.js.map +1 -0
  53. package/dist/src/indexer/codeintel/types.d.ts +114 -0
  54. package/dist/src/indexer/codeintel/types.d.ts.map +1 -0
  55. package/dist/src/indexer/codeintel/types.js +13 -0
  56. package/dist/src/indexer/codeintel/types.js.map +1 -0
  57. package/dist/src/indexer/codeintel/typescript/analyzer.d.ts +22 -0
  58. package/dist/src/indexer/codeintel/typescript/analyzer.d.ts.map +1 -0
  59. package/dist/{indexer/codeintel.js → src/indexer/codeintel/typescript/analyzer.js} +62 -34
  60. package/dist/src/indexer/codeintel/typescript/analyzer.js.map +1 -0
  61. package/dist/src/indexer/codeintel/typescript/index.d.ts +7 -0
  62. package/dist/src/indexer/codeintel/typescript/index.d.ts.map +1 -0
  63. package/dist/src/indexer/codeintel/typescript/index.js +7 -0
  64. package/dist/src/indexer/codeintel/typescript/index.js.map +1 -0
  65. package/dist/src/indexer/codeintel/utils.d.ts +91 -0
  66. package/dist/src/indexer/codeintel/utils.d.ts.map +1 -0
  67. package/dist/src/indexer/codeintel/utils.js +145 -0
  68. package/dist/src/indexer/codeintel/utils.js.map +1 -0
  69. package/dist/src/indexer/codeintel.d.ts +33 -26
  70. package/dist/src/indexer/codeintel.d.ts.map +1 -1
  71. package/dist/src/indexer/codeintel.js +56 -1078
  72. package/dist/src/indexer/codeintel.js.map +1 -1
  73. package/dist/src/indexer/graph-metrics.d.ts.map +1 -1
  74. package/dist/src/indexer/graph-metrics.js +16 -4
  75. package/dist/src/indexer/graph-metrics.js.map +1 -1
  76. package/dist/src/server/boost-profiles.d.ts +1 -1
  77. package/dist/src/server/boost-profiles.d.ts.map +1 -1
  78. package/dist/src/server/boost-profiles.js +22 -0
  79. package/dist/src/server/boost-profiles.js.map +1 -1
  80. package/dist/src/server/main.js +0 -0
  81. package/dist/src/server/rpc.js +4 -4
  82. package/dist/src/server/rpc.js.map +1 -1
  83. package/package.json +10 -2
  84. package/dist/client/cli.js +0 -68
  85. package/dist/client/cli.js.map +0 -1
  86. package/dist/client/index.js +0 -5
  87. package/dist/client/index.js.map +0 -1
  88. package/dist/eval/metrics.js +0 -47
  89. package/dist/eval/metrics.js.map +0 -1
  90. package/dist/indexer/cli.js +0 -362
  91. package/dist/indexer/cli.js.map +0 -1
  92. package/dist/indexer/codeintel.js.map +0 -1
  93. package/dist/indexer/git.js +0 -30
  94. package/dist/indexer/git.js.map +0 -1
  95. package/dist/indexer/language.js +0 -34
  96. package/dist/indexer/language.js.map +0 -1
  97. package/dist/indexer/pipeline/filters/denylist.js +0 -71
  98. package/dist/indexer/pipeline/filters/denylist.js.map +0 -1
  99. package/dist/indexer/schema.js +0 -101
  100. package/dist/indexer/schema.js.map +0 -1
  101. package/dist/server/bootstrap.js +0 -19
  102. package/dist/server/bootstrap.js.map +0 -1
  103. package/dist/server/context.js +0 -1
  104. package/dist/server/context.js.map +0 -1
  105. package/dist/server/fallbacks/degradeController.js +0 -69
  106. package/dist/server/fallbacks/degradeController.js.map +0 -1
  107. package/dist/server/handlers.js +0 -1268
  108. package/dist/server/handlers.js.map +0 -1
  109. package/dist/server/main.js +0 -151
  110. package/dist/server/main.js.map +0 -1
  111. package/dist/server/observability/metrics.js +0 -56
  112. package/dist/server/observability/metrics.js.map +0 -1
  113. package/dist/server/observability/tracing.js +0 -58
  114. package/dist/server/observability/tracing.js.map +0 -1
  115. package/dist/server/rpc.js +0 -477
  116. package/dist/server/rpc.js.map +0 -1
  117. package/dist/server/runtime.js +0 -47
  118. package/dist/server/runtime.js.map +0 -1
  119. package/dist/server/scoring.js +0 -116
  120. package/dist/server/scoring.js.map +0 -1
  121. package/dist/server/stdio.js +0 -76
  122. package/dist/server/stdio.js.map +0 -1
  123. package/dist/shared/duckdb.js +0 -119
  124. package/dist/shared/duckdb.js.map +0 -1
  125. package/dist/shared/embedding.js +0 -98
  126. package/dist/shared/embedding.js.map +0 -1
  127. package/dist/shared/index.js +0 -9
  128. package/dist/shared/index.js.map +0 -1
  129. package/dist/shared/security/config.js +0 -64
  130. package/dist/shared/security/config.js.map +0 -1
  131. package/dist/shared/security/masker.js +0 -56
  132. package/dist/shared/security/masker.js.map +0 -1
  133. package/dist/shared/tokenizer.js +0 -4
  134. package/dist/shared/tokenizer.js.map +0 -1
  135. package/dist/shared/utils/simpleYaml.js +0 -89
  136. package/dist/shared/utils/simpleYaml.js.map +0 -1
  137. package/dist/src/server/rrf.d.ts +0 -86
  138. package/dist/src/server/rrf.d.ts.map +0 -1
  139. package/dist/src/server/rrf.js +0 -108
  140. package/dist/src/server/rrf.js.map +0 -1
  141. package/dist/src/shared/embedding/engine.d.ts +0 -38
  142. package/dist/src/shared/embedding/engine.d.ts.map +0 -1
  143. package/dist/src/shared/embedding/engine.js +0 -6
  144. package/dist/src/shared/embedding/engine.js.map +0 -1
  145. package/dist/src/shared/embedding/lsh-engine.d.ts +0 -11
  146. package/dist/src/shared/embedding/lsh-engine.d.ts.map +0 -1
  147. package/dist/src/shared/embedding/lsh-engine.js +0 -14
  148. package/dist/src/shared/embedding/lsh-engine.js.map +0 -1
  149. package/dist/src/shared/embedding/registry.d.ts +0 -25
  150. package/dist/src/shared/embedding/registry.d.ts.map +0 -1
  151. package/dist/src/shared/embedding/registry.js +0 -50
  152. package/dist/src/shared/embedding/registry.js.map +0 -1
  153. package/dist/src/shared/embedding/semantic-engine.d.ts +0 -14
  154. package/dist/src/shared/embedding/semantic-engine.d.ts.map +0 -1
  155. package/dist/src/shared/embedding/semantic-engine.js +0 -50
  156. package/dist/src/shared/embedding/semantic-engine.js.map +0 -1
  157. package/dist/src/shared/models/model-manager.d.ts +0 -38
  158. package/dist/src/shared/models/model-manager.d.ts.map +0 -1
  159. package/dist/src/shared/models/model-manager.js +0 -116
  160. package/dist/src/shared/models/model-manager.js.map +0 -1
  161. package/dist/src/shared/models/model-manifest.d.ts +0 -22
  162. package/dist/src/shared/models/model-manifest.d.ts.map +0 -1
  163. package/dist/src/shared/models/model-manifest.js +0 -24
  164. package/dist/src/shared/models/model-manifest.js.map +0 -1
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Java Language Analyzer
3
+ *
4
+ * tree-sitter-java を使用したシンボル抽出と依存関係解析。
5
+ * class, interface, enum, annotation, method, constructor, field をサポート。
6
+ */
7
+ import Parser from "tree-sitter";
8
+ import Java from "tree-sitter-java";
9
+ import { treeSitterPointToLine, sanitizeTreeSitterSignature, assignSymbolIds, symbolsToSnippets, createDependencyRecorder, cleanDocComment, } from "../utils.js";
10
+ /**
11
+ * Javadoc コメント (ブロックコメント形式) を抽出
12
+ */
13
+ function getJavaDocComment(node, content) {
14
+ const parent = node.parent;
15
+ if (!parent)
16
+ return null;
17
+ // 親ノードのすべての子から、このノードの直前にあるコメントを探す
18
+ const precedingComments = [];
19
+ const siblings = parent.children;
20
+ const nodeIndex = siblings.indexOf(node);
21
+ // このノードより前の兄弟を逆順で調べる
22
+ for (let i = nodeIndex - 1; i >= 0; i--) {
23
+ const sibling = siblings[i];
24
+ if (!sibling)
25
+ continue;
26
+ // block_commentをチェック
27
+ if (sibling.type === "block_comment") {
28
+ const commentText = content.substring(sibling.startIndex, sibling.endIndex);
29
+ // Javadoc コメント形式のみ抽出
30
+ if (commentText.startsWith("/**") && commentText.endsWith("*/")) {
31
+ precedingComments.unshift(cleanDocComment(commentText));
32
+ }
33
+ }
34
+ else if (!sibling.text.trim().match(/^\s*$/)) {
35
+ // コメント以外の実質的なノードに到達したら終了
36
+ break;
37
+ }
38
+ }
39
+ if (precedingComments.length === 0) {
40
+ return null;
41
+ }
42
+ return precedingComments.join("\n");
43
+ }
44
+ /**
45
+ * 子ノードから識別子名を抽出
46
+ */
47
+ function extractName(node, content) {
48
+ const identifierNode = node.namedChildren.find((child) => child.type === "identifier");
49
+ return identifierNode
50
+ ? content.substring(identifierNode.startIndex, identifierNode.endIndex)
51
+ : null;
52
+ }
53
+ /**
54
+ * シンボルレコードを作成
55
+ */
56
+ function createJavaSymbolRecords(tree, content) {
57
+ const results = [];
58
+ /**
59
+ * ノードからシグネチャを取得
60
+ * Java はシグネチャの改行を先に正規化してから切り詰め
61
+ */
62
+ function getSignature(node) {
63
+ const nodeText = content.substring(node.startIndex, node.endIndex);
64
+ return sanitizeTreeSitterSignature(nodeText, { normalizeFirst: true });
65
+ }
66
+ /**
67
+ * ツリーを再帰的にトラバースしてシンボルを抽出
68
+ */
69
+ function visit(node) {
70
+ // class_declaration: クラス宣言
71
+ if (node.type === "class_declaration") {
72
+ const name = extractName(node, content);
73
+ if (name) {
74
+ results.push({
75
+ name,
76
+ kind: "class",
77
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
78
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
79
+ signature: getSignature(node),
80
+ doc: getJavaDocComment(node, content),
81
+ });
82
+ }
83
+ }
84
+ // interface_declaration: インターフェース宣言
85
+ if (node.type === "interface_declaration") {
86
+ const name = extractName(node, content);
87
+ if (name) {
88
+ results.push({
89
+ name,
90
+ kind: "interface",
91
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
92
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
93
+ signature: getSignature(node),
94
+ doc: getJavaDocComment(node, content),
95
+ });
96
+ }
97
+ }
98
+ // enum_declaration: 列挙型宣言
99
+ if (node.type === "enum_declaration") {
100
+ const name = extractName(node, content);
101
+ if (name) {
102
+ results.push({
103
+ name,
104
+ kind: "enum",
105
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
106
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
107
+ signature: getSignature(node),
108
+ doc: getJavaDocComment(node, content),
109
+ });
110
+ }
111
+ }
112
+ // annotation_type_declaration: アノテーション型宣言
113
+ if (node.type === "annotation_type_declaration") {
114
+ const name = extractName(node, content);
115
+ if (name) {
116
+ results.push({
117
+ name,
118
+ kind: "annotation",
119
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
120
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
121
+ signature: getSignature(node),
122
+ doc: getJavaDocComment(node, content),
123
+ });
124
+ }
125
+ }
126
+ // field_declaration: フィールド宣言
127
+ if (node.type === "field_declaration") {
128
+ // variable_declaratorから変数名を抽出
129
+ const declarators = node.namedChildren.filter((child) => child.type === "variable_declarator");
130
+ for (const declarator of declarators) {
131
+ const name = extractName(declarator, content);
132
+ if (name) {
133
+ results.push({
134
+ name,
135
+ kind: "field",
136
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
137
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
138
+ signature: getSignature(node),
139
+ doc: getJavaDocComment(node, content),
140
+ });
141
+ }
142
+ }
143
+ }
144
+ // constructor_declaration: コンストラクタ宣言
145
+ if (node.type === "constructor_declaration") {
146
+ const name = extractName(node, content);
147
+ if (name) {
148
+ results.push({
149
+ name,
150
+ kind: "constructor",
151
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
152
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
153
+ signature: getSignature(node),
154
+ doc: getJavaDocComment(node, content),
155
+ });
156
+ }
157
+ }
158
+ // method_declaration: メソッド宣言
159
+ if (node.type === "method_declaration") {
160
+ const name = extractName(node, content);
161
+ if (name) {
162
+ results.push({
163
+ name,
164
+ kind: "method",
165
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
166
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
167
+ signature: getSignature(node),
168
+ doc: getJavaDocComment(node, content),
169
+ });
170
+ }
171
+ }
172
+ // annotation_type_element_declaration: アノテーション内のメソッド宣言
173
+ if (node.type === "annotation_type_element_declaration") {
174
+ const name = extractName(node, content);
175
+ if (name) {
176
+ results.push({
177
+ name,
178
+ kind: "method",
179
+ rangeStartLine: treeSitterPointToLine(node.startPosition),
180
+ rangeEndLine: treeSitterPointToLine(node.endPosition),
181
+ signature: getSignature(node),
182
+ doc: getJavaDocComment(node, content),
183
+ });
184
+ }
185
+ }
186
+ // 子ノードを再帰的に訪問
187
+ for (const child of node.namedChildren) {
188
+ visit(child);
189
+ }
190
+ }
191
+ visit(tree.rootNode);
192
+ return assignSymbolIds(results);
193
+ }
194
+ /**
195
+ * Java の import 文を解析して依存関係を収集
196
+ */
197
+ function collectJavaDependencies(_sourcePath, tree, content, fileSet) {
198
+ const { record, getDependencies } = createDependencyRecorder();
199
+ function visit(node) {
200
+ // import_declaration: import文
201
+ if (node.type === "import_declaration") {
202
+ // scoped_identifier または identifier を探す
203
+ const identifierNode = node.namedChildren.find((child) => child.type === "scoped_identifier" || child.type === "identifier");
204
+ if (identifierNode) {
205
+ let importName = content.substring(identifierNode.startIndex, identifierNode.endIndex);
206
+ // ワイルドカードインポートのチェック (import java.util.*)
207
+ // asteriskノードを探す
208
+ const hasAsterisk = node.namedChildren.some((child) => child.type === "asterisk");
209
+ if (hasAsterisk) {
210
+ importName += ".*";
211
+ }
212
+ // ローカルファイル判定: com.example.MyClass -> com/example/MyClass.java
213
+ // ワイルドカードの場合はパッケージとして扱う
214
+ let kind = "package";
215
+ if (!hasAsterisk) {
216
+ const filePath = importName.replace(/\./g, "/") + ".java";
217
+ // Maven/Gradle標準構造のプレフィックスを除去して完全一致でチェック
218
+ // これにより、同名ファイルが異なるパッケージに存在する場合も正確に解決できる
219
+ const matchingFile = Array.from(fileSet).find((f) => {
220
+ // 標準的なソースディレクトリプレフィックスを除去
221
+ const normalizedPath = f
222
+ .replace(/^src\/main\/java\//, "")
223
+ .replace(/^src\/test\/java\//, "")
224
+ .replace(/^src\//, "");
225
+ return normalizedPath === filePath;
226
+ });
227
+ kind = matchingFile ? "path" : "package";
228
+ }
229
+ record(kind, importName);
230
+ }
231
+ }
232
+ // 子ノードを再帰的に訪問
233
+ for (const child of node.namedChildren) {
234
+ visit(child);
235
+ }
236
+ }
237
+ visit(tree.rootNode);
238
+ return getDependencies();
239
+ }
240
+ /**
241
+ * Java Language Analyzer
242
+ *
243
+ * LanguageAnalyzer インターフェースを実装し、
244
+ * Java ファイルのシンボル抽出と依存関係解析を提供
245
+ */
246
+ export class JavaAnalyzer {
247
+ language = "Java";
248
+ async analyze(context) {
249
+ const { pathInRepo, content, fileSet } = context;
250
+ try {
251
+ // 各ファイルごとに新しいパーサーインスタンスを作成(並行処理の安全性のため)
252
+ const parser = new Parser();
253
+ // Validate language object before setting it
254
+ if (!Java || typeof Java !== "object") {
255
+ throw new Error("Tree-sitter language for Java is invalid or undefined");
256
+ }
257
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
258
+ parser.setLanguage(Java);
259
+ const tree = parser.parse(content);
260
+ // シンボル抽出
261
+ const symbols = createJavaSymbolRecords(tree, content);
262
+ // シンボルからスニペットを生成
263
+ const snippets = symbolsToSnippets(symbols);
264
+ // 依存関係を収集
265
+ const dependencies = collectJavaDependencies(pathInRepo, tree, content, fileSet);
266
+ return { symbols, snippets, dependencies };
267
+ }
268
+ catch (error) {
269
+ // パース失敗時は空の結果を返して他のファイルの処理を継続
270
+ console.error(`Failed to parse Java file ${pathInRepo}:`, error);
271
+ return { symbols: [], snippets: [], dependencies: [] };
272
+ }
273
+ }
274
+ }
275
+ /**
276
+ * Java アナライザーのファクトリ関数
277
+ */
278
+ export function createJavaAnalyzer() {
279
+ return new JavaAnalyzer();
280
+ }
281
+ //# sourceMappingURL=analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Java Analyzer Module
3
+ *
4
+ * Java ファイル用の言語アナライザーをエクスポート
5
+ */
6
+ export { JavaAnalyzer, createJavaAnalyzer } from "./analyzer.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Java Analyzer Module
3
+ *
4
+ * Java ファイル用の言語アナライザーをエクスポート
5
+ */
6
+ export { JavaAnalyzer, createJavaAnalyzer } from "./analyzer.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * PHP Language Analyzer
3
+ *
4
+ * tree-sitter-php を使用したシンボル抽出と依存関係解析。
5
+ * class, interface, trait, function, method, property, constant, namespace をサポート。
6
+ * Pure PHP ファイルと HTML-mixed PHP ファイルの両方に対応。
7
+ */
8
+ import type { LanguageAnalyzer, AnalysisContext, AnalysisResult } from "../types.js";
9
+ /**
10
+ * PHP Language Analyzer
11
+ *
12
+ * LanguageAnalyzer インターフェースを実装し、
13
+ * PHP ファイルのシンボル抽出と依存関係解析を提供
14
+ */
15
+ export declare class PHPAnalyzer implements LanguageAnalyzer {
16
+ readonly language = "PHP";
17
+ analyze(context: AnalysisContext): Promise<AnalysisResult>;
18
+ }
19
+ /**
20
+ * PHP アナライザーのファクトリ関数
21
+ */
22
+ export declare function createPHPAnalyzer(): PHPAnalyzer;
23
+ //# sourceMappingURL=analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/php/analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AA+UnG;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,gBAAgB;IAClD,QAAQ,CAAC,QAAQ,SAAS;IAEpB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAwCjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C"}