@matperez/coderag 0.1.24

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 (147) hide show
  1. package/README.md +154 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/ast-chunking.d.ts +40 -0
  4. package/dist/ast-chunking.d.ts.map +1 -0
  5. package/dist/ast-chunking.js +88 -0
  6. package/dist/ast-chunking.js.map +1 -0
  7. package/dist/ast-chunking.test.d.ts +5 -0
  8. package/dist/ast-chunking.test.d.ts.map +1 -0
  9. package/dist/ast-chunking.test.js +173 -0
  10. package/dist/ast-chunking.test.js.map +1 -0
  11. package/dist/code-tokenizer.d.ts +62 -0
  12. package/dist/code-tokenizer.d.ts.map +1 -0
  13. package/dist/code-tokenizer.js +129 -0
  14. package/dist/code-tokenizer.js.map +1 -0
  15. package/dist/code-tokenizer.test.d.ts +5 -0
  16. package/dist/code-tokenizer.test.d.ts.map +1 -0
  17. package/dist/code-tokenizer.test.js +96 -0
  18. package/dist/code-tokenizer.test.js.map +1 -0
  19. package/dist/db/client-pg.d.ts +16 -0
  20. package/dist/db/client-pg.d.ts.map +1 -0
  21. package/dist/db/client-pg.js +38 -0
  22. package/dist/db/client-pg.js.map +1 -0
  23. package/dist/db/client.d.ts +36 -0
  24. package/dist/db/client.d.ts.map +1 -0
  25. package/dist/db/client.js +81 -0
  26. package/dist/db/client.js.map +1 -0
  27. package/dist/db/migrations-pg.d.ts +6 -0
  28. package/dist/db/migrations-pg.d.ts.map +1 -0
  29. package/dist/db/migrations-pg.js +88 -0
  30. package/dist/db/migrations-pg.js.map +1 -0
  31. package/dist/db/migrations.d.ts +9 -0
  32. package/dist/db/migrations.d.ts.map +1 -0
  33. package/dist/db/migrations.js +164 -0
  34. package/dist/db/migrations.js.map +1 -0
  35. package/dist/db/schema-pg.d.ts +611 -0
  36. package/dist/db/schema-pg.d.ts.map +1 -0
  37. package/dist/db/schema-pg.js +66 -0
  38. package/dist/db/schema-pg.js.map +1 -0
  39. package/dist/db/schema.d.ts +630 -0
  40. package/dist/db/schema.d.ts.map +1 -0
  41. package/dist/db/schema.js +85 -0
  42. package/dist/db/schema.js.map +1 -0
  43. package/dist/embeddings.d.ts +92 -0
  44. package/dist/embeddings.d.ts.map +1 -0
  45. package/dist/embeddings.js +275 -0
  46. package/dist/embeddings.js.map +1 -0
  47. package/dist/embeddings.test.d.ts +5 -0
  48. package/dist/embeddings.test.d.ts.map +1 -0
  49. package/dist/embeddings.test.js +255 -0
  50. package/dist/embeddings.test.js.map +1 -0
  51. package/dist/hybrid-search.d.ts +47 -0
  52. package/dist/hybrid-search.d.ts.map +1 -0
  53. package/dist/hybrid-search.js +215 -0
  54. package/dist/hybrid-search.js.map +1 -0
  55. package/dist/hybrid-search.test.d.ts +5 -0
  56. package/dist/hybrid-search.test.d.ts.map +1 -0
  57. package/dist/hybrid-search.test.js +252 -0
  58. package/dist/hybrid-search.test.js.map +1 -0
  59. package/dist/incremental-tfidf.d.ts +77 -0
  60. package/dist/incremental-tfidf.d.ts.map +1 -0
  61. package/dist/incremental-tfidf.js +248 -0
  62. package/dist/incremental-tfidf.js.map +1 -0
  63. package/dist/incremental-tfidf.test.d.ts +5 -0
  64. package/dist/incremental-tfidf.test.d.ts.map +1 -0
  65. package/dist/incremental-tfidf.test.js +276 -0
  66. package/dist/incremental-tfidf.test.js.map +1 -0
  67. package/dist/index.d.ts +18 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +19 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/indexer.d.ts +205 -0
  72. package/dist/indexer.d.ts.map +1 -0
  73. package/dist/indexer.js +1331 -0
  74. package/dist/indexer.js.map +1 -0
  75. package/dist/indexer.test.d.ts +12 -0
  76. package/dist/indexer.test.d.ts.map +1 -0
  77. package/dist/indexer.test.js +471 -0
  78. package/dist/indexer.test.js.map +1 -0
  79. package/dist/language-config.d.ts +54 -0
  80. package/dist/language-config.d.ts.map +1 -0
  81. package/dist/language-config.js +75 -0
  82. package/dist/language-config.js.map +1 -0
  83. package/dist/search-cache.d.ts +63 -0
  84. package/dist/search-cache.d.ts.map +1 -0
  85. package/dist/search-cache.js +118 -0
  86. package/dist/search-cache.js.map +1 -0
  87. package/dist/search-cache.test.d.ts +5 -0
  88. package/dist/search-cache.test.d.ts.map +1 -0
  89. package/dist/search-cache.test.js +194 -0
  90. package/dist/search-cache.test.js.map +1 -0
  91. package/dist/storage-factory.d.ts +11 -0
  92. package/dist/storage-factory.d.ts.map +1 -0
  93. package/dist/storage-factory.js +17 -0
  94. package/dist/storage-factory.js.map +1 -0
  95. package/dist/storage-persistent-pg.d.ts +75 -0
  96. package/dist/storage-persistent-pg.d.ts.map +1 -0
  97. package/dist/storage-persistent-pg.js +579 -0
  98. package/dist/storage-persistent-pg.js.map +1 -0
  99. package/dist/storage-persistent-pg.test.d.ts +7 -0
  100. package/dist/storage-persistent-pg.test.d.ts.map +1 -0
  101. package/dist/storage-persistent-pg.test.js +90 -0
  102. package/dist/storage-persistent-pg.test.js.map +1 -0
  103. package/dist/storage-persistent-types.d.ts +110 -0
  104. package/dist/storage-persistent-types.d.ts.map +1 -0
  105. package/dist/storage-persistent-types.js +5 -0
  106. package/dist/storage-persistent-types.js.map +1 -0
  107. package/dist/storage-persistent.d.ts +231 -0
  108. package/dist/storage-persistent.d.ts.map +1 -0
  109. package/dist/storage-persistent.js +897 -0
  110. package/dist/storage-persistent.js.map +1 -0
  111. package/dist/storage-persistent.test.d.ts +5 -0
  112. package/dist/storage-persistent.test.d.ts.map +1 -0
  113. package/dist/storage-persistent.test.js +325 -0
  114. package/dist/storage-persistent.test.js.map +1 -0
  115. package/dist/storage.d.ts +63 -0
  116. package/dist/storage.d.ts.map +1 -0
  117. package/dist/storage.js +67 -0
  118. package/dist/storage.js.map +1 -0
  119. package/dist/storage.test.d.ts +5 -0
  120. package/dist/storage.test.d.ts.map +1 -0
  121. package/dist/storage.test.js +157 -0
  122. package/dist/storage.test.js.map +1 -0
  123. package/dist/tfidf.d.ts +97 -0
  124. package/dist/tfidf.d.ts.map +1 -0
  125. package/dist/tfidf.js +308 -0
  126. package/dist/tfidf.js.map +1 -0
  127. package/dist/tfidf.test.d.ts +5 -0
  128. package/dist/tfidf.test.d.ts.map +1 -0
  129. package/dist/tfidf.test.js +181 -0
  130. package/dist/tfidf.test.js.map +1 -0
  131. package/dist/utils.d.ts +61 -0
  132. package/dist/utils.d.ts.map +1 -0
  133. package/dist/utils.js +264 -0
  134. package/dist/utils.js.map +1 -0
  135. package/dist/utils.test.d.ts +5 -0
  136. package/dist/utils.test.d.ts.map +1 -0
  137. package/dist/utils.test.js +94 -0
  138. package/dist/utils.test.js.map +1 -0
  139. package/dist/vector-storage.d.ts +120 -0
  140. package/dist/vector-storage.d.ts.map +1 -0
  141. package/dist/vector-storage.js +264 -0
  142. package/dist/vector-storage.js.map +1 -0
  143. package/dist/vector-storage.test.d.ts +5 -0
  144. package/dist/vector-storage.test.d.ts.map +1 -0
  145. package/dist/vector-storage.test.js +345 -0
  146. package/dist/vector-storage.test.js.map +1 -0
  147. package/package.json +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-persistent.js","sourceRoot":"","sources":["../src/storage-persistent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Persistent storage tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=storage-persistent.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-persistent.test.d.ts","sourceRoot":"","sources":["../src/storage-persistent.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,325 @@
