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.
- package/README.md +65 -22
- package/dist/package.json +4 -2
- package/dist/src/client/proxy.js +0 -0
- package/dist/src/daemon/daemon.js +0 -0
- package/dist/src/indexer/codeintel/dart/adapter.d.ts +36 -0
- package/dist/src/indexer/codeintel/dart/adapter.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/dart/adapter.js +60 -0
- package/dist/src/indexer/codeintel/dart/adapter.js.map +1 -0
- package/dist/src/indexer/codeintel/dart/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/dart/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/dart/index.js +7 -0
- package/dist/src/indexer/codeintel/dart/index.js.map +1 -0
- package/dist/src/indexer/codeintel/index.d.ts +30 -0
- package/dist/src/indexer/codeintel/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/index.js +32 -0
- package/dist/src/indexer/codeintel/index.js.map +1 -0
- package/dist/src/indexer/codeintel/java/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/java/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/java/analyzer.js +281 -0
- package/dist/src/indexer/codeintel/java/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/java/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/java/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/java/index.js +7 -0
- package/dist/src/indexer/codeintel/java/index.js.map +1 -0
- package/dist/src/indexer/codeintel/php/analyzer.d.ts +23 -0
- package/dist/src/indexer/codeintel/php/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/php/analyzer.js +342 -0
- package/dist/src/indexer/codeintel/php/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/php/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/php/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/php/index.js +7 -0
- package/dist/src/indexer/codeintel/php/index.js.map +1 -0
- package/dist/src/indexer/codeintel/registry.d.ts +76 -0
- package/dist/src/indexer/codeintel/registry.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/registry.js +127 -0
- package/dist/src/indexer/codeintel/registry.js.map +1 -0
- package/dist/src/indexer/codeintel/rust/analyzer.d.ts +14 -0
- package/dist/src/indexer/codeintel/rust/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/rust/analyzer.js +388 -0
- package/dist/src/indexer/codeintel/rust/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/rust/index.d.ts +5 -0
- package/dist/src/indexer/codeintel/rust/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/rust/index.js +5 -0
- package/dist/src/indexer/codeintel/rust/index.js.map +1 -0
- package/dist/src/indexer/codeintel/swift/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/swift/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/swift/analyzer.js +271 -0
- package/dist/src/indexer/codeintel/swift/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/swift/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/swift/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/swift/index.js +7 -0
- package/dist/src/indexer/codeintel/swift/index.js.map +1 -0
- package/dist/src/indexer/codeintel/types.d.ts +114 -0
- package/dist/src/indexer/codeintel/types.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/types.js +13 -0
- package/dist/src/indexer/codeintel/types.js.map +1 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.d.ts.map +1 -0
- package/dist/{indexer/codeintel.js → src/indexer/codeintel/typescript/analyzer.js} +62 -34
- package/dist/src/indexer/codeintel/typescript/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/typescript/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/typescript/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/typescript/index.js +7 -0
- package/dist/src/indexer/codeintel/typescript/index.js.map +1 -0
- package/dist/src/indexer/codeintel/utils.d.ts +91 -0
- package/dist/src/indexer/codeintel/utils.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/utils.js +145 -0
- package/dist/src/indexer/codeintel/utils.js.map +1 -0
- package/dist/src/indexer/codeintel.d.ts +33 -26
- package/dist/src/indexer/codeintel.d.ts.map +1 -1
- package/dist/src/indexer/codeintel.js +56 -1078
- package/dist/src/indexer/codeintel.js.map +1 -1
- package/dist/src/indexer/graph-metrics.d.ts.map +1 -1
- package/dist/src/indexer/graph-metrics.js +16 -4
- package/dist/src/indexer/graph-metrics.js.map +1 -1
- package/dist/src/server/boost-profiles.d.ts +1 -1
- package/dist/src/server/boost-profiles.d.ts.map +1 -1
- package/dist/src/server/boost-profiles.js +22 -0
- package/dist/src/server/boost-profiles.js.map +1 -1
- package/dist/src/server/main.js +0 -0
- package/dist/src/server/rpc.js +4 -4
- package/dist/src/server/rpc.js.map +1 -1
- package/package.json +10 -2
- package/dist/client/cli.js +0 -68
- package/dist/client/cli.js.map +0 -1
- package/dist/client/index.js +0 -5
- package/dist/client/index.js.map +0 -1
- package/dist/eval/metrics.js +0 -47
- package/dist/eval/metrics.js.map +0 -1
- package/dist/indexer/cli.js +0 -362
- package/dist/indexer/cli.js.map +0 -1
- package/dist/indexer/codeintel.js.map +0 -1
- package/dist/indexer/git.js +0 -30
- package/dist/indexer/git.js.map +0 -1
- package/dist/indexer/language.js +0 -34
- package/dist/indexer/language.js.map +0 -1
- package/dist/indexer/pipeline/filters/denylist.js +0 -71
- package/dist/indexer/pipeline/filters/denylist.js.map +0 -1
- package/dist/indexer/schema.js +0 -101
- package/dist/indexer/schema.js.map +0 -1
- package/dist/server/bootstrap.js +0 -19
- package/dist/server/bootstrap.js.map +0 -1
- package/dist/server/context.js +0 -1
- package/dist/server/context.js.map +0 -1
- package/dist/server/fallbacks/degradeController.js +0 -69
- package/dist/server/fallbacks/degradeController.js.map +0 -1
- package/dist/server/handlers.js +0 -1268
- package/dist/server/handlers.js.map +0 -1
- package/dist/server/main.js +0 -151
- package/dist/server/main.js.map +0 -1
- package/dist/server/observability/metrics.js +0 -56
- package/dist/server/observability/metrics.js.map +0 -1
- package/dist/server/observability/tracing.js +0 -58
- package/dist/server/observability/tracing.js.map +0 -1
- package/dist/server/rpc.js +0 -477
- package/dist/server/rpc.js.map +0 -1
- package/dist/server/runtime.js +0 -47
- package/dist/server/runtime.js.map +0 -1
- package/dist/server/scoring.js +0 -116
- package/dist/server/scoring.js.map +0 -1
- package/dist/server/stdio.js +0 -76
- package/dist/server/stdio.js.map +0 -1
- package/dist/shared/duckdb.js +0 -119
- package/dist/shared/duckdb.js.map +0 -1
- package/dist/shared/embedding.js +0 -98
- package/dist/shared/embedding.js.map +0 -1
- package/dist/shared/index.js +0 -9
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/security/config.js +0 -64
- package/dist/shared/security/config.js.map +0 -1
- package/dist/shared/security/masker.js +0 -56
- package/dist/shared/security/masker.js.map +0 -1
- package/dist/shared/tokenizer.js +0 -4
- package/dist/shared/tokenizer.js.map +0 -1
- package/dist/shared/utils/simpleYaml.js +0 -89
- package/dist/shared/utils/simpleYaml.js.map +0 -1
- package/dist/src/server/rrf.d.ts +0 -86
- package/dist/src/server/rrf.d.ts.map +0 -1
- package/dist/src/server/rrf.js +0 -108
- package/dist/src/server/rrf.js.map +0 -1
- package/dist/src/shared/embedding/engine.d.ts +0 -38
- package/dist/src/shared/embedding/engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/engine.js +0 -6
- package/dist/src/shared/embedding/engine.js.map +0 -1
- package/dist/src/shared/embedding/lsh-engine.d.ts +0 -11
- package/dist/src/shared/embedding/lsh-engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/lsh-engine.js +0 -14
- package/dist/src/shared/embedding/lsh-engine.js.map +0 -1
- package/dist/src/shared/embedding/registry.d.ts +0 -25
- package/dist/src/shared/embedding/registry.d.ts.map +0 -1
- package/dist/src/shared/embedding/registry.js +0 -50
- package/dist/src/shared/embedding/registry.js.map +0 -1
- package/dist/src/shared/embedding/semantic-engine.d.ts +0 -14
- package/dist/src/shared/embedding/semantic-engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/semantic-engine.js +0 -50
- package/dist/src/shared/embedding/semantic-engine.js.map +0 -1
- package/dist/src/shared/models/model-manager.d.ts +0 -38
- package/dist/src/shared/models/model-manager.d.ts.map +0 -1
- package/dist/src/shared/models/model-manager.js +0 -116
- package/dist/src/shared/models/model-manager.js.map +0 -1
- package/dist/src/shared/models/model-manifest.d.ts +0 -22
- package/dist/src/shared/models/model-manifest.d.ts.map +0 -1
- package/dist/src/shared/models/model-manifest.js +0 -24
- package/dist/src/shared/models/model-manifest.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/typescript/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 共通ユーティリティ関数
|
|
3
|
+
*
|
|
4
|
+
* 複数の言語アナライザーで共有されるヘルパー関数を提供します。
|
|
5
|
+
*/
|
|
6
|
+
import type Parser from "tree-sitter";
|
|
7
|
+
import type { SymbolRecord, SnippetRecord } from "./types.js";
|
|
8
|
+
/**
|
|
9
|
+
* tree-sitter の Point を 1-based の行番号に変換
|
|
10
|
+
*
|
|
11
|
+
* @param position - tree-sitter の位置情報 (0-based row)
|
|
12
|
+
* @returns 1-based の行番号
|
|
13
|
+
*/
|
|
14
|
+
export declare function treeSitterPointToLine(position: Parser.Point): number;
|
|
15
|
+
/**
|
|
16
|
+
* シグネチャテキストをサニタイズ
|
|
17
|
+
* - 関数本体 ({...}) を除去
|
|
18
|
+
* - 最大長に切り詰め
|
|
19
|
+
* - 空白を正規化
|
|
20
|
+
*
|
|
21
|
+
* @param nodeText - ノードのテキスト
|
|
22
|
+
* @param options - オプション
|
|
23
|
+
* @returns サニタイズされたシグネチャ
|
|
24
|
+
*/
|
|
25
|
+
export declare function sanitizeTreeSitterSignature(nodeText: string, options?: {
|
|
26
|
+
/** trueの場合、切り詰め前に空白を正規化 (Java用) */
|
|
27
|
+
normalizeFirst?: boolean;
|
|
28
|
+
/** 最大文字数 (デフォルト: 200) */
|
|
29
|
+
maxLength?: number;
|
|
30
|
+
}): string;
|
|
31
|
+
/**
|
|
32
|
+
* シンボル配列をソートしてIDを割り当て
|
|
33
|
+
*
|
|
34
|
+
* @param symbols - symbolIdを除いたシンボル配列
|
|
35
|
+
* @returns symbolIdが割り当てられたシンボル配列
|
|
36
|
+
*/
|
|
37
|
+
export declare function assignSymbolIds(symbols: Array<Omit<SymbolRecord, "symbolId">>): SymbolRecord[];
|
|
38
|
+
/**
|
|
39
|
+
* シンボル配列からスニペット配列を生成
|
|
40
|
+
*
|
|
41
|
+
* @param symbols - シンボル配列
|
|
42
|
+
* @returns スニペット配列
|
|
43
|
+
*/
|
|
44
|
+
export declare function symbolsToSnippets(symbols: SymbolRecord[]): SnippetRecord[];
|
|
45
|
+
/**
|
|
46
|
+
* 依存関係の重複排除ヘルパー
|
|
47
|
+
*
|
|
48
|
+
* @returns record関数とgetDependencies関数を含むオブジェクト
|
|
49
|
+
*/
|
|
50
|
+
export declare function createDependencyRecorder(): {
|
|
51
|
+
/** 依存関係を記録 (重複は自動排除) */
|
|
52
|
+
record: (kind: "path" | "package", dst: string, rel?: string) => void;
|
|
53
|
+
/** 記録された依存関係を取得 */
|
|
54
|
+
getDependencies: () => Array<{
|
|
55
|
+
dstKind: "path" | "package";
|
|
56
|
+
dst: string;
|
|
57
|
+
rel: string;
|
|
58
|
+
}>;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* ファイル内容から行開始位置の配列を構築
|
|
62
|
+
* offsetToLine()と組み合わせて使用
|
|
63
|
+
*
|
|
64
|
+
* @param content - ファイル内容
|
|
65
|
+
* @returns 各行の開始位置の配列 (0-indexed offset)
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildLineStartsArray(content: string): number[];
|
|
68
|
+
/**
|
|
69
|
+
* オフセットから行番号を取得 (バイナリサーチ)
|
|
70
|
+
*
|
|
71
|
+
* @param lineStarts - buildLineStartsArray()で構築した配列
|
|
72
|
+
* @param offset - バイトオフセット
|
|
73
|
+
* @returns 1-based の行番号
|
|
74
|
+
*/
|
|
75
|
+
export declare function offsetToLine(lineStarts: number[], offset: number): number;
|
|
76
|
+
/**
|
|
77
|
+
* ドキュメントコメントをクリーンアップ
|
|
78
|
+
*
|
|
79
|
+
* @param text - コメントテキスト
|
|
80
|
+
* @returns クリーンアップされたテキスト
|
|
81
|
+
*/
|
|
82
|
+
export declare function cleanDocComment(text: string): string;
|
|
83
|
+
/**
|
|
84
|
+
* フォールバックスニペットを生成
|
|
85
|
+
* シンボルが抽出できない場合にファイル全体をカバー
|
|
86
|
+
*
|
|
87
|
+
* @param totalLines - ファイルの総行数
|
|
88
|
+
* @returns スニペットレコード
|
|
89
|
+
*/
|
|
90
|
+
export declare function buildFallbackSnippet(totalLines: number): SnippetRecord;
|
|
91
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/indexer/codeintel/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAEpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,MAAM,CAgBR;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,GAAG,YAAY,EAAE,CAK9F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,EAAE,CAM1E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI;IAC1C,wBAAwB;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,mBAAmB;IACnB,eAAe,EAAE,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzF,CAYA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ9D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAczE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAEtE"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 共通ユーティリティ関数
|
|
3
|
+
*
|
|
4
|
+
* 複数の言語アナライザーで共有されるヘルパー関数を提供します。
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* tree-sitter の Point を 1-based の行番号に変換
|
|
8
|
+
*
|
|
9
|
+
* @param position - tree-sitter の位置情報 (0-based row)
|
|
10
|
+
* @returns 1-based の行番号
|
|
11
|
+
*/
|
|
12
|
+
export function treeSitterPointToLine(position) {
|
|
13
|
+
return position.row + 1;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* シグネチャテキストをサニタイズ
|
|
17
|
+
* - 関数本体 ({...}) を除去
|
|
18
|
+
* - 最大長に切り詰め
|
|
19
|
+
* - 空白を正規化
|
|
20
|
+
*
|
|
21
|
+
* @param nodeText - ノードのテキスト
|
|
22
|
+
* @param options - オプション
|
|
23
|
+
* @returns サニタイズされたシグネチャ
|
|
24
|
+
*/
|
|
25
|
+
export function sanitizeTreeSitterSignature(nodeText, options = {}) {
|
|
26
|
+
const { normalizeFirst = false, maxLength = 200 } = options;
|
|
27
|
+
// 関数本体を除去
|
|
28
|
+
const bodyIndex = nodeText.indexOf("{");
|
|
29
|
+
const signatureText = bodyIndex >= 0 ? nodeText.substring(0, bodyIndex) : nodeText;
|
|
30
|
+
if (normalizeFirst) {
|
|
31
|
+
// Java: 先に空白を正規化してから切り詰め
|
|
32
|
+
const normalized = signatureText.replace(/\s+/g, " ").trim();
|
|
33
|
+
return normalized.substring(0, maxLength);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// Swift/PHP: 先に切り詰めてから最初の行を取得
|
|
37
|
+
const truncated = signatureText.substring(0, maxLength);
|
|
38
|
+
return truncated.split(/\r?\n/)[0]?.trim().replace(/\s+/g, " ") ?? "";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* シンボル配列をソートしてIDを割り当て
|
|
43
|
+
*
|
|
44
|
+
* @param symbols - symbolIdを除いたシンボル配列
|
|
45
|
+
* @returns symbolIdが割り当てられたシンボル配列
|
|
46
|
+
*/
|
|
47
|
+
export function assignSymbolIds(symbols) {
|
|
48
|
+
// 元の配列を変更しないようにコピーしてからソート
|
|
49
|
+
return [...symbols]
|
|
50
|
+
.sort((a, b) => a.rangeStartLine - b.rangeStartLine)
|
|
51
|
+
.map((item, index) => ({ symbolId: index + 1, ...item }));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* シンボル配列からスニペット配列を生成
|
|
55
|
+
*
|
|
56
|
+
* @param symbols - シンボル配列
|
|
57
|
+
* @returns スニペット配列
|
|
58
|
+
*/
|
|
59
|
+
export function symbolsToSnippets(symbols) {
|
|
60
|
+
return symbols.map((s) => ({
|
|
61
|
+
startLine: s.rangeStartLine,
|
|
62
|
+
endLine: s.rangeEndLine,
|
|
63
|
+
symbolId: s.symbolId,
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 依存関係の重複排除ヘルパー
|
|
68
|
+
*
|
|
69
|
+
* @returns record関数とgetDependencies関数を含むオブジェクト
|
|
70
|
+
*/
|
|
71
|
+
export function createDependencyRecorder() {
|
|
72
|
+
const dependencies = new Map();
|
|
73
|
+
return {
|
|
74
|
+
record: (kind, dst, rel = "import") => {
|
|
75
|
+
const key = `${kind}:${dst}`;
|
|
76
|
+
if (!dependencies.has(key)) {
|
|
77
|
+
dependencies.set(key, { dstKind: kind, dst, rel });
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
getDependencies: () => Array.from(dependencies.values()),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* ファイル内容から行開始位置の配列を構築
|
|
85
|
+
* offsetToLine()と組み合わせて使用
|
|
86
|
+
*
|
|
87
|
+
* @param content - ファイル内容
|
|
88
|
+
* @returns 各行の開始位置の配列 (0-indexed offset)
|
|
89
|
+
*/
|
|
90
|
+
export function buildLineStartsArray(content) {
|
|
91
|
+
const lineStarts = [0];
|
|
92
|
+
for (let i = 0; i < content.length; i++) {
|
|
93
|
+
if (content[i] === "\n") {
|
|
94
|
+
lineStarts.push(i + 1);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return lineStarts;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* オフセットから行番号を取得 (バイナリサーチ)
|
|
101
|
+
*
|
|
102
|
+
* @param lineStarts - buildLineStartsArray()で構築した配列
|
|
103
|
+
* @param offset - バイトオフセット
|
|
104
|
+
* @returns 1-based の行番号
|
|
105
|
+
*/
|
|
106
|
+
export function offsetToLine(lineStarts, offset) {
|
|
107
|
+
let low = 0;
|
|
108
|
+
let high = lineStarts.length - 1;
|
|
109
|
+
while (low < high) {
|
|
110
|
+
const mid = Math.floor((low + high + 1) / 2);
|
|
111
|
+
if (lineStarts[mid] <= offset) {
|
|
112
|
+
low = mid;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
high = mid - 1;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return low + 1; // 1-based
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* ドキュメントコメントをクリーンアップ
|
|
122
|
+
*
|
|
123
|
+
* @param text - コメントテキスト
|
|
124
|
+
* @returns クリーンアップされたテキスト
|
|
125
|
+
*/
|
|
126
|
+
export function cleanDocComment(text) {
|
|
127
|
+
return text
|
|
128
|
+
.replace(/^\/\/\/\s?/gm, "") // Swift /// コメント
|
|
129
|
+
.replace(/^\/\/!\s?/gm, "") // Rust //! コメント
|
|
130
|
+
.replace(/^\/\*\*\s?|\s?\*\/$/g, "") // /** ... */ の開始/終了
|
|
131
|
+
.replace(/^\/\*!\s?|\s?\*\/$/g, "") // /*! ... */ の開始/終了
|
|
132
|
+
.replace(/^\s*\*\s?/gm, "") // 中間の * プレフィックス
|
|
133
|
+
.trim();
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* フォールバックスニペットを生成
|
|
137
|
+
* シンボルが抽出できない場合にファイル全体をカバー
|
|
138
|
+
*
|
|
139
|
+
* @param totalLines - ファイルの総行数
|
|
140
|
+
* @returns スニペットレコード
|
|
141
|
+
*/
|
|
142
|
+
export function buildFallbackSnippet(totalLines) {
|
|
143
|
+
return { startLine: 1, endLine: totalLines, symbolId: null };
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/indexer/codeintel/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Code Intelligence API
|
|
3
|
+
*
|
|
4
|
+
* 言語アナライザーシステムの公開APIを提供するファサード。
|
|
5
|
+
* 実際の解析処理は codeintel/ モジュールの LanguageRegistry に委譲。
|
|
6
|
+
*
|
|
7
|
+
* 使用例:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { analyzeSource } from './codeintel.js';
|
|
10
|
+
*
|
|
11
|
+
* const result = await analyzeSource('src/index.ts', 'TypeScript', content, fileSet);
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export type { SymbolRecord, SnippetRecord, DependencyRecord, AnalysisContext, AnalysisResult, } from "./codeintel/types.js";
|
|
15
|
+
export { buildFallbackSnippet } from "./codeintel/utils.js";
|
|
16
|
+
import type { AnalysisResult } from "./codeintel/types.js";
|
|
17
|
+
/**
|
|
18
|
+
* ソースコードを解析してシンボル、スニペット、依存関係を抽出
|
|
19
|
+
*
|
|
20
|
+
* @param pathInRepo - リポジトリ内のファイルパス
|
|
21
|
+
* @param lang - 言語名 (TypeScript, Swift, PHP, Java, Dart など)
|
|
22
|
+
* @param content - ファイルコンテンツ
|
|
23
|
+
* @param fileSet - リポジトリ内の全ファイルパスセット (依存関係解決用)
|
|
24
|
+
* @param workspaceRoot - ワークスペースルート (Dart 解析で必須)
|
|
25
|
+
* @returns シンボル、スニペット、依存関係を含む解析結果
|
|
26
|
+
*/
|
|
25
27
|
export declare function analyzeSource(pathInRepo: string, lang: string | null, content: string, fileSet: Set<string>, workspaceRoot?: string): Promise<AnalysisResult>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
/**
|
|
29
|
+
* 全言語アナライザーのリソースをクリーンアップ
|
|
30
|
+
*
|
|
31
|
+
* プロセス終了前に呼び出すことで、
|
|
32
|
+
* Dart Analysis Server などの外部プロセスを適切に終了
|
|
33
|
+
*/
|
|
34
|
+
export declare function cleanup(): Promise<void>;
|
|
28
35
|
//# sourceMappingURL=codeintel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeintel.d.ts","sourceRoot":"","sources":["../../../src/indexer/codeintel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codeintel.d.ts","sourceRoot":"","sources":["../../../src/indexer/codeintel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAS5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAc3D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED;;;;;GAKG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7C"}
|