kiri-mcp-server 0.16.1 → 0.17.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 (121) hide show
  1. package/README.md +57 -21
  2. package/dist/package.json +1 -1
  3. package/dist/src/client/model-cli.d.ts +12 -0
  4. package/dist/src/client/model-cli.d.ts.map +1 -0
  5. package/dist/src/client/model-cli.js +247 -0
  6. package/dist/src/client/model-cli.js.map +1 -0
  7. package/dist/src/client/proxy.js +0 -0
  8. package/dist/src/daemon/daemon.js +0 -0
  9. package/dist/src/indexer/graph-metrics.d.ts.map +1 -1
  10. package/dist/src/indexer/graph-metrics.js +16 -4
  11. package/dist/src/indexer/graph-metrics.js.map +1 -1
  12. package/dist/src/server/boost-profiles.d.ts +1 -1
  13. package/dist/src/server/boost-profiles.d.ts.map +1 -1
  14. package/dist/src/server/boost-profiles.js +22 -0
  15. package/dist/src/server/boost-profiles.js.map +1 -1
  16. package/dist/src/server/main.js +0 -0
  17. package/dist/src/server/rpc.js +4 -4
  18. package/dist/src/server/rpc.js.map +1 -1
  19. package/dist/src/shared/utils/global-dirs.d.ts +64 -0
  20. package/dist/src/shared/utils/global-dirs.d.ts.map +1 -0
  21. package/dist/src/shared/utils/global-dirs.js +134 -0
  22. package/dist/src/shared/utils/global-dirs.js.map +1 -0
  23. package/dist/src/vss/config.d.ts +66 -0
  24. package/dist/src/vss/config.d.ts.map +1 -0
  25. package/dist/src/vss/config.js +233 -0
  26. package/dist/src/vss/config.js.map +1 -0
  27. package/dist/src/vss/index.d.ts +9 -0
  28. package/dist/src/vss/index.d.ts.map +1 -0
  29. package/dist/src/vss/index.js +9 -0
  30. package/dist/src/vss/index.js.map +1 -0
  31. package/dist/src/vss/model-downloader.d.ts +101 -0
  32. package/dist/src/vss/model-downloader.d.ts.map +1 -0
  33. package/dist/src/vss/model-downloader.js +320 -0
  34. package/dist/src/vss/model-downloader.js.map +1 -0
  35. package/dist/src/vss/provider.d.ts +132 -0
  36. package/dist/src/vss/provider.d.ts.map +1 -0
  37. package/dist/src/vss/provider.js +254 -0
  38. package/dist/src/vss/provider.js.map +1 -0
  39. package/package.json +1 -1
  40. package/dist/client/cli.js +0 -68
  41. package/dist/client/cli.js.map +0 -1
  42. package/dist/client/index.js +0 -5
  43. package/dist/client/index.js.map +0 -1
  44. package/dist/eval/metrics.js +0 -47
  45. package/dist/eval/metrics.js.map +0 -1
  46. package/dist/indexer/cli.js +0 -362
  47. package/dist/indexer/cli.js.map +0 -1
  48. package/dist/indexer/codeintel.js +0 -182
  49. package/dist/indexer/codeintel.js.map +0 -1
  50. package/dist/indexer/git.js +0 -30
  51. package/dist/indexer/git.js.map +0 -1
  52. package/dist/indexer/language.js +0 -34
  53. package/dist/indexer/language.js.map +0 -1
  54. package/dist/indexer/pipeline/filters/denylist.js +0 -71
  55. package/dist/indexer/pipeline/filters/denylist.js.map +0 -1
  56. package/dist/indexer/schema.js +0 -101
  57. package/dist/indexer/schema.js.map +0 -1
  58. package/dist/server/bootstrap.js +0 -19
  59. package/dist/server/bootstrap.js.map +0 -1
  60. package/dist/server/context.js +0 -1
  61. package/dist/server/context.js.map +0 -1
  62. package/dist/server/fallbacks/degradeController.js +0 -69
  63. package/dist/server/fallbacks/degradeController.js.map +0 -1
  64. package/dist/server/handlers.js +0 -1268
  65. package/dist/server/handlers.js.map +0 -1
  66. package/dist/server/main.js +0 -151
  67. package/dist/server/main.js.map +0 -1
  68. package/dist/server/observability/metrics.js +0 -56
  69. package/dist/server/observability/metrics.js.map +0 -1
  70. package/dist/server/observability/tracing.js +0 -58
  71. package/dist/server/observability/tracing.js.map +0 -1
  72. package/dist/server/rpc.js +0 -477
  73. package/dist/server/rpc.js.map +0 -1
  74. package/dist/server/runtime.js +0 -47
  75. package/dist/server/runtime.js.map +0 -1
  76. package/dist/server/scoring.js +0 -116
  77. package/dist/server/scoring.js.map +0 -1
  78. package/dist/server/stdio.js +0 -76
  79. package/dist/server/stdio.js.map +0 -1
  80. package/dist/shared/duckdb.js +0 -119
  81. package/dist/shared/duckdb.js.map +0 -1
  82. package/dist/shared/embedding.js +0 -98
  83. package/dist/shared/embedding.js.map +0 -1
  84. package/dist/shared/index.js +0 -9
  85. package/dist/shared/index.js.map +0 -1
  86. package/dist/shared/security/config.js +0 -64
  87. package/dist/shared/security/config.js.map +0 -1
  88. package/dist/shared/security/masker.js +0 -56
  89. package/dist/shared/security/masker.js.map +0 -1
  90. package/dist/shared/tokenizer.js +0 -4
  91. package/dist/shared/tokenizer.js.map +0 -1
  92. package/dist/shared/utils/simpleYaml.js +0 -89
  93. package/dist/shared/utils/simpleYaml.js.map +0 -1
  94. package/dist/src/server/rrf.d.ts +0 -86
  95. package/dist/src/server/rrf.d.ts.map +0 -1
  96. package/dist/src/server/rrf.js +0 -108
  97. package/dist/src/server/rrf.js.map +0 -1
  98. package/dist/src/shared/embedding/engine.d.ts +0 -38
  99. package/dist/src/shared/embedding/engine.d.ts.map +0 -1
  100. package/dist/src/shared/embedding/engine.js +0 -6
  101. package/dist/src/shared/embedding/engine.js.map +0 -1
  102. package/dist/src/shared/embedding/lsh-engine.d.ts +0 -11
  103. package/dist/src/shared/embedding/lsh-engine.d.ts.map +0 -1
  104. package/dist/src/shared/embedding/lsh-engine.js +0 -14
  105. package/dist/src/shared/embedding/lsh-engine.js.map +0 -1
  106. package/dist/src/shared/embedding/registry.d.ts +0 -25
  107. package/dist/src/shared/embedding/registry.d.ts.map +0 -1
  108. package/dist/src/shared/embedding/registry.js +0 -50
  109. package/dist/src/shared/embedding/registry.js.map +0 -1
  110. package/dist/src/shared/embedding/semantic-engine.d.ts +0 -14
  111. package/dist/src/shared/embedding/semantic-engine.d.ts.map +0 -1
  112. package/dist/src/shared/embedding/semantic-engine.js +0 -50
  113. package/dist/src/shared/embedding/semantic-engine.js.map +0 -1
  114. package/dist/src/shared/models/model-manager.d.ts +0 -38
  115. package/dist/src/shared/models/model-manager.d.ts.map +0 -1
  116. package/dist/src/shared/models/model-manager.js +0 -116
  117. package/dist/src/shared/models/model-manager.js.map +0 -1
  118. package/dist/src/shared/models/model-manifest.d.ts +0 -22
  119. package/dist/src/shared/models/model-manifest.d.ts.map +0 -1
  120. package/dist/src/shared/models/model-manifest.js +0 -24
  121. package/dist/src/shared/models/model-manifest.js.map +0 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Intelligent code context extraction for LLMs via Model Context Protocol
