@mhalder/qdrant-mcp-server 2.1.2 → 3.0.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/CHANGELOG.md +21 -0
- package/README.md +78 -3
- package/build/code/indexer.d.ts +2 -1
- package/build/code/indexer.d.ts.map +1 -1
- package/build/code/indexer.js +58 -25
- package/build/code/indexer.js.map +1 -1
- package/build/git/chunker.d.ts +39 -0
- package/build/git/chunker.d.ts.map +1 -0
- package/build/git/chunker.js +210 -0
- package/build/git/chunker.js.map +1 -0
- package/build/git/chunker.test.d.ts +2 -0
- package/build/git/chunker.test.d.ts.map +1 -0
- package/build/git/chunker.test.js +230 -0
- package/build/git/chunker.test.js.map +1 -0
- package/build/git/config.d.ts +34 -0
- package/build/git/config.d.ts.map +1 -0
- package/build/git/config.js +163 -0
- package/build/git/config.js.map +1 -0
- package/build/git/extractor.d.ts +57 -0
- package/build/git/extractor.d.ts.map +1 -0
- package/build/git/extractor.integration.test.d.ts +6 -0
- package/build/git/extractor.integration.test.d.ts.map +1 -0
- package/build/git/extractor.integration.test.js +166 -0
- package/build/git/extractor.integration.test.js.map +1 -0
- package/build/git/extractor.js +231 -0
- package/build/git/extractor.js.map +1 -0
- package/build/git/extractor.test.d.ts +2 -0
- package/build/git/extractor.test.d.ts.map +1 -0
- package/build/git/extractor.test.js +267 -0
- package/build/git/extractor.test.js.map +1 -0
- package/build/git/index.d.ts +10 -0
- package/build/git/index.d.ts.map +1 -0
- package/build/git/index.js +11 -0
- package/build/git/index.js.map +1 -0
- package/build/git/indexer.d.ts +50 -0
- package/build/git/indexer.d.ts.map +1 -0
- package/build/git/indexer.js +588 -0
- package/build/git/indexer.js.map +1 -0
- package/build/git/indexer.test.d.ts +2 -0
- package/build/git/indexer.test.d.ts.map +1 -0
- package/build/git/indexer.test.js +867 -0
- package/build/git/indexer.test.js.map +1 -0
- package/build/git/sync/synchronizer.d.ts +43 -0
- package/build/git/sync/synchronizer.d.ts.map +1 -0
- package/build/git/sync/synchronizer.js +108 -0
- package/build/git/sync/synchronizer.js.map +1 -0
- package/build/git/sync/synchronizer.test.d.ts +2 -0
- package/build/git/sync/synchronizer.test.d.ts.map +1 -0
- package/build/git/sync/synchronizer.test.js +188 -0
- package/build/git/sync/synchronizer.test.js.map +1 -0
- package/build/git/types.d.ts +159 -0
- package/build/git/types.d.ts.map +1 -0
- package/build/git/types.js +5 -0
- package/build/git/types.js.map +1 -0
- package/build/index.js +18 -0
- package/build/index.js.map +1 -1
- package/build/qdrant/client.d.ts +5 -0
- package/build/qdrant/client.d.ts.map +1 -1
- package/build/qdrant/client.js +10 -0
- package/build/qdrant/client.js.map +1 -1
- package/build/qdrant/client.test.js +25 -0
- package/build/qdrant/client.test.js.map +1 -1
- package/build/tools/git-history.d.ts +10 -0
- package/build/tools/git-history.d.ts.map +1 -0
- package/build/tools/git-history.js +144 -0
- package/build/tools/git-history.js.map +1 -0
- package/build/tools/index.d.ts +2 -0
- package/build/tools/index.d.ts.map +1 -1
- package/build/tools/index.js +4 -0
- package/build/tools/index.js.map +1 -1
- package/build/tools/schemas.d.ts +24 -0
- package/build/tools/schemas.d.ts.map +1 -1
- package/build/tools/schemas.js +64 -0
- package/build/tools/schemas.js.map +1 -1
- package/package.json +1 -1
- package/src/code/indexer.ts +73 -24
- package/src/git/chunker.test.ts +284 -0
- package/src/git/chunker.ts +256 -0
- package/src/git/config.ts +173 -0
- package/src/git/extractor.integration.test.ts +221 -0
- package/src/git/extractor.test.ts +403 -0
- package/src/git/extractor.ts +284 -0
- package/src/git/index.ts +31 -0
- package/src/git/indexer.test.ts +1089 -0
- package/src/git/indexer.ts +745 -0
- package/src/git/sync/synchronizer.test.ts +250 -0
- package/src/git/sync/synchronizer.ts +122 -0
- package/src/git/types.ts +192 -0
- package/src/index.ts +42 -0
- package/src/qdrant/client.test.ts +29 -0
- package/src/qdrant/client.ts +14 -0
- package/src/tools/git-history.ts +208 -0
- package/src/tools/index.ts +7 -0
- package/src/tools/schemas.ts +75 -0
- package/tests/code/chunker/tree-sitter-chunker.test.ts +87 -5
- package/tests/code/indexer.test.ts +121 -0
- package/tests/code/integration.test.ts +14 -0
- package/tests/code/scanner.test.ts +81 -6
- package/tests/code/sync/snapshot.test.ts +55 -4
- package/tests/code/sync/synchronizer.test.ts +86 -10
- package/vitest.config.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## 3.0.0 (2026-01-22)
|
|
2
|
+
|
|
3
|
+
* feat!(indexer): use git remote URL for consistent collection naming ([f51f82d](https://github.com/mhalder/qdrant-mcp-server/commit/f51f82d))
|
|
4
|
+
* Merge pull request #46 from mhalder/feat/git-indexer ([42fba77](https://github.com/mhalder/qdrant-mcp-server/commit/42fba77)), closes [#46](https://github.com/mhalder/qdrant-mcp-server/issues/46)
|
|
5
|
+
* feat(git): add git history indexing for semantic commit search ([e8cd930](https://github.com/mhalder/qdrant-mcp-server/commit/e8cd930))
|
|
6
|
+
* feat(git): add resilience features for git indexer ([40e4776](https://github.com/mhalder/qdrant-mcp-server/commit/40e4776))
|
|
7
|
+
* fix(git): correct extractor delimiter position and enable hybrid search ([2dd1b0e](https://github.com/mhalder/qdrant-mcp-server/commit/2dd1b0e))
|
|
8
|
+
* test(git): improve indexer test coverage to 99.5% ([3d80c92](https://github.com/mhalder/qdrant-mcp-server/commit/3d80c92))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### BREAKING CHANGE
|
|
12
|
+
|
|
13
|
+
* existing indexes may have different collection names
|
|
14
|
+
after this change if they have a git remote configured. Users need to
|
|
15
|
+
re-index their repositories.
|
|
16
|
+
|
|
17
|
+
## 2.2.0 (2026-01-18)
|
|
18
|
+
|
|
19
|
+
* Merge pull request #45 from mhalder/feat/chunk-deletion-and-test-coverage ([ce37f56](https://github.com/mhalder/qdrant-mcp-server/commit/ce37f56)), closes [#45](https://github.com/mhalder/qdrant-mcp-server/issues/45)
|
|
20
|
+
* feat(code): implement chunk deletion for incremental re-indexing ([0259397](https://github.com/mhalder/qdrant-mcp-server/commit/0259397)), closes [#33](https://github.com/mhalder/qdrant-mcp-server/issues/33)
|
|
21
|
+
|
|
1
22
|
## <small>2.1.2 (2026-01-17)</small>
|
|
2
23
|
|
|
3
24
|
* Merge pull request #44 from mhalder/fix/index-status-bug ([350e2a5](https://github.com/mhalder/qdrant-mcp-server/commit/350e2a5)), closes [#44](https://github.com/mhalder/qdrant-mcp-server/issues/44)
|
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ A Model Context Protocol (MCP) server providing semantic search capabilities usi
|
|
|
10
10
|
- **Zero Setup**: Works out of the box with Ollama - no API keys required
|
|
11
11
|
- **Privacy-First**: Local embeddings and vector storage - data never leaves your machine
|
|
12
12
|
- **Code Vectorization**: Intelligent codebase indexing with AST-aware chunking and semantic code search
|
|
13
|
+
- **Git History Search**: Index commit history for semantic search over past changes, fixes, and patterns
|
|
13
14
|
- **Multiple Providers**: Ollama (default), OpenAI, Cohere, and Voyage AI
|
|
14
15
|
- **Hybrid Search**: Combine semantic and keyword search for better results
|
|
15
16
|
- **Semantic Search**: Natural language search with metadata filtering
|
|
@@ -161,6 +162,16 @@ See [Advanced Configuration](#advanced-configuration) section below for all opti
|
|
|
161
162
|
| `get_index_status` | Get indexing status and statistics for a codebase |
|
|
162
163
|
| `clear_index` | Delete all indexed data for a codebase |
|
|
163
164
|
|
|
165
|
+
### Git History
|
|
166
|
+
|
|
167
|
+
| Tool | Description |
|
|
168
|
+
| ---------------------- | ------------------------------------------------------------------------ |
|
|
169
|
+
| `index_git_history` | Index git commit history for semantic search over past changes and fixes |
|
|
170
|
+
| `search_git_history` | Search indexed git history using natural language queries |
|
|
171
|
+
| `index_new_commits` | Incrementally index only new commits since last indexing |
|
|
172
|
+
| `get_git_index_status` | Get indexing status and statistics for a repository's git history |
|
|
173
|
+
| `clear_git_index` | Delete all indexed git history data for a repository |
|
|
174
|
+
|
|
164
175
|
### Resources
|
|
165
176
|
|
|
166
177
|
- `qdrant://collections` - List all collections
|
|
@@ -420,6 +431,54 @@ Typical performance on a modern laptop (Apple M1/M2 or similar):
|
|
|
420
431
|
|
|
421
432
|
**Note**: Indexing time varies based on embedding provider. Ollama (local) is fastest for initial indexing.
|
|
422
433
|
|
|
434
|
+
## Git History Search
|
|
435
|
+
|
|
436
|
+
Index and search your repository's git commit history using natural language. Perfect for finding past fixes, understanding change patterns, and learning from previous work.
|
|
437
|
+
|
|
438
|
+
### Features
|
|
439
|
+
|
|
440
|
+
- **Semantic Commit Search**: Find commits by describing what you're looking for in natural language
|
|
441
|
+
- **Conventional Commit Classification**: Automatic classification of commits (feat, fix, refactor, etc.)
|
|
442
|
+
- **Incremental Updates**: Only index new commits for efficient updates
|
|
443
|
+
- **Rich Filtering**: Filter by commit type, author, or date range
|
|
444
|
+
- **Metadata Extraction**: Includes files changed, insertions/deletions, and full commit context
|
|
445
|
+
|
|
446
|
+
### Quick Start
|
|
447
|
+
|
|
448
|
+
**1. Index your repository's git history:**
|
|
449
|
+
|
|
450
|
+
```bash
|
|
451
|
+
# Via Claude Code MCP tool
|
|
452
|
+
/mcp__qdrant__index_git_history /path/to/your/repo
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
**2. Search for relevant commits:**
|
|
456
|
+
|
|
457
|
+
```bash
|
|
458
|
+
# Natural language search
|
|
459
|
+
/mcp__qdrant__search_git_history /path/to/your/repo "fix authentication bug"
|
|
460
|
+
|
|
461
|
+
# Filter by commit type
|
|
462
|
+
/mcp__qdrant__search_git_history /path/to/your/repo "database optimization" --commitTypes fix,perf
|
|
463
|
+
|
|
464
|
+
# Filter by author
|
|
465
|
+
/mcp__qdrant__search_git_history /path/to/your/repo "API changes" --authors "john@example.com"
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**3. Keep index up to date:**
|
|
469
|
+
|
|
470
|
+
```bash
|
|
471
|
+
# Incrementally index only new commits
|
|
472
|
+
/mcp__qdrant__index_new_commits /path/to/your/repo
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### Use Cases
|
|
476
|
+
|
|
477
|
+
- **Finding Similar Fixes**: "How was the null pointer issue in auth fixed before?"
|
|
478
|
+
- **Understanding Patterns**: "What refactoring was done to the database layer?"
|
|
479
|
+
- **Learning from History**: "Show me examples of API endpoint implementations"
|
|
480
|
+
- **Code Archaeology**: "What changes were made to the payment system last year?"
|
|
481
|
+
|
|
423
482
|
## Examples
|
|
424
483
|
|
|
425
484
|
See [examples/](examples/) directory for detailed guides:
|
|
@@ -472,6 +531,21 @@ See [examples/](examples/) directory for detailed guides:
|
|
|
472
531
|
| `CODE_CUSTOM_IGNORE` | Additional ignore patterns (comma-separated) | - |
|
|
473
532
|
| `CODE_DEFAULT_LIMIT` | Default search result limit | 5 |
|
|
474
533
|
|
|
534
|
+
#### Git History Configuration
|
|
535
|
+
|
|
536
|
+
| Variable | Description | Default |
|
|
537
|
+
| -------------------------- | ------------------------------------------ | ------- |
|
|
538
|
+
| `GIT_MAX_COMMITS` | Maximum commits to index per run | 5000 |
|
|
539
|
+
| `GIT_INCLUDE_FILES` | Include changed file list in chunks | true |
|
|
540
|
+
| `GIT_INCLUDE_DIFF` | Include truncated diff in chunks | true |
|
|
541
|
+
| `GIT_MAX_DIFF_SIZE` | Maximum diff size in bytes per commit | 5000 |
|
|
542
|
+
| `GIT_TIMEOUT` | Timeout for git commands (ms) | 300000 |
|
|
543
|
+
| `GIT_MAX_CHUNK_SIZE` | Maximum characters per chunk | 3000 |
|
|
544
|
+
| `GIT_BATCH_SIZE` | Number of chunks to embed in one batch | 100 |
|
|
545
|
+
| `GIT_BATCH_RETRY_ATTEMPTS` | Retry attempts for failed batches | 3 |
|
|
546
|
+
| `GIT_SEARCH_LIMIT` | Default search result limit | 10 |
|
|
547
|
+
| `GIT_ENABLE_HYBRID` | Enable hybrid search with sparse vectors | true |
|
|
548
|
+
|
|
475
549
|
### Provider Comparison
|
|
476
550
|
|
|
477
551
|
| Provider | Models | Dimensions | Rate Limit | Notes |
|
|
@@ -516,10 +590,11 @@ npm run test:coverage # Coverage report
|
|
|
516
590
|
|
|
517
591
|
### Testing
|
|
518
592
|
|
|
519
|
-
**
|
|
593
|
+
**715 tests** across 26 test files with **97%+ coverage**:
|
|
520
594
|
|
|
521
|
-
- **Unit Tests**: QdrantManager (
|
|
522
|
-
- **Integration Tests**: Code indexer, scanner, chunker, synchronizer, merkle tree
|
|
595
|
+
- **Unit Tests**: QdrantManager (56), Ollama (41), OpenAI (25), Cohere (29), Voyage (31), Factory (43), Prompts (50), Transport (15), MCP Server (19)
|
|
596
|
+
- **Integration Tests**: Code indexer (56), scanner (15), chunker (24), synchronizer (42), snapshot (26), merkle tree (28)
|
|
597
|
+
- **Git History Tests**: Git extractor (28), extractor integration (11), chunker (30), indexer (42), synchronizer (18)
|
|
523
598
|
|
|
524
599
|
**CI/CD**: GitHub Actions runs build, type-check, and tests on Node.js 22 LTS for every push/PR.
|
|
525
600
|
|
package/build/code/indexer.d.ts
CHANGED
|
@@ -40,7 +40,8 @@ export declare class CodeIndexer {
|
|
|
40
40
|
*/
|
|
41
41
|
clearIndex(path: string): Promise<void>;
|
|
42
42
|
/**
|
|
43
|
-
* Generate deterministic collection name from codebase path
|
|
43
|
+
* Generate deterministic collection name from codebase path.
|
|
44
|
+
* Uses git remote URL for consistent naming across machines, with fallback to directory name.
|
|
44
45
|
*/
|
|
45
46
|
private getCollectionName;
|
|
46
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/code/indexer.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/code/indexer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,KAAK,EACV,WAAW,EAEX,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACd,MAAM,YAAY,CAAC;AAOpB,qBAAa,WAAW;IAEpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;gBAFN,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,UAAU;IAG5B;;;OAGG;YACW,YAAY;IAkB1B;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,YAAY,EACtB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,UAAU,CAAC;IA2PtB;;;OAGG;YACW,mBAAmB;IA6CjC;;OAEG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAoF9B;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoExD;;OAEG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,WAAW,CAAC;IA6MvB;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7C;;;OAGG;YACW,iBAAiB;CAyChC"}
|
package/build/code/indexer.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CodeIndexer - Main orchestrator for code vectorization
|
|
3
3
|
*/
|
|
4
|
+
import { execFile } from "node:child_process";
|
|
4
5
|
import { createHash } from "node:crypto";
|
|
5
6
|
import { promises as fs } from "node:fs";
|
|
6
7
|
import { extname, join, relative, resolve } from "node:path";
|
|
8
|
+
import { promisify } from "node:util";
|
|
7
9
|
import { BM25SparseVectorGenerator } from "../embeddings/sparse.js";
|
|
10
|
+
import { normalizeRemoteUrl } from "../git/extractor.js";
|
|
8
11
|
import { TreeSitterChunker } from "./chunker/tree-sitter-chunker.js";
|
|
9
12
|
import { MetadataExtractor } from "./metadata.js";
|
|
10
13
|
import { FileScanner } from "./scanner.js";
|
|
11
14
|
import { FileSynchronizer } from "./sync/synchronizer.js";
|
|
15
|
+
const execFileAsync = promisify(execFile);
|
|
12
16
|
/** Reserved ID for storing indexing metadata in the collection */
|
|
13
17
|
const INDEXING_METADATA_ID = "__indexing_metadata__";
|
|
14
18
|
export class CodeIndexer {
|
|
@@ -54,7 +58,7 @@ export class CodeIndexer {
|
|
|
54
58
|
errors: [],
|
|
55
59
|
};
|
|
56
60
|
const absolutePath = await this.validatePath(path);
|
|
57
|
-
const collectionName = this.getCollectionName(absolutePath);
|
|
61
|
+
const collectionName = await this.getCollectionName(absolutePath);
|
|
58
62
|
try {
|
|
59
63
|
// 1. Scan files
|
|
60
64
|
progressCallback?.({
|
|
@@ -292,7 +296,7 @@ export class CodeIndexer {
|
|
|
292
296
|
*/
|
|
293
297
|
async searchCode(path, query, options) {
|
|
294
298
|
const absolutePath = await this.validatePath(path);
|
|
295
|
-
const collectionName = this.getCollectionName(absolutePath);
|
|
299
|
+
const collectionName = await this.getCollectionName(absolutePath);
|
|
296
300
|
// Check if collection exists
|
|
297
301
|
const exists = await this.qdrant.collectionExists(collectionName);
|
|
298
302
|
if (!exists) {
|
|
@@ -357,7 +361,7 @@ export class CodeIndexer {
|
|
|
357
361
|
*/
|
|
358
362
|
async getIndexStatus(path) {
|
|
359
363
|
const absolutePath = await this.validatePath(path);
|
|
360
|
-
const collectionName = this.getCollectionName(absolutePath);
|
|
364
|
+
const collectionName = await this.getCollectionName(absolutePath);
|
|
361
365
|
const exists = await this.qdrant.collectionExists(collectionName);
|
|
362
366
|
if (!exists) {
|
|
363
367
|
return { isIndexed: false, status: "not_indexed" };
|
|
@@ -426,7 +430,7 @@ export class CodeIndexer {
|
|
|
426
430
|
};
|
|
427
431
|
try {
|
|
428
432
|
const absolutePath = await this.validatePath(path);
|
|
429
|
-
const collectionName = this.getCollectionName(absolutePath);
|
|
433
|
+
const collectionName = await this.getCollectionName(absolutePath);
|
|
430
434
|
// Check if collection exists
|
|
431
435
|
const exists = await this.qdrant.collectionExists(collectionName);
|
|
432
436
|
if (!exists) {
|
|
@@ -470,26 +474,29 @@ export class CodeIndexer {
|
|
|
470
474
|
maxChunkSize: this.config.chunkSize * 2,
|
|
471
475
|
});
|
|
472
476
|
const metadataExtractor = new MetadataExtractor();
|
|
473
|
-
//
|
|
474
|
-
const
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
477
|
+
// Delete chunks for modified and deleted files BEFORE adding new ones
|
|
478
|
+
const filesToDelete = [...changes.modified, ...changes.deleted];
|
|
479
|
+
if (filesToDelete.length > 0) {
|
|
480
|
+
progressCallback?.({
|
|
481
|
+
phase: "scanning",
|
|
482
|
+
current: 0,
|
|
483
|
+
total: filesToDelete.length,
|
|
484
|
+
percentage: 5,
|
|
485
|
+
message: `Deleting old chunks for ${filesToDelete.length} files...`,
|
|
486
|
+
});
|
|
487
|
+
for (const relativePath of filesToDelete) {
|
|
488
|
+
try {
|
|
489
|
+
const filter = {
|
|
490
|
+
must: [{ key: "relativePath", match: { value: relativePath } }],
|
|
491
|
+
};
|
|
492
|
+
await this.qdrant.deletePointsByFilter(collectionName, filter);
|
|
493
|
+
}
|
|
494
|
+
catch (error) {
|
|
495
|
+
// Log but don't fail - file might not have any chunks
|
|
496
|
+
console.error(`Failed to delete chunks for ${relativePath}:`, error);
|
|
497
|
+
}
|
|
489
498
|
}
|
|
490
499
|
}
|
|
491
|
-
// For Phase 2 MVP: Simply re-process all changed files
|
|
492
|
-
// TODO Phase 3: Implement proper chunk deletion by maintaining chunk ID mapping
|
|
493
500
|
const filesToIndex = [...changes.added, ...changes.modified];
|
|
494
501
|
const allChunks = [];
|
|
495
502
|
for (const [index, filePath] of filesToIndex.entries()) {
|
|
@@ -584,7 +591,7 @@ export class CodeIndexer {
|
|
|
584
591
|
*/
|
|
585
592
|
async clearIndex(path) {
|
|
586
593
|
const absolutePath = await this.validatePath(path);
|
|
587
|
-
const collectionName = this.getCollectionName(absolutePath);
|
|
594
|
+
const collectionName = await this.getCollectionName(absolutePath);
|
|
588
595
|
const exists = await this.qdrant.collectionExists(collectionName);
|
|
589
596
|
if (exists) {
|
|
590
597
|
await this.qdrant.deleteCollection(collectionName);
|
|
@@ -599,10 +606,36 @@ export class CodeIndexer {
|
|
|
599
606
|
}
|
|
600
607
|
}
|
|
601
608
|
/**
|
|
602
|
-
* Generate deterministic collection name from codebase path
|
|
609
|
+
* Generate deterministic collection name from codebase path.
|
|
610
|
+
* Uses git remote URL for consistent naming across machines, with fallback to directory name.
|
|
603
611
|
*/
|
|
604
|
-
getCollectionName(path) {
|
|
612
|
+
async getCollectionName(path) {
|
|
605
613
|
const absolutePath = resolve(path);
|
|
614
|
+
// Try git remote URL for consistent naming
|
|
615
|
+
// Check if THIS directory is the git root (not just inside a git repo)
|
|
616
|
+
try {
|
|
617
|
+
// Clear git environment variables that may be set during pre-commit hooks
|
|
618
|
+
// These variables cause git commands to use the wrong repository
|
|
619
|
+
const cleanEnv = { ...process.env };
|
|
620
|
+
delete cleanEnv.GIT_DIR;
|
|
621
|
+
delete cleanEnv.GIT_WORK_TREE;
|
|
622
|
+
delete cleanEnv.GIT_INDEX_FILE;
|
|
623
|
+
const { stdout: gitRootResult } = await execFileAsync("git", ["rev-parse", "--show-toplevel"], { cwd: absolutePath, env: cleanEnv });
|
|
624
|
+
const gitRoot = gitRootResult.trim();
|
|
625
|
+
// Only use git remote if this path IS the git root
|
|
626
|
+
if (gitRoot === absolutePath) {
|
|
627
|
+
const { stdout } = await execFileAsync("git", ["remote", "get-url", "origin"], { cwd: absolutePath, env: cleanEnv });
|
|
628
|
+
const normalized = normalizeRemoteUrl(stdout.trim());
|
|
629
|
+
if (normalized) {
|
|
630
|
+
const hash = createHash("md5").update(normalized).digest("hex");
|
|
631
|
+
return `code_${hash.substring(0, 8)}`;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
catch {
|
|
636
|
+
// Not a git repo or no remote
|
|
637
|
+
}
|
|
638
|
+
// Fallback: full absolute path (consistent with original behavior)
|
|
606
639
|
const hash = createHash("md5").update(absolutePath).digest("hex");
|
|
607
640
|
return `code_${hash.substring(0, 8)}`;
|
|
608
641
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/code/indexer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/code/indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CommitChunker - Create embeddable chunks from git commits
|
|
3
|
+
*/
|
|
4
|
+
import type { CommitChunk, CommitType, GitConfig, RawCommit } from "./types.js";
|
|
5
|
+
export declare class CommitChunker {
|
|
6
|
+
private config;
|
|
7
|
+
constructor(config: GitConfig);
|
|
8
|
+
/**
|
|
9
|
+
* Classify commit type based on commit message
|
|
10
|
+
*/
|
|
11
|
+
classifyCommitType(commit: RawCommit): CommitType;
|
|
12
|
+
/**
|
|
13
|
+
* Create embeddable chunks from a commit
|
|
14
|
+
* Currently produces one chunk per commit, but could be extended
|
|
15
|
+
* to handle very large commits differently
|
|
16
|
+
*/
|
|
17
|
+
createChunks(commit: RawCommit, repoPath: string, diff?: string): CommitChunk[];
|
|
18
|
+
/**
|
|
19
|
+
* Generate deterministic chunk ID from commit content
|
|
20
|
+
*/
|
|
21
|
+
generateChunkId(chunk: CommitChunk): string;
|
|
22
|
+
/**
|
|
23
|
+
* Format the chunk content for embedding
|
|
24
|
+
*/
|
|
25
|
+
private formatChunkContent;
|
|
26
|
+
/**
|
|
27
|
+
* Extract a readable preview from the diff
|
|
28
|
+
*/
|
|
29
|
+
private extractDiffPreview;
|
|
30
|
+
/**
|
|
31
|
+
* Truncate content while preserving essential information
|
|
32
|
+
*/
|
|
33
|
+
private truncateContent;
|
|
34
|
+
/**
|
|
35
|
+
* Create metadata object for a chunk
|
|
36
|
+
*/
|
|
37
|
+
private createMetadata;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=chunker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../src/git/chunker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,SAAS;IAErC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU;IAejD;;;;OAIG;IACH,YAAY,CACV,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,WAAW,EAAE;IA4BhB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM;IAO3C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmD1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+C1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAkDvB;;OAEG;IACH,OAAO,CAAC,cAAc;CAmBvB"}
|