kiri-mcp-server 0.9.9 → 0.11.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 +60 -7
- package/config/scoring-profiles.yml +82 -35
- package/dist/config/scoring-profiles.yml +82 -35
- package/dist/package.json +12 -1
- package/dist/src/client/proxy.js +81 -12
- package/dist/src/client/proxy.js.map +1 -1
- package/dist/src/daemon/daemon.js +91 -14
- package/dist/src/daemon/daemon.js.map +1 -1
- package/dist/src/indexer/cli.d.ts.map +1 -1
- package/dist/src/indexer/cli.js +712 -98
- package/dist/src/indexer/cli.js.map +1 -1
- package/dist/src/indexer/git.d.ts.map +1 -1
- package/dist/src/indexer/git.js +41 -3
- package/dist/src/indexer/git.js.map +1 -1
- package/dist/src/indexer/migrations/repo-merger.d.ts +33 -0
- package/dist/src/indexer/migrations/repo-merger.d.ts.map +1 -0
- package/dist/src/indexer/migrations/repo-merger.js +67 -0
- package/dist/src/indexer/migrations/repo-merger.js.map +1 -0
- package/dist/src/indexer/schema.d.ts +66 -0
- package/dist/src/indexer/schema.d.ts.map +1 -1
- package/dist/src/indexer/schema.js +337 -0
- package/dist/src/indexer/schema.js.map +1 -1
- package/dist/src/server/abbreviations.d.ts +47 -0
- package/dist/src/server/abbreviations.d.ts.map +1 -0
- package/dist/src/server/abbreviations.js +71 -0
- package/dist/src/server/abbreviations.js.map +1 -0
- package/dist/src/server/boost-profiles.d.ts +63 -0
- package/dist/src/server/boost-profiles.d.ts.map +1 -0
- package/dist/src/server/boost-profiles.js +202 -0
- package/dist/src/server/boost-profiles.js.map +1 -0
- package/dist/src/server/config.d.ts +45 -0
- package/dist/src/server/config.d.ts.map +1 -0
- package/dist/src/server/config.js +146 -0
- package/dist/src/server/config.js.map +1 -0
- package/dist/src/server/context.d.ts +29 -0
- package/dist/src/server/context.d.ts.map +1 -1
- package/dist/src/server/context.js +26 -1
- package/dist/src/server/context.js.map +1 -1
- package/dist/src/server/handlers/snippets-get.d.ts +36 -0
- package/dist/src/server/handlers/snippets-get.d.ts.map +1 -0
- package/dist/src/server/handlers/snippets-get.js +120 -0
- package/dist/src/server/handlers/snippets-get.js.map +1 -0
- package/dist/src/server/handlers.d.ts +35 -22
- package/dist/src/server/handlers.d.ts.map +1 -1
- package/dist/src/server/handlers.js +1993 -414
- package/dist/src/server/handlers.js.map +1 -1
- package/dist/src/server/indexBootstrap.d.ts.map +1 -1
- package/dist/src/server/indexBootstrap.js +49 -2
- package/dist/src/server/indexBootstrap.js.map +1 -1
- package/dist/src/server/main.d.ts.map +1 -1
- package/dist/src/server/main.js +119 -30
- package/dist/src/server/main.js.map +1 -1
- package/dist/src/server/profile-selector.d.ts +33 -0
- package/dist/src/server/profile-selector.d.ts.map +1 -0
- package/dist/src/server/profile-selector.js +291 -0
- package/dist/src/server/profile-selector.js.map +1 -0
- package/dist/src/server/rpc.d.ts.map +1 -1
- package/dist/src/server/rpc.js +61 -12
- package/dist/src/server/rpc.js.map +1 -1
- package/dist/src/server/rrf.d.ts +86 -0
- package/dist/src/server/rrf.d.ts.map +1 -0
- package/dist/src/server/rrf.js +108 -0
- package/dist/src/server/rrf.js.map +1 -0
- package/dist/src/server/runtime.d.ts.map +1 -1
- package/dist/src/server/runtime.js +14 -4
- package/dist/src/server/runtime.js.map +1 -1
- package/dist/src/server/scoring.d.ts +7 -1
- package/dist/src/server/scoring.d.ts.map +1 -1
- package/dist/src/server/scoring.js +121 -2
- package/dist/src/server/scoring.js.map +1 -1
- package/dist/src/server/services/index.d.ts +24 -0
- package/dist/src/server/services/index.d.ts.map +1 -0
- package/dist/src/server/services/index.js +20 -0
- package/dist/src/server/services/index.js.map +1 -0
- package/dist/src/server/services/repo-repository.d.ts +61 -0
- package/dist/src/server/services/repo-repository.d.ts.map +1 -0
- package/dist/src/server/services/repo-repository.js +93 -0
- package/dist/src/server/services/repo-repository.js.map +1 -0
- package/dist/src/server/services/repo-resolver.d.ts +28 -0
- package/dist/src/server/services/repo-resolver.d.ts.map +1 -0
- package/dist/src/server/services/repo-resolver.js +62 -0
- package/dist/src/server/services/repo-resolver.js.map +1 -0
- package/dist/src/shared/cli/args.d.ts +70 -0
- package/dist/src/shared/cli/args.d.ts.map +1 -0
- package/dist/src/shared/cli/args.js +84 -0
- package/dist/src/shared/cli/args.js.map +1 -0
- package/dist/src/shared/duckdb.d.ts.map +1 -1
- package/dist/src/shared/duckdb.js +21 -1
- package/dist/src/shared/duckdb.js.map +1 -1
- package/dist/src/shared/embedding/engine.d.ts +38 -0
- package/dist/src/shared/embedding/engine.d.ts.map +1 -0
- package/dist/src/shared/embedding/engine.js +6 -0
- package/dist/src/shared/embedding/engine.js.map +1 -0
- package/dist/src/shared/embedding/lsh-engine.d.ts +11 -0
- package/dist/src/shared/embedding/lsh-engine.d.ts.map +1 -0
- package/dist/src/shared/embedding/lsh-engine.js +14 -0
- package/dist/src/shared/embedding/lsh-engine.js.map +1 -0
- package/dist/src/shared/embedding/registry.d.ts +25 -0
- package/dist/src/shared/embedding/registry.d.ts.map +1 -0
- package/dist/src/shared/embedding/registry.js +50 -0
- package/dist/src/shared/embedding/registry.js.map +1 -0
- package/dist/src/shared/embedding/semantic-engine.d.ts +14 -0
- package/dist/src/shared/embedding/semantic-engine.d.ts.map +1 -0
- package/dist/src/shared/embedding/semantic-engine.js +50 -0
- package/dist/src/shared/embedding/semantic-engine.js.map +1 -0
- package/dist/src/shared/fs/safePath.d.ts +7 -0
- package/dist/src/shared/fs/safePath.d.ts.map +1 -0
- package/dist/src/shared/fs/safePath.js +23 -0
- package/dist/src/shared/fs/safePath.js.map +1 -0
- package/dist/src/shared/models/model-manager.d.ts +38 -0
- package/dist/src/shared/models/model-manager.d.ts.map +1 -0
- package/dist/src/shared/models/model-manager.js +116 -0
- package/dist/src/shared/models/model-manager.js.map +1 -0
- package/dist/src/shared/models/model-manifest.d.ts +22 -0
- package/dist/src/shared/models/model-manifest.d.ts.map +1 -0
- package/dist/src/shared/models/model-manifest.js +24 -0
- package/dist/src/shared/models/model-manifest.js.map +1 -0
- package/dist/src/shared/utils/glob.d.ts +5 -0
- package/dist/src/shared/utils/glob.d.ts.map +1 -0
- package/dist/src/shared/utils/glob.js +22 -0
- package/dist/src/shared/utils/glob.js.map +1 -0
- package/dist/src/shared/utils/retry.d.ts +8 -0
- package/dist/src/shared/utils/retry.d.ts.map +1 -0
- package/dist/src/shared/utils/retry.js +20 -0
- package/dist/src/shared/utils/retry.js.map +1 -0
- package/dist/src/shared/utils/validation.d.ts +14 -0
- package/dist/src/shared/utils/validation.d.ts.map +1 -0
- package/dist/src/shared/utils/validation.js +22 -0
- package/dist/src/shared/utils/validation.js.map +1 -0
- package/package.json +29 -20
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants
|
|
3
|
+
*/
|
|
4
|
+
const DEFAULT_SNIPPET_WINDOW = 150;
|
|
5
|
+
/**
|
|
6
|
+
* 行番号をプレフィックスとして追加する(動的幅調整)
|
|
7
|
+
*
|
|
8
|
+
* @param snippet - スニペットの内容
|
|
9
|
+
* @param startLine - 開始行番号(1-indexed)
|
|
10
|
+
* @returns 行番号付きスニペット
|
|
11
|
+
*/
|
|
12
|
+
function prependLineNumbers(snippet, startLine) {
|
|
13
|
+
const lines = snippet.split(/\r?\n/);
|
|
14
|
+
if (lines.length === 0) {
|
|
15
|
+
return snippet;
|
|
16
|
+
}
|
|
17
|
+
// Calculate required width from the last line number (dynamic sizing)
|
|
18
|
+
const endLine = startLine + lines.length - 1;
|
|
19
|
+
const width = String(endLine).length;
|
|
20
|
+
return lines
|
|
21
|
+
.map((line, index) => `${String(startLine + index).padStart(width, " ")}→${line}`)
|
|
22
|
+
.join("\n");
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* snippets_get MCP Tool Handler
|
|
26
|
+
*
|
|
27
|
+
* 指定されたファイルパスから、シンボル境界を考慮したコードスニペットを取得する。
|
|
28
|
+
* start_line/end_line が指定されていない場合、最適なシンボル(関数、クラスなど)を自動選択する。
|
|
29
|
+
*
|
|
30
|
+
* @param context - サーバーコンテキスト(DB、repoId等)
|
|
31
|
+
* @param params - snippets_get パラメータ
|
|
32
|
+
* @returns スニペット結果
|
|
33
|
+
* @throws Error ファイルが見つからない、バイナリファイル、コンテンツが利用不可の場合
|
|
34
|
+
*/
|
|
35
|
+
export async function snippetsGet(context, params) {
|
|
36
|
+
const { db, repoId } = context;
|
|
37
|
+
if (!params.path) {
|
|
38
|
+
throw new Error("snippets_get requires a file path. Specify a tracked text file path to continue.");
|
|
39
|
+
}
|
|
40
|
+
const rows = await db.all(`
|
|
41
|
+
SELECT f.path, f.lang, f.ext, f.is_binary, b.content
|
|
42
|
+
FROM file f
|
|
43
|
+
JOIN blob b ON b.hash = f.blob_hash
|
|
44
|
+
WHERE f.repo_id = ? AND f.path = ?
|
|
45
|
+
LIMIT 1
|
|
46
|
+
`, [repoId, params.path]);
|
|
47
|
+
if (rows.length === 0) {
|
|
48
|
+
throw new Error(`Requested snippet file ${params.path} was not indexed. Re-run the indexer or choose another path.`);
|
|
49
|
+
}
|
|
50
|
+
const row = rows[0];
|
|
51
|
+
if (!row) {
|
|
52
|
+
throw new Error(`Requested snippet file ${params.path} was not indexed. Re-run the indexer or choose another path.`);
|
|
53
|
+
}
|
|
54
|
+
if (row.is_binary) {
|
|
55
|
+
throw new Error("Binary snippets are not supported. Choose a text file to preview its content.");
|
|
56
|
+
}
|
|
57
|
+
if (row.content === null) {
|
|
58
|
+
throw new Error(`Snippet content was NULL for ${params.path}. Re-run the indexer with --full to repopulate blob content.`);
|
|
59
|
+
}
|
|
60
|
+
const lines = row.content.split(/\r?\n/);
|
|
61
|
+
const totalLines = lines.length;
|
|
62
|
+
const snippetRows = await db.all(`
|
|
63
|
+
SELECT s.snippet_id, s.start_line, s.end_line, s.symbol_id, sym.name AS symbol_name, sym.kind AS symbol_kind
|
|
64
|
+
FROM snippet s
|
|
65
|
+
LEFT JOIN symbol sym
|
|
66
|
+
ON sym.repo_id = s.repo_id
|
|
67
|
+
AND sym.path = s.path
|
|
68
|
+
AND sym.symbol_id = s.symbol_id
|
|
69
|
+
WHERE s.repo_id = ? AND s.path = ?
|
|
70
|
+
ORDER BY s.start_line
|
|
71
|
+
`, [repoId, params.path]);
|
|
72
|
+
const requestedStart = params.start_line ?? 1;
|
|
73
|
+
const requestedEnd = params.end_line ?? Math.min(totalLines, requestedStart + DEFAULT_SNIPPET_WINDOW - 1);
|
|
74
|
+
const useSymbolSnippets = snippetRows.length > 0 && params.end_line === undefined;
|
|
75
|
+
let snippetSelection = null;
|
|
76
|
+
if (useSymbolSnippets) {
|
|
77
|
+
snippetSelection =
|
|
78
|
+
snippetRows.find((snippet) => requestedStart >= snippet.start_line && requestedStart <= snippet.end_line) ?? null;
|
|
79
|
+
if (!snippetSelection) {
|
|
80
|
+
const firstSnippet = snippetRows[0];
|
|
81
|
+
if (firstSnippet && requestedStart < firstSnippet.start_line) {
|
|
82
|
+
snippetSelection = firstSnippet;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
snippetSelection = snippetRows[snippetRows.length - 1] ?? null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
let startLine;
|
|
90
|
+
let endLine;
|
|
91
|
+
let symbolName = null;
|
|
92
|
+
let symbolKind = null;
|
|
93
|
+
if (snippetSelection) {
|
|
94
|
+
startLine = snippetSelection.start_line;
|
|
95
|
+
endLine = snippetSelection.end_line;
|
|
96
|
+
symbolName = snippetSelection.symbol_name;
|
|
97
|
+
symbolKind = snippetSelection.symbol_kind;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
startLine = Math.max(1, Math.min(totalLines, requestedStart));
|
|
101
|
+
endLine = Math.max(startLine, Math.min(totalLines, requestedEnd));
|
|
102
|
+
}
|
|
103
|
+
const isCompact = params.compact === true;
|
|
104
|
+
const addLineNumbers = params.includeLineNumbers === true && !isCompact;
|
|
105
|
+
let content;
|
|
106
|
+
if (!isCompact) {
|
|
107
|
+
const snippetContent = lines.slice(startLine - 1, endLine).join("\n");
|
|
108
|
+
content = addLineNumbers ? prependLineNumbers(snippetContent, startLine) : snippetContent;
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
path: row.path,
|
|
112
|
+
startLine,
|
|
113
|
+
endLine,
|
|
114
|
+
...(content !== undefined && { content }),
|
|
115
|
+
totalLines,
|
|
116
|
+
symbolName,
|
|
117
|
+
symbolKind,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=snippets-get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippets-get.js","sourceRoot":"","sources":["../../../../src/server/handlers/snippets-get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,30 @@
|
|
|
1
1
|
import { DuckDBClient } from "../shared/duckdb.js";
|
|
2
|
-
import {
|
|
2
|
+
import { type BoostProfileName } from "./boost-profiles.js";
|
|
3
|
+
import { ServerContext, TableAvailability } from "./context.js";
|
|
4
|
+
import { ServerServices } from "./services/index.js";
|
|
5
|
+
export { snippetsGet, type SnippetsGetParams, type SnippetResult, } from "./handlers/snippets-get.js";
|
|
6
|
+
/**
|
|
7
|
+
* checkTableAvailability
|
|
8
|
+
*
|
|
9
|
+
* 起動時にテーブルの存在を確認し、TableAvailabilityオブジェクトを生成する。
|
|
10
|
+
* これにより、グローバルミュータブル変数による競合状態を回避する。
|
|
11
|
+
*
|
|
12
|
+
* NOTE: スキーマ変更(テーブル追加)後はサーバーの再起動が必要です。
|
|
13
|
+
*
|
|
14
|
+
* @param db - DuckDBClient インスタンス
|
|
15
|
+
* @returns TableAvailability オブジェクト
|
|
16
|
+
* @throws データベース接続エラー等、テーブル不在以外のエラーが発生した場合
|
|
17
|
+
*/
|
|
18
|
+
export declare function checkTableAvailability(db: DuckDBClient): Promise<TableAvailability>;
|
|
3
19
|
export interface FilesSearchParams {
|
|
4
20
|
query: string;
|
|
5
21
|
lang?: string;
|
|
6
22
|
ext?: string;
|
|
7
23
|
path_prefix?: string;
|
|
8
24
|
limit?: number;
|
|
9
|
-
boost_profile?:
|
|
25
|
+
boost_profile?: BoostProfileName;
|
|
10
26
|
compact?: boolean;
|
|
27
|
+
metadata_filters?: Record<string, string | string[]>;
|
|
11
28
|
}
|
|
12
29
|
export interface FilesSearchResult {
|
|
13
30
|
path: string;
|
|
@@ -17,35 +34,21 @@ export interface FilesSearchResult {
|
|
|
17
34
|
ext: string | null;
|
|
18
35
|
score: number;
|
|
19
36
|
}
|
|
20
|
-
export interface SnippetsGetParams {
|
|
21
|
-
path: string;
|
|
22
|
-
start_line?: number;
|
|
23
|
-
end_line?: number;
|
|
24
|
-
compact?: boolean;
|
|
25
|
-
includeLineNumbers?: boolean;
|
|
26
|
-
}
|
|
27
|
-
export interface SnippetResult {
|
|
28
|
-
path: string;
|
|
29
|
-
startLine: number;
|
|
30
|
-
endLine: number;
|
|
31
|
-
content?: string;
|
|
32
|
-
totalLines: number;
|
|
33
|
-
symbolName: string | null;
|
|
34
|
-
symbolKind: string | null;
|
|
35
|
-
}
|
|
36
37
|
export interface ContextBundleArtifacts {
|
|
37
38
|
editing_path?: string;
|
|
38
39
|
failing_tests?: string[];
|
|
39
40
|
last_diff?: string;
|
|
41
|
+
hints?: string[];
|
|
40
42
|
}
|
|
41
43
|
export interface ContextBundleParams {
|
|
42
44
|
goal: string;
|
|
43
45
|
artifacts?: ContextBundleArtifacts;
|
|
44
46
|
limit?: number;
|
|
45
47
|
profile?: string;
|
|
46
|
-
boost_profile?:
|
|
48
|
+
boost_profile?: BoostProfileName;
|
|
47
49
|
compact?: boolean;
|
|
48
50
|
includeTokensEstimate?: boolean;
|
|
51
|
+
metadata_filters?: Record<string, string | string[]>;
|
|
49
52
|
}
|
|
50
53
|
export interface ContextBundleItem {
|
|
51
54
|
path: string;
|
|
@@ -103,9 +106,19 @@ export interface DepsClosureResult {
|
|
|
103
106
|
edges: DepsClosureEdge[];
|
|
104
107
|
}
|
|
105
108
|
export declare function filesSearch(context: ServerContext, params: FilesSearchParams): Promise<FilesSearchResult[]>;
|
|
106
|
-
export declare function snippetsGet(context: ServerContext, params: SnippetsGetParams): Promise<SnippetResult>;
|
|
107
|
-
export declare function contextBundle(context: ServerContext, params: ContextBundleParams): Promise<ContextBundleResult>;
|
|
108
109
|
export declare function semanticRerank(context: ServerContext, params: SemanticRerankParams): Promise<SemanticRerankResult>;
|
|
109
110
|
export declare function depsClosure(context: ServerContext, params: DepsClosureParams): Promise<DepsClosureResult>;
|
|
110
|
-
|
|
111
|
+
/**
|
|
112
|
+
* リポジトリのrootパスをデータベースIDに解決する。
|
|
113
|
+
*
|
|
114
|
+
* この関数は下位互換性のために保持されているが、内部的には新しいRepoResolverを使用する。
|
|
115
|
+
*
|
|
116
|
+
* @param db - DuckDBクライアント
|
|
117
|
+
* @param repoRoot - リポジトリのrootパス
|
|
118
|
+
* @param services - オプショナルなServerServices(指定がなければ新規作成される)
|
|
119
|
+
* @returns リポジトリID
|
|
120
|
+
* @throws Error リポジトリがインデックスされていない場合
|
|
121
|
+
*/
|
|
122
|
+
export declare function resolveRepoId(db: DuckDBClient, repoRoot: string, services?: ServerServices): Promise<number>;
|
|
123
|
+
export declare function contextBundle(context: ServerContext, params: ContextBundleParams): Promise<ContextBundleResult>;
|
|
111
124
|
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers.ts"],"names":[],"mappings":"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"}
|