kiri-mcp-server 0.14.0 → 0.16.1

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 (57) hide show
  1. package/README.md +51 -11
  2. package/config/scoring-profiles.yml +78 -0
  3. package/config/stop-words.yml +307 -0
  4. package/dist/config/scoring-profiles.yml +78 -0
  5. package/dist/config/stop-words.yml +307 -0
  6. package/dist/package.json +2 -2
  7. package/dist/src/indexer/cli.d.ts +1 -0
  8. package/dist/src/indexer/cli.d.ts.map +1 -1
  9. package/dist/src/indexer/cli.js +22 -2
  10. package/dist/src/indexer/cli.js.map +1 -1
  11. package/dist/src/indexer/cochange.d.ts +97 -0
  12. package/dist/src/indexer/cochange.d.ts.map +1 -0
  13. package/dist/src/indexer/cochange.js +315 -0
  14. package/dist/src/indexer/cochange.js.map +1 -0
  15. package/dist/src/indexer/graph-metrics.d.ts +68 -0
  16. package/dist/src/indexer/graph-metrics.d.ts.map +1 -0
  17. package/dist/src/indexer/graph-metrics.js +239 -0
  18. package/dist/src/indexer/graph-metrics.js.map +1 -0
  19. package/dist/src/indexer/schema.d.ts +15 -0
  20. package/dist/src/indexer/schema.d.ts.map +1 -1
  21. package/dist/src/indexer/schema.js +86 -0
  22. package/dist/src/indexer/schema.js.map +1 -1
  23. package/dist/src/server/context.d.ts +2 -0
  24. package/dist/src/server/context.d.ts.map +1 -1
  25. package/dist/src/server/context.js.map +1 -1
  26. package/dist/src/server/handlers/snippets-get.d.ts +10 -0
  27. package/dist/src/server/handlers/snippets-get.d.ts.map +1 -1
  28. package/dist/src/server/handlers/snippets-get.js +40 -3
  29. package/dist/src/server/handlers/snippets-get.js.map +1 -1
  30. package/dist/src/server/handlers.d.ts +1 -1
  31. package/dist/src/server/handlers.d.ts.map +1 -1
  32. package/dist/src/server/handlers.js +208 -51
  33. package/dist/src/server/handlers.js.map +1 -1
  34. package/dist/src/server/idf-provider.d.ts +110 -0
  35. package/dist/src/server/idf-provider.d.ts.map +1 -0
  36. package/dist/src/server/idf-provider.js +233 -0
  37. package/dist/src/server/idf-provider.js.map +1 -0
  38. package/dist/src/server/rpc.d.ts.map +1 -1
  39. package/dist/src/server/rpc.js +21 -1
  40. package/dist/src/server/rpc.js.map +1 -1
  41. package/dist/src/server/scoring.d.ts +10 -0
  42. package/dist/src/server/scoring.d.ts.map +1 -1
  43. package/dist/src/server/scoring.js +73 -0
  44. package/dist/src/server/scoring.js.map +1 -1
  45. package/dist/src/server/services/index.d.ts +2 -0
  46. package/dist/src/server/services/index.d.ts.map +1 -1
  47. package/dist/src/server/services/index.js +3 -0
  48. package/dist/src/server/services/index.js.map +1 -1
  49. package/dist/src/server/stop-words.d.ts +106 -0
  50. package/dist/src/server/stop-words.d.ts.map +1 -0
  51. package/dist/src/server/stop-words.js +312 -0
  52. package/dist/src/server/stop-words.js.map +1 -0
  53. package/dist/src/shared/duckdb.d.ts +8 -2
  54. package/dist/src/shared/duckdb.d.ts.map +1 -1
  55. package/dist/src/shared/duckdb.js +37 -62
  56. package/dist/src/shared/duckdb.js.map +1 -1
  57. package/package.json +2 -2