4
4
 
5
- [![Version](https://img.shields.io/badge/version-0.16.1-blue.svg)](package.json)
5
+ [![Version](https://img.shields.io/badge/version-0.17.0-blue.svg)](package.json)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue.svg)](https://www.typescriptlang.org/)
8
8
  [![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)
@@ -20,16 +20,20 @@
20
20
  - **📝 Phrase-Aware**: Recognizes compound terms (kebab-case, snake_case) for precise matching
21
21
  - **🔒 Concurrency-Safe** _(v0.9.7+)_: Per-database queues, canonicalized DuckDB paths, and bootstrap-safe locking prevent FTS rebuild conflicts and keep locks consistent across symlinks—even on first run
22
22
 
23
- ## 🆕 What's New in v0.16.1
23
+ ## 🆕 What's New in v0.17.0
24
+
25
+ ### ✨ New Features
26
+
27
+ - **`code` boost_profile**: New boost profile that strongly deprioritizes documentation and config files (95% penalty) to focus search results on actual implementation code
28
+ - Use `boost_profile: "code"` when you want to find implementation files only
24
29
 
25
30
  ### 🐛 Bug Fixes
26
31
 
27
- - **Graceful degradation for graph layer tables**: Fixed crash when `graph_metrics`/`cochange` tables are missing
28
- - Added table existence check at startup
29
- - Scoring functions skip gracefully with warning logs when tables are unavailable
32
+ - **Graph metrics retry logic**: Added retry logic for transient DuckDB errors during graph metrics computation
30
33
 
31
34
  ### Previous Releases
32
35
 
36
+ - **v0.16.1**: Graceful degradation for graph layer tables
33
37
  - **v0.16.0**: DuckDB client migration to `@duckdb/node-api`
34
38
  - **v0.15.0**: `snippets_get` view parameter, co-change scoring, stop words & IDF weighting
35
39
 
@@ -258,12 +262,12 @@ Tip: Avoid leading command words like `find` or `show`; instead list concrete mo
258
262
 
259
263
  **Parameters:**
260
264
 
261
- | Parameter | Type | Required | Description |
262
- | --------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
263
- | `goal` | string | Yes | Task description or question about the code |
264
- | `limit` | number | No | Max snippets to return (default: 12, max: 20) |
265
- | `compact` | boolean | No | Return only metadata without preview (default: **true** in v0.8.0+, false in v0.7) |
266
- | `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"docs"` (prioritizes .md/.yaml, includes docs/ directory), `"balanced"` (equal weight for docs and impl, NEW in v0.9.10), `"none"` (no boosting) |
265
+ | Parameter | Type | Required | Description |
266
+ | --------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
267
+ | `goal` | string | Yes | Task description or question about the code |
268
+ | `limit` | number | No | Max snippets to return (default: 12, max: 20) |
269
+ | `compact` | boolean | No | Return only metadata without preview (default: **true** in v0.8.0+, false in v0.7) |
270
+ | `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"code"` (strongly deprioritizes docs/config, 95% penalty), `"docs"` (prioritizes .md/.yaml, includes docs/ directory), `"balanced"` (equal weight for docs and impl), `"none"` (no boosting) |
267
271
 
268
272
  ### 2. files_search
269
273
 
@@ -300,14 +304,14 @@ Fast search across all indexed files. Supports multi-word queries, hyphenated te
300
304
 
301
305
  **Parameters:**
302
306
 
303
- | Parameter | Type | Required | Description |
304
- | --------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
305
- | `query` | string | Yes | Search keywords or phrase |
306
- | `limit` | number | No | Max results to return (default: 50, max: 200) |
307
- | `lang` | string | No | Filter by language (e.g., "typescript", "python") |
308
- | `ext` | string | No | Filter by extension (e.g., ".ts", ".md") |
309
- | `path_prefix` | string | No | Filter by path prefix (e.g., "src/auth/") |
310
- | `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"docs"` **(prioritizes .md/.yaml, includes docs/ directory)**, `"none"` (no boosting) |
307
+ | Parameter | Type | Required | Description |
308
+ | --------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
309
+ | `query` | string | Yes | Search keywords or phrase |
310
+ | `limit` | number | No | Max results to return (default: 50, max: 200) |
311
+ | `lang` | string | No | Filter by language (e.g., "typescript", "python") |
312
+ | `ext` | string | No | Filter by extension (e.g., ".ts", ".md") |
313
+ | `path_prefix` | string | No | Filter by path prefix (e.g., "src/auth/") |
314
+ | `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"code"` (strongly deprioritizes docs/config, 95% penalty), `"docs"` **(prioritizes .md/.yaml, includes docs/ directory)**, `"balanced"` (equal weight), `"none"` (no boosting) |
311
315
 
312
316
  ### 3. snippets_get
313
317
 
@@ -548,6 +552,10 @@ Control search ranking behavior with the `boost_profile` parameter:
548
552
  - Implementation files get 30% boost, documentation files get 50% penalty
549
553
  - Config files heavily penalized (95% reduction)
550
554
  - `docs/` directory is blacklisted
555
+ - **`"code"`** (NEW in v0.17.0): Strongly prioritizes implementation code only
556
+ - Documentation and config files get 95% penalty
557
+ - Best for finding actual implementation when you don't want docs in results
558
+ - `docs/` directory is blacklisted
551
559
  - **`"docs"`**: Prioritizes documentation files (`*.md`) over implementation
552
560
  - Documentation files get 50% boost, implementation files get 50% penalty
553
561
  - `docs/` directory is included in search results
@@ -562,6 +570,9 @@ Control search ranking behavior with the `boost_profile` parameter:
562
570
  // Find implementation files (default behavior)
563
571
  files_search({ query: "authentication", boost_profile: "default" });
564
572
 
573
+ // Find only implementation code (no docs/config in results)
574
+ files_search({ query: "authentication", boost_profile: "code" });
575
+
565
576
  // Find documentation
566
577
  files_search({ query: "setup guide", boost_profile: "docs" });
567
578
 
@@ -753,6 +764,31 @@ rm -f .kiri/index.duckdb.sock
753
764
 
754
765
  3. **Restart the MCP connection**
755
766
 
767
+ #### Schema Mismatch After Upgrade (Degrade Mode)
768
+
769
+ **Problem**: After upgrading KIRI, server shows `Server is running in degrade mode` and logs show errors like `Table with name graph_metrics does not exist`
770
+
771
+ **Root Cause**: The existing index was created with an older schema version that doesn't include new tables (e.g., `graph_metrics`, `cochange`).
772
+
773
+ **Solution**:
774
+
775
+ 1. **Stop the daemon**:
776
+
777
+ ```bash
778
+ pkill -f "kiri.*daemon"
779
+ rm -f .kiri/index.duckdb.sock.lock .kiri/index.duckdb.sock
780
+ ```
781
+
782
+ 2. **Rebuild index with full schema**:
783
+
784
+ ```bash
785
+ kiri --repo . --db .kiri/index.duckdb --full
786
+ ```
787
+
788
+ 3. **Restart your MCP client**
789
+
790
+ > **Note**: The `--full` flag ensures all tables including `graph_metrics` and `cochange` are created. This is required when upgrading from versions prior to v0.15.0.
791
+
756
792
  ### Getting Help
757
793
 
758
794
  If you encounter issues not covered here:
@@ -952,8 +988,8 @@ Built with:
952
988
 
953
989
  ---
954
990
 
955
- **Status**: v0.15.0 (Beta) - Production-ready for MCP clients
991
+ **Status**: v0.17.0 (Beta) - Production-ready for MCP clients
956
992
 
957
- **New in v0.15.0**: Co-change scoring, stop words/IDF weighting, and `snippets_get` view parameter for explicit retrieval control. See [CHANGELOG.md](CHANGELOG.md) for details.
993
+ **New in v0.17.0**: `code` boost_profile for implementation-focused search. See [CHANGELOG.md](CHANGELOG.md) for details.
958
994
 
959
995
  For questions or support, please open a [GitHub issue](https://github.com/CAPHTECH/kiri/issues).
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kiri-mcp-server",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "KIRI context extraction platform",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@9.0.0",
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * KIRI Model CLI
4
+ *
5
+ * Manages VSS models for semantic code search.
6
+ * Usage: kiri model <command> [options]
7
+ */
8
+ /**
9
+ * Main entry point
10
+ */
11
+ export declare function runModelCli(args: string[]): Promise<number>;
12
+ //# sourceMappingURL=model-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-cli.d.ts","sourceRoot":"","sources":["../../../src/client/model-cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAsPH;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgCjE"}
@@ -0,0 +1,247 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * KIRI Model CLI
4
+ *
5
+ * Manages VSS models for semantic code search.
6
+ * Usage: kiri model <command> [options]
7
+ */
8
+ import { createInterface } from "node:readline";
9
+ import { getModelsDir, listInstalledModels } from "../shared/utils/global-dirs.js";
10
+ import { SUPPORTED_MODELS } from "../vss/config.js";
11
+ import { downloadModel, removeModel, getModelStatus, listAvailableModels, formatBytes, } from "../vss/model-downloader.js";
12
+ /**
13
+ * Print usage information
14
+ */
15
+ function printUsage() {
16
+ console.info(`
17
+ KIRI Model Manager - Manage VSS models for semantic code search
18
+
19
+ Usage: kiri model <command> [options]
20
+
21
+ Commands:
22
+ download <model> Download a model from HuggingFace
23
+ remove <model> Remove an installed model
24
+ list List available and installed models
25
+ status [model] Show status of installed models
26
+
27
+ Available models:
28
+ codebert-base Microsoft CodeBERT (~500MB)
29
+ unixcoder-base Microsoft UniXcoder (~500MB)
30
+
31
+ Examples:
32
+ kiri model download codebert-base
33
+ kiri model list
34
+ kiri model status
35
+ kiri model remove codebert-base
36
+
37
+ Environment variables:
38
+ KIRI_VSS_MODEL_DIR Override model storage directory (default: ~/.kiri/models)
39
+ `);
40
+ }
41
+ /**
42
+ * Create a progress bar string
43
+ */
44
+ function progressBar(percentage, width = 30) {
45
+ const filled = Math.round((percentage / 100) * width);
46
+ const empty = width - filled;
47
+ return `[${"█".repeat(filled)}${"░".repeat(empty)}]`;
48
+ }
49
+ /**
50
+ * Progress callback for download
51
+ */
52
+ function createProgressReporter() {
53
+ let lastFile = "";
54
+ return (progress) => {
55
+ if (progress.phase === "error") {
56
+ console.error(`\n❌ Error: ${progress.error}`);
57
+ return;
58
+ }
59
+ if (progress.phase === "complete" && progress.file !== lastFile) {
60
+ if (lastFile) {
61
+ process.stdout.write("\n");
62
+ }
63
+ console.info(`✅ ${progress.file}`);
64
+ lastFile = progress.file;
65
+ return;
66
+ }
67
+ if (progress.phase === "downloading") {
68
+ const bar = progressBar(progress.percentage);
69
+ const size = progress.total > 0
70
+ ? `${formatBytes(progress.downloaded)}/${formatBytes(progress.total)}`
71
+ : formatBytes(progress.downloaded);
72
+ process.stdout.write(`\r📥 ${progress.file} ${bar} ${progress.percentage}% ${size}`);
73
+ lastFile = progress.file;
74
+ }
75
+ };
76
+ }
77
+ /**
78
+ * Prompt user for confirmation
79
+ */
80
+ async function confirm(message) {
81
+ const rl = createInterface({
82
+ input: process.stdin,
83
+ output: process.stdout,
84
+ });
85
+ return new Promise((resolve) => {
86
+ rl.question(`${message} [Y/n] `, (answer) => {
87
+ rl.close();
88
+ const normalized = answer.trim().toLowerCase();
89
+ resolve(normalized === "" || normalized === "y" || normalized === "yes");
90
+ });
91
+ });
92
+ }
93
+ /**
94
+ * Download command
95
+ */
96
+ async function cmdDownload(modelName) {
97
+ if (!modelName) {
98
+ console.error("Error: Model name required");
99
+ console.info("Available models:", SUPPORTED_MODELS.join(", "));
100
+ return 1;
101
+ }
102
+ if (!SUPPORTED_MODELS.includes(modelName)) {
103
+ console.error(`Error: Unknown model "${modelName}"`);
104
+ console.info("Available models:", SUPPORTED_MODELS.join(", "));
105
+ return 1;
106
+ }
107
+ const model = modelName;
108
+ const status = getModelStatus(model);
109
+ if (status.installed) {
110
+ console.info(`Model "${model}" is already installed at ${status.path}`);
111
+ const reinstall = await confirm("Do you want to reinstall?");
112
+ if (!reinstall) {
113
+ return 0;
114
+ }
115
+ // Remove existing installation
116
+ await removeModel(model);
117
+ }
118
+ console.info(`\nDownloading ${model}...`);
119
+ console.info(`Target directory: ${getModelsDir()}\n`);
120
+ const result = await downloadModel(model, createProgressReporter());
121
+ if (result.success) {
122
+ console.info(`\n✅ Model "${model}" installed successfully`);
123
+ console.info(` Location: ${result.modelPath}`);
124
+ return 0;
125
+ }
126
+ else {
127
+ console.error(`\n❌ Failed to download model: ${result.error}`);
128
+ return 1;
129
+ }
130
+ }
131
+ /**
132
+ * Remove command
133
+ */
134
+ async function cmdRemove(modelName) {
135
+ if (!modelName) {
136
+ console.error("Error: Model name required");
137
+ return 1;
138
+ }
139
+ if (!SUPPORTED_MODELS.includes(modelName)) {
140
+ console.error(`Error: Unknown model "${modelName}"`);
141
+ return 1;
142
+ }
143
+ const model = modelName;
144
+ const status = getModelStatus(model);
145
+ if (!status.installed) {
146
+ console.info(`Model "${model}" is not installed`);
147
+ return 0;
148
+ }
149
+ const confirmed = await confirm(`Remove model "${model}" from ${status.path}?`);
150
+ if (!confirmed) {
151
+ console.info("Cancelled");
152
+ return 0;
153
+ }
154
+ const result = await removeModel(model);
155
+ if (result.success) {
156
+ console.info(`✅ Model "${model}" removed`);
157
+ return 0;
158
+ }
159
+ else {
160
+ console.error(`❌ Failed to remove model: ${result.error}`);
161
+ return 1;
162
+ }
163
+ }
164
+ /**
165
+ * List command
166
+ */
167
+ function cmdList() {
168
+ console.info("\nAvailable VSS Models:\n");
169
+ const models = listAvailableModels();
170
+ const installed = listInstalledModels();
171
+ for (const { name, info, installed: isInstalled } of models) {
172
+ const status = isInstalled ? "✅ installed" : "⬜ not installed";
173
+ console.info(` ${name}`);
174
+ console.info(` ${info.description}`);
175
+ console.info(` Size: ${info.sizeHuman} Status: ${status}`);
176
+ console.info("");
177
+ }
178
+ console.info(`Models directory: ${getModelsDir()}`);
179
+ console.info(`Installed: ${installed.length}/${models.length}`);
180
+ return 0;
181
+ }
182
+ /**
183
+ * Status command
184
+ */
185
+ function cmdStatus(modelName) {
186
+ if (modelName) {
187
+ if (!SUPPORTED_MODELS.includes(modelName)) {
188
+ console.error(`Error: Unknown model "${modelName}"`);
189
+ return 1;
190
+ }
191
+ const status = getModelStatus(modelName);
192
+ console.info(`\nModel: ${status.name}`);
193
+ console.info(`Installed: ${status.installed ? "Yes" : "No"}`);
194
+ console.info(`Path: ${status.path}`);
195
+ if (status.installed && status.sizeOnDisk !== undefined) {
196
+ console.info(`Size on disk: ${formatBytes(status.sizeOnDisk)}`);
197
+ console.info(`Files: ${status.files?.join(", ")}`);
198
+ }
199
+ return 0;
200
+ }
201
+ // Show status for all models
202
+ console.info("\nModel Status:\n");
203
+ for (const model of SUPPORTED_MODELS) {
204
+ const status = getModelStatus(model);
205
+ const icon = status.installed ? "✅" : "⬜";
206
+ const size = status.sizeOnDisk !== undefined ? formatBytes(status.sizeOnDisk) : "-";
207
+ console.info(` ${icon} ${model.padEnd(20)} ${size.padStart(10)}`);
208
+ }
209
+ console.info(`\nModels directory: ${getModelsDir()}`);
210
+ return 0;
211
+ }
212
+ /**
213
+ * Main entry point
214
+ */
215
+ export async function runModelCli(args) {
216
+ const command = args[0];
217
+ const arg1 = args[1];
218
+ switch (command) {
219
+ case "download":
220
+ return cmdDownload(arg1);
221
+ case "remove":
222
+ case "rm":
223
+ case "delete":
224
+ return cmdRemove(arg1);
225
+ case "list":
226
+ case "ls":
227
+ return cmdList();
228
+ case "status":
229
+ return cmdStatus(arg1);
230
+ case "help":
231
+ case "--help":
232
+ case "-h":
233
+ case undefined:
234
+ printUsage();
235
+ return 0;
236
+ default:
237
+ console.error(`Unknown command: ${command}`);
238
+ printUsage();
239
+ return 1;
240
+ }
241
+ }
242
+ // Run if executed directly
243
+ if (import.meta.url === `file://${process.argv[1]}`) {
244
+ const args = process.argv.slice(2);
245
+ runModelCli(args).then((code) => process.exit(code));
246
+ }
247
+ //# sourceMappingURL=model-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-cli.js","sourceRoot":"","sources":["../../../src/client/model-cli.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"graph-metrics.d.ts","sourceRoot":"","sources":["../../../src/indexer/graph-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAWD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACvC,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D7F;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
1
+ {"version":3,"file":"graph-metrics.d.ts","sourceRoot":"","sources":["../../../src/indexer/graph-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAuBD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM,GACvC,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6D7F;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,YAAY,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
@@ -14,6 +14,7 @@
14
14
  * - Importance score (PageRank-like)
15
15
  * - Inbound closure (BFS up to depth 3)
16
16
  */
17
+ import { withRetry } from "../shared/utils/retry.js";
17
18
  const DEFAULT_CONFIG = {
18
19
  maxDepth: 3,
19
20
  dampingFactor: 0.85,
@@ -21,6 +22,17 @@ const DEFAULT_CONFIG = {
21
22
  };
22
23
  /** Minimum score floor to prevent division by zero during PageRank normalization */
23
24
  const MIN_PAGERANK_SCORE = 0.001;
25
+ /** Retry configuration for transient DuckDB errors (e.g., concurrent access) */
26
+ const DB_RETRY_OPTIONS = {
27
+ maxAttempts: 3,
28
+ delayMs: 100,
29
+ jitterMs: 50,
30
+ isRetriable: (error) => {
31
+ const msg = error instanceof Error ? error.message : String(error);
32
+ // Retry on prepared statement failures (transient lock issues)
33
+ return msg.includes("Failed to execute prepared statement");
34
+ },
35
+ };
24
36
  /**
25
37
  * Compute all graph metrics for a repository.
26
38
  * Called after dependency extraction during indexing.
@@ -47,8 +59,8 @@ export async function computeGraphMetrics(db, repoId, config = {}) {
47
59
  * Uses SQL aggregation for efficiency.
48
60
  */
49
61
  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]);
62
+ // Clear existing metrics for this repo (with retry for transient lock issues)
63
+ await withRetry(() => db.run(`DELETE FROM graph_metrics WHERE repo_id = ?`, [repoId]), DB_RETRY_OPTIONS);
52
64
  // Compute outbound counts (files this file imports)
53
65
  await db.run(`
54
66
  INSERT INTO graph_metrics (repo_id, path, outbound_count, inbound_count, importance_score, computed_at)
@@ -99,8 +111,8 @@ export async function computeDegreeCentrality(db, repoId) {
99
111
  * Uses recursive CTE for efficient computation.
100
112
  */
101
113
  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]);
114
+ // Clear existing closure for this repo (with retry for transient lock issues)
115
+ await withRetry(() => db.run(`DELETE FROM inbound_edges WHERE repo_id = ?`, [repoId]), DB_RETRY_OPTIONS);
104
116
  // Use recursive CTE to compute transitive closure
105
117
  // This computes: for each file, which files import it (directly or transitively)
106
118
  await db.run(`
@@ -1 +1 @@
1
- {"version":3,"file":"graph-metrics.js","sourceRoot":"","sources":["../../../src/indexer/graph-metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-metrics.js","sourceRoot":"","sources":["../../../src/indexer/graph-metrics.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export interface BoostProfileConfig {
46
46
  */
47
47
  skipConfigAdditivePenalty?: boolean;
48
48
  }
49
- export type BoostProfileName = "default" | "docs" | "none" | "balanced" | "feature" | "bugfix" | "debug" | "api" | "editor" | "testfail" | "typeerror" | "vscode";
49
+ export type BoostProfileName = "default" | "docs" | "none" | "balanced" | "code" | "feature" | "bugfix" | "debug" | "api" | "editor" | "testfail" | "typeerror" | "vscode";
50
50
  /**
51
51
  * Boost profile definitions
52
52
  * Centralized configuration for all boost profiles
@@ -1 +1 @@
1
- {"version":3,"file":"boost-profiles.d.ts","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,sDAAsD;IACtD,mBAAmB,EAAE;QACnB,mDAAmD;QACnD,GAAG,EAAE,MAAM,CAAC;QACZ,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;;OAGG;IACH,eAAe,EAAE,cAAc,EAAE,CAAC;IAElC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,GACT,QAAQ,GACR,OAAO,GACP,KAAK,GACL,QAAQ,GACR,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAuDb;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAkPvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAS1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAE1E"}
1
+ {"version":3,"file":"boost-profiles.d.ts","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,sDAAsD;IACtD,mBAAmB,EAAE;QACnB,mDAAmD;QACnD,GAAG,EAAE,MAAM,CAAC;QACZ,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,8DAA8D;QAC9D,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF;;;OAGG;IACH,eAAe,EAAE,cAAc,EAAE,CAAC;IAElC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,MAAM,GACN,MAAM,GACN,UAAU,GACV,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,KAAK,GACL,QAAQ,GACR,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAuDb;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAyQvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAS1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAE1E"}
@@ -124,6 +124,28 @@ export const BOOST_PROFILES = {
124
124
  },
125
125
  pathMultipliers: [],
126
126
  },
127
+ code: {
128
+ denylistOverrides: [],
129
+ fileTypeMultipliers: {
130
+ doc: 0.05, // 95% penalty for docs (stronger than default's 0.5)
131
+ impl: 1.4, // 40% boost for implementation
132
+ config: 0.05, // 95% penalty for config files
133
+ },
134
+ // Note: Order of pathMultipliers doesn't affect matching (longest prefix wins in applyPathMultipliers)
135
+ pathMultipliers: [
136
+ // Strongly suppress common root documentation files (×0.01 = 99% penalty)
137
+ { prefix: "CLAUDE.md", multiplier: 0.01 },
138
+ { prefix: "README.md", multiplier: 0.01 },
139
+ { prefix: "CHANGELOG.md", multiplier: 0.01 },
140
+ { prefix: "CONTRIBUTING.md", multiplier: 0.01 },
141
+ { prefix: "AGENTS.md", multiplier: 0.01 },
142
+ // Implementation file boosts (same as default)
143
+ { prefix: "src/components/", multiplier: 1.3 },
144
+ { prefix: "src/app/", multiplier: 1.4 },
145
+ { prefix: "src/lib/", multiplier: 1.2 },
146
+ { prefix: "src/", multiplier: 1.0 },
147
+ ],
148
+ },
127
149
  feature: {
128
150
  denylistOverrides: [],
129
151
  fileTypeMultipliers: {
@@ -1 +1 @@
1
- {"version":3,"file":"boost-profiles.js","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"boost-profiles.js","sourceRoot":"","sources":["../../../src/server/boost-profiles.ts"],"names":[],"mappings":"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"}
File without changes