1
+ /**
2
+ * Persistent storage tests
3
+ */
4
+ import fs from 'node:fs';
5
+ import os from 'node:os';
6
+ import path from 'node:path';
7
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
8
+ import { PersistentStorage } from './storage-persistent.js';
9
+ describe('PersistentStorage', () => {
10
+ let storage;
11
+ let testDbPath;
12
+ let testDir;
13
+ beforeEach(() => {
14
+ // Create temp directory for test database
15
+ testDir = fs.mkdtempSync(path.join(os.tmpdir(), 'codebase-search-test-'));
16
+ testDbPath = path.join(testDir, 'test.db');
17
+ storage = new PersistentStorage({ dbPath: testDbPath, codebaseRoot: testDir });
18
+ });
19
+ afterEach(() => {
20
+ // Clean up
21
+ storage.close();
22
+ if (fs.existsSync(testDir)) {
23
+ fs.rmSync(testDir, { recursive: true, force: true });
24
+ }
25
+ });
26
+ describe('storeFile', () => {
27
+ it('should store a file', async () => {
28
+ const file = {
29
+ path: 'test.ts',
30
+ content: 'console.log("test")',
31
+ hash: 'abc123',
32
+ size: 100,
33
+ mtime: Date.now(),
34
+ language: 'typescript',
35
+ };
36
+ await storage.storeFile(file);
37
+ const retrieved = await storage.getFile('test.ts');
38
+ expect(retrieved).not.toBeNull();
39
+ expect(retrieved?.path).toBe('test.ts');
40
+ expect(retrieved?.content).toBe('console.log("test")');
41
+ expect(retrieved?.hash).toBe('abc123');
42
+ expect(retrieved?.language).toBe('typescript');
43
+ });
44
+ it('should update existing file on conflict', async () => {
45
+ const file1 = {
46
+ path: 'test.ts',
47
+ content: 'v1',
48
+ hash: 'hash1',
49
+ size: 10,
50
+ mtime: Date.now(),
51
+ };
52
+ const file2 = {
53
+ path: 'test.ts',
54
+ content: 'v2',
55
+ hash: 'hash2',
56
+ size: 20,
57
+ mtime: Date.now(),
58
+ };
59
+ await storage.storeFile(file1);
60
+ await storage.storeFile(file2);
61
+ const retrieved = await storage.getFile('test.ts');
62
+ expect(retrieved?.content).toBe('v2');
63
+ expect(retrieved?.hash).toBe('hash2');
64
+ expect(retrieved?.size).toBe(20);
65
+ });
66
+ it('should handle files without language field', async () => {
67
+ const file = {
68
+ path: 'test.txt',
69
+ content: 'plain text',
70
+ hash: 'xyz789',
71
+ size: 50,
72
+ mtime: Date.now(),
73
+ };
74
+ await storage.storeFile(file);
75
+ const retrieved = await storage.getFile('test.txt');
76
+ expect(retrieved).not.toBeNull();
77
+ expect(retrieved?.language).toBeUndefined();
78
+ });
79
+ });
80
+ describe('getFile', () => {
81
+ it('should return null for non-existent file', async () => {
82
+ const result = await storage.getFile('nonexistent.ts');
83
+ expect(result).toBeNull();
84
+ });
85
+ it('should retrieve stored file', async () => {
86
+ const file = {
87
+ path: 'example.js',
88
+ content: 'const x = 1;',
89
+ hash: 'hash123',
90
+ size: 12,
91
+ mtime: 1234567890,
92
+ language: 'javascript',
93
+ };
94
+ await storage.storeFile(file);
95
+ const retrieved = await storage.getFile('example.js');
96
+ expect(retrieved).toEqual({
97
+ path: 'example.js',
98
+ content: 'const x = 1;',
99
+ hash: 'hash123',
100
+ size: 12,
101
+ mtime: 1234567890,
102
+ language: 'javascript',
103
+ });
104
+ });
105
+ });
106
+ describe('getAllFiles', () => {
107
+ it('should return empty array when no files stored', async () => {
108
+ const files = await storage.getAllFiles();
109
+ expect(files).toEqual([]);
110
+ });
111
+ it('should return all stored files', async () => {
112
+ const file1 = {
113
+ path: 'a.ts',
114
+ content: 'a',
115
+ hash: 'hash_a',
116
+ size: 1,
117
+ mtime: Date.now(),
118
+ };
119
+ const file2 = {
120
+ path: 'b.ts',
121
+ content: 'b',
122
+ hash: 'hash_b',
123
+ size: 1,
124
+ mtime: Date.now(),
125
+ };
126
+ await storage.storeFile(file1);
127
+ await storage.storeFile(file2);
128
+ const files = await storage.getAllFiles();
129
+ expect(files).toHaveLength(2);
130
+ expect(files.map((f) => f.path).sort()).toEqual(['a.ts', 'b.ts']);
131
+ });
132
+ });
133
+ describe('deleteFile', () => {
134
+ it('should delete a file', async () => {
135
+ const file = {
136
+ path: 'delete-me.ts',
137
+ content: 'delete',
138
+ hash: 'hash',
139
+ size: 6,
140
+ mtime: Date.now(),
141
+ };
142
+ await storage.storeFile(file);
143
+ expect(await storage.exists('delete-me.ts')).toBe(true);
144
+ await storage.deleteFile('delete-me.ts');
145
+ expect(await storage.exists('delete-me.ts')).toBe(false);
146
+ });
147
+ it('should not error when deleting non-existent file', async () => {
148
+ // Should complete without throwing
149
+ await storage.deleteFile('nonexistent.ts');
150
+ });
151
+ });
152
+ describe('clear', () => {
153
+ it('should clear all files', async () => {
154
+ const file1 = {
155
+ path: 'a.ts',
156
+ content: 'a',
157
+ hash: 'hash_a',
158
+ size: 1,
159
+ mtime: Date.now(),
160
+ };
161
+ const file2 = {
162
+ path: 'b.ts',
163
+ content: 'b',
164
+ hash: 'hash_b',
165
+ size: 1,
166
+ mtime: Date.now(),
167
+ };
168
+ await storage.storeFile(file1);
169
+ await storage.storeFile(file2);
170
+ expect(await storage.count()).toBe(2);
171
+ await storage.clear();
172
+ expect(await storage.count()).toBe(0);
173
+ expect(await storage.getAllFiles()).toEqual([]);
174
+ });
175
+ });
176
+ describe('count', () => {
177
+ it('should return 0 when no files', async () => {
178
+ const count = await storage.count();
179
+ expect(count).toBe(0);
180
+ });
181
+ it('should return correct count', async () => {
182
+ await storage.storeFile({
183
+ path: '1.ts',
184
+ content: '',
185
+ hash: 'h1',
186
+ size: 0,
187
+ mtime: Date.now(),
188
+ });
189
+ await storage.storeFile({
190
+ path: '2.ts',
191
+ content: '',
192
+ hash: 'h2',
193
+ size: 0,
194
+ mtime: Date.now(),
195
+ });
196
+ expect(await storage.count()).toBe(2);
197
+ });
198
+ });
199
+ describe('exists', () => {
200
+ it('should return false for non-existent file', async () => {
201
+ const exists = await storage.exists('nonexistent.ts');
202
+ expect(exists).toBe(false);
203
+ });
204
+ it('should return true for existing file', async () => {
205
+ await storage.storeFile({
206
+ path: 'exists.ts',
207
+ content: 'exists',
208
+ hash: 'hash',
209
+ size: 6,
210
+ mtime: Date.now(),
211
+ });
212
+ const exists = await storage.exists('exists.ts');
213
+ expect(exists).toBe(true);
214
+ });
215
+ });
216
+ describe('metadata', () => {
217
+ it('should store and retrieve metadata', async () => {
218
+ await storage.setMetadata('version', '1.0.0');
219
+ const value = await storage.getMetadata('version');
220
+ expect(value).toBe('1.0.0');
221
+ });
222
+ it('should return null for non-existent metadata', async () => {
223
+ const value = await storage.getMetadata('nonexistent');
224
+ expect(value).toBeNull();
225
+ });
226
+ it('should update existing metadata', async () => {
227
+ await storage.setMetadata('key', 'v1');
228
+ await storage.setMetadata('key', 'v2');
229
+ const value = await storage.getMetadata('key');
230
+ expect(value).toBe('v2');
231
+ });
232
+ });
233
+ describe('chunk vectors', () => {
234
+ it('should store and retrieve chunk vectors', async () => {
235
+ // First store a file
236
+ await storage.storeFile({
237
+ path: 'doc.ts',
238
+ content: 'function test() {}',
239
+ hash: 'hash',
240
+ size: 18,
241
+ mtime: Date.now(),
242
+ });
243
+ // Store chunks
244
+ const chunkIds = await storage.storeChunks('doc.ts', [
245
+ { content: 'function test() {}', type: 'FunctionDeclaration', startLine: 1, endLine: 1 },
246
+ ]);
247
+ expect(chunkIds.length).toBe(1);
248
+ const chunkId = chunkIds[0];
249
+ // Store vectors for chunk
250
+ const terms = new Map([
251
+ ['function', { tf: 0.5, tfidf: 1.2, rawFreq: 1 }],
252
+ ['test', { tf: 0.5, tfidf: 0.8, rawFreq: 1 }],
253
+ ]);
254
+ await storage.storeChunkVectors(chunkId, terms);
255
+ // Retrieve vectors
256
+ const retrieved = await storage.getChunkVectors(chunkId);
257
+ expect(retrieved).not.toBeNull();
258
+ expect(retrieved?.size).toBe(2);
259
+ expect(retrieved?.get('function')).toEqual({ tf: 0.5, tfidf: 1.2, rawFreq: 1 });
260
+ expect(retrieved?.get('test')).toEqual({ tf: 0.5, tfidf: 0.8, rawFreq: 1 });
261
+ });
262
+ it('should update chunk vectors on re-index', async () => {
263
+ await storage.storeFile({
264
+ path: 'doc.ts',
265
+ content: 'test',
266
+ hash: 'hash',
267
+ size: 4,
268
+ mtime: Date.now(),
269
+ });
270
+ // Store chunks
271
+ const chunkIds = await storage.storeChunks('doc.ts', [
272
+ { content: 'test', type: 'text', startLine: 1, endLine: 1 },
273
+ ]);
274
+ const chunkId = chunkIds[0];
275
+ // First vectors
276
+ const terms1 = new Map([['old', { tf: 1.0, tfidf: 1.0, rawFreq: 1 }]]);
277
+ await storage.storeChunkVectors(chunkId, terms1);
278
+ // Update vectors
279
+ const terms2 = new Map([['new', { tf: 1.0, tfidf: 2.0, rawFreq: 1 }]]);
280
+ await storage.storeChunkVectors(chunkId, terms2);
281
+ const retrieved = await storage.getChunkVectors(chunkId);
282
+ expect(retrieved?.size).toBe(1);
283
+ expect(retrieved?.get('new')).toEqual({ tf: 1.0, tfidf: 2.0, rawFreq: 1 });
284
+ expect(retrieved?.has('old')).toBe(false);
285
+ });
286
+ it('should return null for non-existent chunk vectors', async () => {
287
+ const vectors = await storage.getChunkVectors(99999);
288
+ expect(vectors).toBeNull();
289
+ });
290
+ });
291
+ describe('IDF scores', () => {
292
+ it('should store and retrieve IDF scores', async () => {
293
+ const idf = new Map([
294
+ ['function', 1.5],
295
+ ['const', 0.8],
296
+ ]);
297
+ const docFreq = new Map([
298
+ ['function', 10],
299
+ ['const', 25],
300
+ ]);
301
+ await storage.storeIdfScores(idf, docFreq);
302
+ const retrieved = await storage.getIdfScores();
303
+ expect(retrieved.size).toBe(2);
304
+ expect(retrieved.get('function')).toBe(1.5);
305
+ expect(retrieved.get('const')).toBe(0.8);
306
+ });
307
+ it('should replace IDF scores on update', async () => {
308
+ const idf1 = new Map([['old', 1.0]]);
309
+ const docFreq1 = new Map([['old', 1]]);
310
+ await storage.storeIdfScores(idf1, docFreq1);
311
+ const idf2 = new Map([['new', 2.0]]);
312
+ const docFreq2 = new Map([['new', 2]]);
313
+ await storage.storeIdfScores(idf2, docFreq2);
314
+ const retrieved = await storage.getIdfScores();
315
+ expect(retrieved.size).toBe(1);
316
+ expect(retrieved.get('new')).toBe(2.0);
317
+ expect(retrieved.has('old')).toBe(false);
318
+ });
319
+ it('should return empty map when no IDF scores', async () => {
320
+ const idf = await storage.getIdfScores();
321
+ expect(idf.size).toBe(0);
322
+ });
323
+ });
324
+ });
325
+ //# sourceMappingURL=storage-persistent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-persistent.test.js","sourceRoot":"","sources":["../src/storage-persistent.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * In-memory storage for codebase index
3
+ */
4
+ export interface CodebaseFile {
5
+ path: string;
6
+ content: string;
7
+ size: number;
8
+ mtime: number | Date;
9
+ language?: string;
10
+ hash: string;
11
+ }
12
+ export interface Storage {
13
+ storeFile(file: CodebaseFile): Promise<void>;
14
+ storeFiles?(files: CodebaseFile[]): Promise<void>;
15
+ getFile(path: string): Promise<CodebaseFile | null>;
16
+ getAllFiles(): Promise<CodebaseFile[]>;
17
+ deleteFile(path: string): Promise<void>;
18
+ clear(): Promise<void>;
19
+ count(): Promise<number>;
20
+ getChunkCount?(): Promise<number>;
21
+ exists(path: string): Promise<boolean>;
22
+ getFileHashes?(): Promise<Map<string, string>>;
23
+ }
24
+ export declare class MemoryStorage implements Storage {
25
+ private files;
26
+ /**
27
+ * Store a file
28
+ */
29
+ storeFile(file: CodebaseFile): Promise<void>;
30
+ /**
31
+ * Store multiple files (batch operation)
32
+ */
33
+ storeFiles(files: CodebaseFile[]): Promise<void>;
34
+ /**
35
+ * Get a file by path
36
+ */
37
+ getFile(path: string): Promise<CodebaseFile | null>;
38
+ /**
39
+ * Get all files
40
+ */
41
+ getAllFiles(): Promise<CodebaseFile[]>;
42
+ /**
43
+ * Delete a file
44
+ */
45
+ deleteFile(path: string): Promise<void>;
46
+ /**
47
+ * Clear all files
48
+ */
49
+ clear(): Promise<void>;
50
+ /**
51
+ * Get file count
52
+ */
53
+ count(): Promise<number>;
54
+ /**
55
+ * Check if file exists
56
+ */
57
+ exists(path: string): Promise<boolean>;
58
+ /**
59
+ * Get path -> hash for all files (for skip-unchanged during full index)
60
+ */
61
+ getFileHashes(): Promise<Map<string, string>>;
62
+ }
63
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,OAAO;IACvB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,UAAU,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IACnD,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IACtC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACxB,aAAa,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACtC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC9C;AAED,qBAAa,aAAc,YAAW,OAAO;IAC5C,OAAO,CAAC,KAAK,CAAuC;IAEpD;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIzD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI5C;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAOnD"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * In-memory storage for codebase index
3
+ */
4
+ export class MemoryStorage {
5
+ files = new Map();
6
+ /**
7
+ * Store a file
8
+ */
9
+ async storeFile(file) {
10
+ this.files.set(file.path, file);
11
+ }
12
+ /**
13
+ * Store multiple files (batch operation)
14
+ */
15
+ async storeFiles(files) {
16
+ for (const file of files) {
17
+ this.files.set(file.path, file);
18
+ }
19
+ }
20
+ /**
21
+ * Get a file by path
22
+ */
23
+ async getFile(path) {
24
+ return this.files.get(path) || null;
25
+ }
26
+ /**
27
+ * Get all files
28
+ */
29
+ async getAllFiles() {
30
+ return Array.from(this.files.values());
31
+ }
32
+ /**
33
+ * Delete a file
34
+ */
35
+ async deleteFile(path) {
36
+ this.files.delete(path);
37
+ }
38
+ /**
39
+ * Clear all files
40
+ */
41
+ async clear() {
42
+ this.files.clear();
43
+ }
44
+ /**
45
+ * Get file count
46
+ */
47
+ async count() {
48
+ return this.files.size;
49
+ }
50
+ /**
51
+ * Check if file exists
52
+ */
53
+ async exists(path) {
54
+ return this.files.has(path);
55
+ }
56
+ /**
57
+ * Get path -> hash for all files (for skip-unchanged during full index)
58
+ */
59
+ async getFileHashes() {
60
+ const map = new Map();
61
+ for (const [path, file] of this.files) {
62
+ map.set(path, file.hash);
63
+ }
64
+ return map;
65
+ }
66
+ }
67
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwBH,MAAM,OAAO,aAAa;IACjB,KAAK,GAA8B,IAAI,GAAG,EAAE,CAAA;IAEpD;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAkB;QACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAqB;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY;QAC5B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QAClB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACvC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,GAAG,CAAA;IACX,CAAC;CACD"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for in-memory storage
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=storage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.test.d.ts","sourceRoot":"","sources":["../src/storage.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}