@@ -0,0 +1,239 @@
1
+ /**
2
+ * Graph Metrics Computation (Phase 3.2: Graph Layer)
3
+ *
4
+ * This module computes graph centrality metrics from the dependency table
5
+ * and stores them in precomputed tables for fast query-time lookup.
6
+ *
7
+ * Invariants (from Alloy spec):
8
+ * - DG1: All path edges reference indexed files
9
+ * - DG2: No self-loops
10
+ * - DG4: Closure symmetry (outbound/inbound consistency)
11
+ *
12
+ * Metrics computed:
13
+ * - Degree centrality (inbound/outbound counts)
14
+ * - Importance score (PageRank-like)
15
+ * - Inbound closure (BFS up to depth 3)
16
+ */
17
+ const DEFAULT_CONFIG = {
18
+ maxDepth: 3,
19
+ dampingFactor: 0.85,
20
+ iterations: 10,
21
+ };
22
+ /** Minimum score floor to prevent division by zero during PageRank normalization */
23
+ const MIN_PAGERANK_SCORE = 0.001;
24
+ /**
25
+ * Compute all graph metrics for a repository.
26
+ * Called after dependency extraction during indexing.
27
+ *
28
+ * @param db - DuckDB client
29
+ * @param repoId - Repository ID
30
+ * @param config - Optional configuration
31
+ */
32
+ export async function computeGraphMetrics(db, repoId, config = {}) {
33
+ const cfg = { ...DEFAULT_CONFIG, ...config };
34
+ console.info(`[GraphMetrics] Computing metrics for repo ${repoId}...`);
35
+ // Compute in parallel where possible
36
+ await Promise.all([
37
+ computeDegreeCentrality(db, repoId),
38
+ precomputeInboundClosure(db, repoId, cfg.maxDepth),
39
+ ]);
40
+ // PageRank depends on degree centrality, so run after
41
+ await computeImportanceScores(db, repoId, cfg.dampingFactor, cfg.iterations);
42
+ console.info(`[GraphMetrics] Completed for repo ${repoId}`);
43
+ }
44
+ /**
45
+ * Compute degree centrality (inbound and outbound counts).
46
+ *
47
+ * Uses SQL aggregation for efficiency.
48
+ */
49
+ export async function computeDegreeCentrality(db, repoId) {
50
+ // Clear existing metrics for this repo
51
+ await db.run(`DELETE FROM graph_metrics WHERE repo_id = ?`, [repoId]);
52
+ // Compute outbound counts (files this file imports)
53
+ await db.run(`
54
+ INSERT INTO graph_metrics (repo_id, path, outbound_count, inbound_count, importance_score, computed_at)
55
+ SELECT
56
+ repo_id,
57
+ src_path as path,
58
+ COUNT(*) as outbound_count,
59
+ 0 as inbound_count,
60
+ 0.0 as importance_score,
61
+ CURRENT_TIMESTAMP as computed_at
62
+ FROM dependency
63
+ WHERE repo_id = ? AND dst_kind = 'path'
64
+ GROUP BY repo_id, src_path
65
+ `, [repoId]);
66
+ // Update inbound counts (files that import this file)
67
+ await db.run(`
68
+ WITH inbound_counts AS (
69
+ SELECT dst as path, COUNT(*) as cnt
70
+ FROM dependency
71
+ WHERE repo_id = ? AND dst_kind = 'path'
72
+ GROUP BY dst
73
+ )
74
+ UPDATE graph_metrics
75
+ SET inbound_count = COALESCE((
76
+ SELECT ic.cnt FROM inbound_counts ic WHERE ic.path = graph_metrics.path
77
+ ), 0)
78
+ WHERE repo_id = ?
79
+ `, [repoId, repoId]);
80
+ // Insert files that only have inbound dependencies (not already in table)
81
+ await db.run(`
82
+ INSERT INTO graph_metrics (repo_id, path, outbound_count, inbound_count, importance_score, computed_at)
83
+ SELECT
84
+ ? as repo_id,
85
+ dst as path,
86
+ 0 as outbound_count,
87
+ COUNT(*) as inbound_count,
88
+ 0.0 as importance_score,
89
+ CURRENT_TIMESTAMP as computed_at
90
+ FROM dependency
91
+ WHERE repo_id = ? AND dst_kind = 'path'
92
+ AND dst NOT IN (SELECT path FROM graph_metrics WHERE repo_id = ?)
93
+ GROUP BY dst
94
+ `, [repoId, repoId, repoId]);
95
+ }
96
+ /**
97
+ * Precompute inbound closure using BFS up to maxDepth.
98
+ *
99
+ * Uses recursive CTE for efficient computation.
100
+ */
101
+ export async function precomputeInboundClosure(db, repoId, maxDepth) {
102
+ // Clear existing closure for this repo
103
+ await db.run(`DELETE FROM inbound_edges WHERE repo_id = ?`, [repoId]);
104
+ // Use recursive CTE to compute transitive closure
105
+ // This computes: for each file, which files import it (directly or transitively)
106
+ await db.run(`
107
+ INSERT INTO inbound_edges (repo_id, target_path, source_path, depth)
108
+ WITH RECURSIVE closure(target, source, depth) AS (
109
+ -- Base case: direct inbound edges (depth 1)
110
+ SELECT
111
+ dst as target,
112
+ src_path as source,
113
+ 1 as depth
114
+ FROM dependency
115
+ WHERE repo_id = ? AND dst_kind = 'path'
116
+
117
+ UNION ALL
118
+
119
+ -- Recursive case: follow inbound edges from sources
120
+ SELECT
121
+ c.target,
122
+ d.src_path as source,
123
+ c.depth + 1 as depth
124
+ FROM closure c
125
+ JOIN dependency d ON d.dst = c.source AND d.repo_id = ? AND d.dst_kind = 'path'
126
+ WHERE c.depth < ?
127
+ -- Avoid cycles: don't add source if it would equal target
128
+ AND d.src_path != c.target
129
+ )
130
+ SELECT DISTINCT
131
+ ? as repo_id,
132
+ target as target_path,
133
+ source as source_path,
134
+ MIN(depth) as depth -- Keep shortest path
135
+ FROM closure
136
+ GROUP BY target, source
137
+ `, [repoId, repoId, maxDepth, repoId]);
138
+ }
139
+ /**
140
+ * Compute importance scores using PageRank-like algorithm.
141
+ *
142
+ * This is a simplified PageRank that:
143
+ * - Uses inbound edges for importance propagation
144
+ * - Runs for a fixed number of iterations
145
+ * - Normalizes scores to [0, 1]
146
+ */
147
+ export async function computeImportanceScores(db, repoId, dampingFactor, iterations) {
148
+ // Get all files with their dependencies
149
+ const files = await db.all(`SELECT DISTINCT path FROM graph_metrics WHERE repo_id = ?`, [repoId]);
150
+ if (files.length === 0) {
151
+ return;
152
+ }
153
+ const N = files.length;
154
+ const baseProbability = (1 - dampingFactor) / N;
155
+ // Initialize scores uniformly
156
+ const scores = new Map();
157
+ for (const f of files) {
158
+ scores.set(f.path, 1.0 / N);
159
+ }
160
+ // Load dependency edges (for outbound count)
161
+ const edges = await db.all(`
162
+ SELECT src_path as src, dst as dst
163
+ FROM dependency
164
+ WHERE repo_id = ? AND dst_kind = 'path'
165
+ `, [repoId]);
166
+ // Build adjacency structure
167
+ const outboundCount = new Map();
168
+ const inbound = new Map();
169
+ for (const e of edges) {
170
+ // Count outbound edges
171
+ outboundCount.set(e.src, (outboundCount.get(e.src) ?? 0) + 1);
172
+ // Track inbound edges
173
+ if (!inbound.has(e.dst)) {
174
+ inbound.set(e.dst, []);
175
+ }
176
+ inbound.get(e.dst).push(e.src);
177
+ }
178
+ // Power iteration
179
+ for (let i = 0; i < iterations; i++) {
180
+ const newScores = new Map();
181
+ for (const [path] of scores) {
182
+ let sum = 0;
183
+ const inboundPaths = inbound.get(path) ?? [];
184
+ for (const src of inboundPaths) {
185
+ const srcScore = scores.get(src) ?? 0;
186
+ const srcOutbound = outboundCount.get(src) ?? 1;
187
+ sum += srcScore / srcOutbound;
188
+ }
189
+ newScores.set(path, baseProbability + dampingFactor * sum);
190
+ }
191
+ // Update scores
192
+ for (const [path, score] of newScores) {
193
+ scores.set(path, score);
194
+ }
195
+ }
196
+ // Normalize to [0, 1]
197
+ const maxScore = Math.max(...scores.values(), MIN_PAGERANK_SCORE);
198
+ // Update database
199
+ for (const [path, score] of scores) {
200
+ const normalized = score / maxScore;
201
+ await db.run(`UPDATE graph_metrics SET importance_score = ?, computed_at = CURRENT_TIMESTAMP
202
+ WHERE repo_id = ? AND path = ?`, [normalized, repoId, path]);
203
+ }
204
+ }
205
+ /**
206
+ * Incrementally update graph metrics for changed files.
207
+ * Used during incremental indexing to avoid full recomputation.
208
+ *
209
+ * @param db - DuckDB client
210
+ * @param repoId - Repository ID
211
+ * @param changedPaths - Paths that were added, modified, or removed
212
+ */
213
+ export async function incrementalGraphUpdate(db, repoId, changedPaths) {
214
+ if (changedPaths.length === 0) {
215
+ return;
216
+ }
217
+ console.info(`[GraphMetrics] Incremental update for ${changedPaths.length} files...`);
218
+ // Find all affected files (changed files + their dependents)
219
+ const placeholders = changedPaths.map(() => "?").join(", ");
220
+ // Get files that depend on changed files (need closure update)
221
+ const dependents = await db.all(`
222
+ SELECT DISTINCT src_path as path
223
+ FROM dependency
224
+ WHERE repo_id = ? AND dst IN (${placeholders}) AND dst_kind = 'path'
225
+ `, [repoId, ...changedPaths]);
226
+ const affectedPaths = new Set([...changedPaths, ...dependents.map((d) => d.path)]);
227
+ // Delete metrics for affected files
228
+ const affectedPlaceholders = Array.from(affectedPaths)
229
+ .map(() => "?")
230
+ .join(", ");
231
+ await db.run(`DELETE FROM graph_metrics WHERE repo_id = ? AND path IN (${affectedPlaceholders})`, [repoId, ...affectedPaths]);
232
+ // Delete inbound edges involving affected files
233
+ await db.run(`DELETE FROM inbound_edges WHERE repo_id = ?
234
+ AND (target_path IN (${affectedPlaceholders}) OR source_path IN (${affectedPlaceholders}))`, [repoId, ...affectedPaths, ...affectedPaths]);
235
+ // Recompute metrics (full recomputation is simpler and more reliable)
236
+ // In the future, could be optimized to only recompute affected subgraph
237
+ await computeGraphMetrics(db, repoId);
238
+ }
239
+ //# sourceMappingURL=graph-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-metrics.js","sourceRoot":"","sources":["../../../src/indexer/graph-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAgBH,MAAM,cAAc,GAAuB;IACzC,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,oFAAoF;AACpF,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAgB,EAChB,MAAc,EACd,SAAsC,EAAE;IAExC,MAAM,GAAG,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7C,OAAO,CAAC,IAAI,CAAC,6CAA6C,MAAM,KAAK,CAAC,CAAC;IAEvE,qCAAqC;IACrC,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC;QACnC,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC;KACnD,CAAC,CAAC;IAEH,sDAAsD;IACtD,MAAM,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7E,OAAO,CAAC,IAAI,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAgB,EAAE,MAAc;IAC5E,uCAAuC;IACvC,MAAM,EAAE,CAAC,GAAG,CAAC,6CAA6C,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtE,oDAAoD;IACpD,MAAM,EAAE,CAAC,GAAG,CACV;;;;;;;;;;;;GAYD,EACC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,sDAAsD;IACtD,MAAM,EAAE,CAAC,GAAG,CACV;;;;;;;;;;;;GAYD,EACC,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,CAAC;IAEF,0EAA0E;IAC1E,MAAM,EAAE,CAAC,GAAG,CACV;;;;;;;;;;;;;GAaD,EACC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,EAAgB,EAChB,MAAc,EACd,QAAgB;IAEhB,uCAAuC;IACvC,MAAM,EAAE,CAAC,GAAG,CAAC,6CAA6C,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtE,kDAAkD;IAClD,iFAAiF;IACjF,MAAM,EAAE,CAAC,GAAG,CACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BD,EACC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CACnC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,EAAgB,EAChB,MAAc,EACd,aAAqB,EACrB,UAAkB;IAElB,wCAAwC;IACxC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CACxB,2DAA2D,EAC3D,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAEhD,8BAA8B;IAC9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CACxB;;;;GAID,EACC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,4BAA4B;IAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,uBAAuB;QACvB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,sBAAsB;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,kBAAkB;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAE7C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChD,GAAG,IAAI,QAAQ,GAAG,WAAW,CAAC;YAChC,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC;QAC7D,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;IAElE,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;QACpC,MAAM,EAAE,CAAC,GAAG,CACV;sCACgC,EAChC,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAC3B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAgB,EAChB,MAAc,EACd,YAAsB;IAEtB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,yCAAyC,YAAY,CAAC,MAAM,WAAW,CAAC,CAAC;IAEtF,6DAA6D;IAC7D,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,+DAA+D;IAC/D,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,GAAG,CAC7B;;;oCAGgC,YAAY;GAC7C,EACC,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,CAC1B,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnF,oCAAoC;IACpC,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;SACnD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;SACd,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,EAAE,CAAC,GAAG,CACV,4DAA4D,oBAAoB,GAAG,EACnF,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,CAC3B,CAAC;IAEF,gDAAgD;IAChD,MAAM,EAAE,CAAC,GAAG,CACV;4BACwB,oBAAoB,wBAAwB,oBAAoB,IAAI,EAC5F,CAAC,MAAM,EAAE,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC,CAC7C,CAAC;IAEF,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC"}
@@ -132,4 +132,19 @@ export declare function ensureDocumentMetadataTables(db: DuckDBClient): Promise<
132
132
  * @throws Error if database update fails
133
133
  */
134
134
  export declare function setFTSDirty(db: DuckDBClient, repoId: number): Promise<void>;
135
+ /**
136
+ * Graph Layer tables for hybrid search (Phase 3.2 of Issue #82)
137
+ *
138
+ * This function creates tables for:
139
+ * 1. graph_metrics - Precomputed graph centrality metrics per file
140
+ * 2. inbound_edges - Precomputed inbound closure (BFS up to depth 3)
141
+ * 3. cochange - Co-change graph from git history analysis
142
+ *
143
+ * Invariants (verified by Alloy/TLA+ specs in specs/):
144
+ * - DG1-DG3: Dependency graph structural invariants
145
+ * - CC1-CC4: Co-change graph invariants (canonical ordering, positive weight)
146
+ *
147
+ * @param db - DuckDB client
148
+ */
149
+ export declare function ensureGraphLayerTables(db: DuckDBClient): Promise<void>;
135
150
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/indexer/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAmInD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuKtE;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD3E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFhF;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAoChG;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAU7E;AA8BD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAW7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,UAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,YAAY,EAChB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,OAAO,CAAC,OAAO,CAAC,CAkGlB;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFlF;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcjF"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/indexer/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAmInD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0KtE;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD3E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFhF;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAoChG;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAU7E;AA8BD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAW7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,UAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,YAAY,EAChB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,OAAO,CAAC,OAAO,CAAC,CAkGlB;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFlF;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6E5E"}
@@ -185,6 +185,8 @@ export async function ensureBaseSchema(db) {
185
185
  `);
186
186
  // Document metadata tables (delegated to dedicated migration function)
187
187
  await ensureDocumentMetadataTables(db);
188
+ // Graph layer tables (Phase 3.2: Graph Layer for hybrid search)
189
+ await ensureGraphLayerTables(db);
188
190
  await db.run(`
189
191
  CREATE TABLE IF NOT EXISTS markdown_link (
190
192
  repo_id INTEGER,
@@ -710,4 +712,88 @@ export async function setFTSDirty(db, repoId) {
710
712
  fts_generation = fts_generation + 1
711
713
  WHERE id = ?`, [repoId]);
712
714
  }
715
+ /**
716
+ * Graph Layer tables for hybrid search (Phase 3.2 of Issue #82)
717
+ *
718
+ * This function creates tables for:
719
+ * 1. graph_metrics - Precomputed graph centrality metrics per file
720
+ * 2. inbound_edges - Precomputed inbound closure (BFS up to depth 3)
721
+ * 3. cochange - Co-change graph from git history analysis
722
+ *
723
+ * Invariants (verified by Alloy/TLA+ specs in specs/):
724
+ * - DG1-DG3: Dependency graph structural invariants
725
+ * - CC1-CC4: Co-change graph invariants (canonical ordering, positive weight)
726
+ *
727
+ * @param db - DuckDB client
728
+ */
729
+ export async function ensureGraphLayerTables(db) {
730
+ // 1. graph_metrics table - Precomputed centrality metrics
731
+ await db.run(`
732
+ CREATE TABLE IF NOT EXISTS graph_metrics (
733
+ repo_id INTEGER,
734
+ path TEXT,
735
+ inbound_count INTEGER DEFAULT 0,
736
+ outbound_count INTEGER DEFAULT 0,
737
+ importance_score FLOAT DEFAULT 0.0,
738
+ computed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
739
+ PRIMARY KEY (repo_id, path)
740
+ )
741
+ `);
742
+ // Index for fast importance lookup during scoring
743
+ await db.run(`
744
+ CREATE INDEX IF NOT EXISTS idx_graph_importance
745
+ ON graph_metrics(repo_id, importance_score DESC)
746
+ `);
747
+ // 2. inbound_edges table - Precomputed BFS closure
748
+ await db.run(`
749
+ CREATE TABLE IF NOT EXISTS inbound_edges (
750
+ repo_id INTEGER,
751
+ target_path TEXT,
752
+ source_path TEXT,
753
+ depth INTEGER,
754
+ PRIMARY KEY (repo_id, target_path, source_path)
755
+ )
756
+ `);
757
+ // Index for fast inbound lookup by target
758
+ await db.run(`
759
+ CREATE INDEX IF NOT EXISTS idx_inbound_target
760
+ ON inbound_edges(repo_id, target_path)
761
+ `);
762
+ // 3. cochange table - Co-change graph from git history
763
+ // Invariants enforced:
764
+ // - CC1: Canonical ordering (file1 < file2) via CHECK constraint
765
+ // - CC3: Positive weight via CHECK constraint
766
+ await db.run(`
767
+ CREATE TABLE IF NOT EXISTS cochange (
768
+ repo_id INTEGER,
769
+ file1 TEXT,
770
+ file2 TEXT,
771
+ cochange_count INTEGER NOT NULL,
772
+ confidence FLOAT,
773
+ last_commit TEXT,
774
+ last_cochange_at TIMESTAMP,
775
+ PRIMARY KEY (repo_id, file1, file2)
776
+ )
777
+ `);
778
+ // Note: CHECK constraints are validated at application level for DuckDB compatibility
779
+ // CC1 (file1 < file2) and CC3 (cochange_count > 0) are enforced in cochange.ts
780
+ // Indexes for fast co-change lookup (bidirectional)
781
+ await db.run(`
782
+ CREATE INDEX IF NOT EXISTS idx_cochange_file1
783
+ ON cochange(repo_id, file1)
784
+ `);
785
+ await db.run(`
786
+ CREATE INDEX IF NOT EXISTS idx_cochange_file2
787
+ ON cochange(repo_id, file2)
788
+ `);
789
+ // 4. processed_commits table - Track processed commits for idempotency (CC4)
790
+ await db.run(`
791
+ CREATE TABLE IF NOT EXISTS processed_commits (
792
+ repo_id INTEGER,
793
+ commit_hash TEXT,
794
+ processed_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
795
+ PRIMARY KEY (repo_id, commit_hash)
796
+ )
797
+ `);
798
+ }
713
799
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/indexer/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/indexer/schema.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export interface TableAvailability {
12
12
  hasLinkTable: boolean;
13
13
  hasHintLog: boolean;
14
14
  hasHintDictionary: boolean;
15
+ hasGraphMetrics: boolean;
16
+ hasCochange: boolean;
15
17
  }
16
18
  export interface ServerContext {
17
19
  db: DuckDBClient;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/server/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,YAAY,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,EAAE,EAAE,YAAY,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,aAAa,CA2BhB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/server/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,YAAY,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,EAAE,EAAE,YAAY,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,cAAc,CAAC;CAChC,GAAG,aAAa,CA2BhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/server/context.ts"],"names":[],"mappings":"AAiCA;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAUnC;IACC,MAAM,OAAO,GAAkB;QAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;IAEF,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/server/context.ts"],"names":[],"mappings":"AAmCA;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAUnC;IACC,MAAM,OAAO,GAAkB;QAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;IAEF,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -2,12 +2,21 @@ import { ServerContext } from "../context.js";
2
2
  /**
3
3
  * snippets_get tool のパラメータ
4
4
  */
5
+ /**
6
+ * view パラメータの有効な値
7
+ * - "auto": 現行動作を維持(シンボルがあればシンボル境界、なければ行範囲)
8
+ * - "symbol": 強制的にシンボル境界ベースのスニペットを返す
9
+ * - "lines": 行範囲ベースのスニペットを返す(シンボル境界を無視)
10
+ * - "full": ファイル全体を返す(安全上限付き)
11
+ */
12
+ export type SnippetsGetView = "auto" | "symbol" | "lines" | "full";
5
13
  export interface SnippetsGetParams {
6
14
  path: string;
7
15
  start_line?: number;
8
16
  end_line?: number;
9
17
  compact?: boolean;
10
18
  includeLineNumbers?: boolean;
19
+ view?: SnippetsGetView;
11
20
  }
12
21
  /**
13
22
  * snippets_get tool のレスポンス
@@ -20,6 +29,7 @@ export interface SnippetResult {
20
29
  totalLines: number;
21
30
  symbolName: string | null;
22
31
  symbolKind: string | null;
32
+ truncated?: boolean;
23
33
  }
24
34
  /**
25
35
  * snippets_get MCP Tool Handler
@@ -1 +1 @@
1
- {"version":3,"file":"snippets-get.d.ts","sourceRoot":"","sources":["../../../../src/server/handlers/snippets-get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAmDD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,aAAa,CAAC,CAmHxB"}
1
+ {"version":3,"file":"snippets-get.d.ts","sourceRoot":"","sources":["../../../../src/server/handlers/snippets-get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;GAEG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAoDD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,aAAa,CAAC,CAwJxB"}
@@ -2,6 +2,7 @@
2
2
  * Constants
3
3
  */
4
4
  const DEFAULT_SNIPPET_WINDOW = 150;
5
+ const MAX_FULL_LINES = 500; // view: "full" 時の安全上限
5
6
  /**
6
7
  * 行番号をプレフィックスとして追加する(動的幅調整)
7
8
  *
@@ -69,9 +70,42 @@ export async function snippetsGet(context, params) {
69
70
  WHERE s.repo_id = ? AND s.path = ?
70
71
  ORDER BY s.start_line
71
72
  `, [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;
73
+ const view = params.view ?? "auto";
74
+ // view パラメータに基づいて取得戦略を決定
75
+ let useSymbolSnippets;
76
+ let requestedStart;
77
+ let requestedEnd;
78
+ switch (view) {
79
+ case "symbol":
80
+ // 強制的にシンボル境界を使用
81
+ useSymbolSnippets = snippetRows.length > 0;
82
+ requestedStart = params.start_line ?? 1;
83
+ requestedEnd =
84
+ params.end_line ?? Math.min(totalLines, requestedStart + DEFAULT_SNIPPET_WINDOW - 1);
85
+ break;
86
+ case "lines":
87
+ // 行ベース取得(シンボル境界を無視)
88
+ useSymbolSnippets = false;
89
+ requestedStart = params.start_line ?? 1;
90
+ requestedEnd =
91
+ params.end_line ?? Math.min(totalLines, requestedStart + DEFAULT_SNIPPET_WINDOW - 1);
92
+ break;
93
+ case "full":
94
+ // ファイル全体を返す(安全上限付き、start_line/end_line は無視)
95
+ useSymbolSnippets = false;
96
+ requestedStart = 1; // 常に1行目から開始
97
+ requestedEnd = Math.min(totalLines, MAX_FULL_LINES);
98
+ break;
99
+ case "auto":
100
+ default: {
101
+ // 現行動作: シンボルがあり end_line 未指定の場合はシンボル境界を使用
102
+ useSymbolSnippets = snippetRows.length > 0 && params.end_line === undefined;
103
+ requestedStart = params.start_line ?? 1;
104
+ requestedEnd =
105
+ params.end_line ?? Math.min(totalLines, requestedStart + DEFAULT_SNIPPET_WINDOW - 1);
106
+ break;
107
+ }
108
+ }
75
109
  let snippetSelection = null;
76
110
  if (useSymbolSnippets) {
77
111
  snippetSelection =
@@ -107,6 +141,8 @@ export async function snippetsGet(context, params) {
107
141
  const snippetContent = lines.slice(startLine - 1, endLine).join("\n");
108
142
  content = addLineNumbers ? prependLineNumbers(snippetContent, startLine) : snippetContent;
109
143
  }
144
+ // view: "full" でファイルが MAX_FULL_LINES を超えた場合に truncated フラグを設定
145
+ const truncated = view === "full" && totalLines > MAX_FULL_LINES;
110
146
  return {
111
147
  path: row.path,
112
148
  startLine,
@@ -115,6 +151,7 @@ export async function snippetsGet(context, params) {
115
151
  totalLines,
116
152
  symbolName,
117
153
  symbolKind,
154
+ ...(truncated && { truncated }),
118
155
  };
119
156
  }
120
157
  //# sourceMappingURL=snippets-get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snippets-get.js","sourceRoot":"","sources":["../../../../src/server/handlers/snippets-get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snippets-get.js","sourceRoot":"","sources":["../../../../src/server/handlers/snippets-get.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { DuckDBClient } from "../shared/duckdb.js";
2
2
  import { type BoostProfileName } from "./boost-profiles.js";
3
3
  import { ServerContext, TableAvailability } from "./context.js";
4
4
  import { ServerServices } from "./services/index.js";
5
- export { snippetsGet, type SnippetsGetParams, type SnippetResult, } from "./handlers/snippets-get.js";
5
+ export { snippetsGet, type SnippetsGetParams, type SnippetsGetView, type SnippetResult, } from "./handlers/snippets-get.js";
6
6
  /**
7
7
  * checkTableAvailability
8
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers.ts"],"names":[],"mappings":"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"}