@mduenas/codegraph 0.4.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 (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +641 -0
  3. package/dist/bin/codegraph.d.ts +20 -0
  4. package/dist/bin/codegraph.d.ts.map +1 -0
  5. package/dist/bin/codegraph.js +704 -0
  6. package/dist/bin/codegraph.js.map +1 -0
  7. package/dist/config.d.ts +51 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +291 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/context/formatter.d.ts +30 -0
  12. package/dist/context/formatter.d.ts.map +1 -0
  13. package/dist/context/formatter.js +244 -0
  14. package/dist/context/formatter.js.map +1 -0
  15. package/dist/context/index.d.ts +86 -0
  16. package/dist/context/index.d.ts.map +1 -0
  17. package/dist/context/index.js +402 -0
  18. package/dist/context/index.js.map +1 -0
  19. package/dist/db/index.d.ts +64 -0
  20. package/dist/db/index.d.ts.map +1 -0
  21. package/dist/db/index.js +170 -0
  22. package/dist/db/index.js.map +1 -0
  23. package/dist/db/migrations.d.ts +44 -0
  24. package/dist/db/migrations.d.ts.map +1 -0
  25. package/dist/db/migrations.js +105 -0
  26. package/dist/db/migrations.js.map +1 -0
  27. package/dist/db/queries.d.ts +148 -0
  28. package/dist/db/queries.d.ts.map +1 -0
  29. package/dist/db/queries.js +669 -0
  30. package/dist/db/queries.js.map +1 -0
  31. package/dist/directory.d.ts +45 -0
  32. package/dist/directory.d.ts.map +1 -0
  33. package/dist/directory.js +191 -0
  34. package/dist/directory.js.map +1 -0
  35. package/dist/errors.d.ts +136 -0
  36. package/dist/errors.d.ts.map +1 -0
  37. package/dist/errors.js +219 -0
  38. package/dist/errors.js.map +1 -0
  39. package/dist/extraction/grammars.d.ts +36 -0
  40. package/dist/extraction/grammars.d.ts.map +1 -0
  41. package/dist/extraction/grammars.js +181 -0
  42. package/dist/extraction/grammars.js.map +1 -0
  43. package/dist/extraction/index.d.ts +91 -0
  44. package/dist/extraction/index.d.ts.map +1 -0
  45. package/dist/extraction/index.js +493 -0
  46. package/dist/extraction/index.js.map +1 -0
  47. package/dist/extraction/tree-sitter.d.ts +176 -0
  48. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  49. package/dist/extraction/tree-sitter.js +1798 -0
  50. package/dist/extraction/tree-sitter.js.map +1 -0
  51. package/dist/graph/index.d.ts +8 -0
  52. package/dist/graph/index.d.ts.map +1 -0
  53. package/dist/graph/index.js +13 -0
  54. package/dist/graph/index.js.map +1 -0
  55. package/dist/graph/queries.d.ts +106 -0
  56. package/dist/graph/queries.d.ts.map +1 -0
  57. package/dist/graph/queries.js +355 -0
  58. package/dist/graph/queries.js.map +1 -0
  59. package/dist/graph/traversal.d.ts +127 -0
  60. package/dist/graph/traversal.d.ts.map +1 -0
  61. package/dist/graph/traversal.js +465 -0
  62. package/dist/graph/traversal.js.map +1 -0
  63. package/dist/index.d.ts +496 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +818 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/installer/banner.d.ts +40 -0
  68. package/dist/installer/banner.d.ts.map +1 -0
  69. package/dist/installer/banner.js +162 -0
  70. package/dist/installer/banner.js.map +1 -0
  71. package/dist/installer/claude-md-template.d.ts +10 -0
  72. package/dist/installer/claude-md-template.d.ts.map +1 -0
  73. package/dist/installer/claude-md-template.js +46 -0
  74. package/dist/installer/claude-md-template.js.map +1 -0
  75. package/dist/installer/config-writer.d.ts +36 -0
  76. package/dist/installer/config-writer.d.ts.map +1 -0
  77. package/dist/installer/config-writer.js +282 -0
  78. package/dist/installer/config-writer.js.map +1 -0
  79. package/dist/installer/index.d.ts +13 -0
  80. package/dist/installer/index.d.ts.map +1 -0
  81. package/dist/installer/index.js +155 -0
  82. package/dist/installer/index.js.map +1 -0
  83. package/dist/installer/prompts.d.ts +18 -0
  84. package/dist/installer/prompts.d.ts.map +1 -0
  85. package/dist/installer/prompts.js +113 -0
  86. package/dist/installer/prompts.js.map +1 -0
  87. package/dist/mcp/index.d.ts +64 -0
  88. package/dist/mcp/index.d.ts.map +1 -0
  89. package/dist/mcp/index.js +207 -0
  90. package/dist/mcp/index.js.map +1 -0
  91. package/dist/mcp/tools.d.ts +93 -0
  92. package/dist/mcp/tools.d.ts.map +1 -0
  93. package/dist/mcp/tools.js +442 -0
  94. package/dist/mcp/tools.js.map +1 -0
  95. package/dist/mcp/transport.d.ts +89 -0
  96. package/dist/mcp/transport.d.ts.map +1 -0
  97. package/dist/mcp/transport.js +170 -0
  98. package/dist/mcp/transport.js.map +1 -0
  99. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  100. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  101. package/dist/resolution/frameworks/csharp.js +274 -0
  102. package/dist/resolution/frameworks/csharp.js.map +1 -0
  103. package/dist/resolution/frameworks/express.d.ts +8 -0
  104. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  105. package/dist/resolution/frameworks/express.js +208 -0
  106. package/dist/resolution/frameworks/express.js.map +1 -0
  107. package/dist/resolution/frameworks/go.d.ts +8 -0
  108. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  109. package/dist/resolution/frameworks/go.js +225 -0
  110. package/dist/resolution/frameworks/go.js.map +1 -0
  111. package/dist/resolution/frameworks/index.d.ts +33 -0
  112. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  113. package/dist/resolution/frameworks/index.js +113 -0
  114. package/dist/resolution/frameworks/index.js.map +1 -0
  115. package/dist/resolution/frameworks/java.d.ts +8 -0
  116. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  117. package/dist/resolution/frameworks/java.js +239 -0
  118. package/dist/resolution/frameworks/java.js.map +1 -0
  119. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  120. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  121. package/dist/resolution/frameworks/laravel.js +198 -0
  122. package/dist/resolution/frameworks/laravel.js.map +1 -0
  123. package/dist/resolution/frameworks/python.d.ts +10 -0
  124. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  125. package/dist/resolution/frameworks/python.js +331 -0
  126. package/dist/resolution/frameworks/python.js.map +1 -0
  127. package/dist/resolution/frameworks/react.d.ts +8 -0
  128. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  129. package/dist/resolution/frameworks/react.js +294 -0
  130. package/dist/resolution/frameworks/react.js.map +1 -0
  131. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  132. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  133. package/dist/resolution/frameworks/ruby.js +262 -0
  134. package/dist/resolution/frameworks/ruby.js.map +1 -0
  135. package/dist/resolution/frameworks/rust.d.ts +8 -0
  136. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  137. package/dist/resolution/frameworks/rust.js +222 -0
  138. package/dist/resolution/frameworks/rust.js.map +1 -0
  139. package/dist/resolution/frameworks/swift.d.ts +10 -0
  140. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  141. package/dist/resolution/frameworks/swift.js +486 -0
  142. package/dist/resolution/frameworks/swift.js.map +1 -0
  143. package/dist/resolution/import-resolver.d.ts +20 -0
  144. package/dist/resolution/import-resolver.d.ts.map +1 -0
  145. package/dist/resolution/import-resolver.js +445 -0
  146. package/dist/resolution/import-resolver.js.map +1 -0
  147. package/dist/resolution/index.d.ts +72 -0
  148. package/dist/resolution/index.d.ts.map +1 -0
  149. package/dist/resolution/index.js +301 -0
  150. package/dist/resolution/index.js.map +1 -0
  151. package/dist/resolution/name-matcher.d.ts +27 -0
  152. package/dist/resolution/name-matcher.d.ts.map +1 -0
  153. package/dist/resolution/name-matcher.js +210 -0
  154. package/dist/resolution/name-matcher.js.map +1 -0
  155. package/dist/resolution/types.d.ts +108 -0
  156. package/dist/resolution/types.d.ts.map +1 -0
  157. package/dist/resolution/types.js +8 -0
  158. package/dist/resolution/types.js.map +1 -0
  159. package/dist/sync/git-hooks.d.ts +66 -0
  160. package/dist/sync/git-hooks.d.ts.map +1 -0
  161. package/dist/sync/git-hooks.js +281 -0
  162. package/dist/sync/git-hooks.js.map +1 -0
  163. package/dist/sync/index.d.ts +13 -0
  164. package/dist/sync/index.d.ts.map +1 -0
  165. package/dist/sync/index.js +18 -0
  166. package/dist/sync/index.js.map +1 -0
  167. package/dist/types.d.ts +410 -0
  168. package/dist/types.d.ts.map +1 -0
  169. package/dist/types.js +165 -0
  170. package/dist/types.js.map +1 -0
  171. package/dist/utils.d.ts +116 -0
  172. package/dist/utils.d.ts.map +1 -0
  173. package/dist/utils.js +295 -0
  174. package/dist/utils.js.map +1 -0
  175. package/dist/vectors/embedder.d.ts +140 -0
  176. package/dist/vectors/embedder.d.ts.map +1 -0
  177. package/dist/vectors/embedder.js +336 -0
  178. package/dist/vectors/embedder.js.map +1 -0
  179. package/dist/vectors/index.d.ts +9 -0
  180. package/dist/vectors/index.d.ts.map +1 -0
  181. package/dist/vectors/index.js +20 -0
  182. package/dist/vectors/index.js.map +1 -0
  183. package/dist/vectors/manager.d.ts +119 -0
  184. package/dist/vectors/manager.d.ts.map +1 -0
  185. package/dist/vectors/manager.js +274 -0
  186. package/dist/vectors/manager.js.map +1 -0
  187. package/dist/vectors/search.d.ts +134 -0
  188. package/dist/vectors/search.d.ts.map +1 -0
  189. package/dist/vectors/search.js +409 -0
  190. package/dist/vectors/search.js.map +1 -0
  191. package/package.json +67 -0
  192. package/scripts/postinstall.js +68 -0
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ /**
3
+ * Text Embedder
4
+ *
5
+ * Generates vector embeddings using the nomic-embed-text model via Transformers.js.
6
+ * Uses ONNX runtime under the hood for fast local inference.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.TextEmbedder = exports.EMBEDDING_DIMENSION = exports.DEFAULT_MODEL = void 0;
43
+ exports.createEmbedder = createEmbedder;
44
+ const path = __importStar(require("path"));
45
+ const fs = __importStar(require("fs"));
46
+ const os_1 = require("os");
47
+ // Global model cache directory (shared across all projects)
48
+ const GLOBAL_MODELS_DIR = path.join((0, os_1.homedir)(), '.codegraph', 'models');
49
+ // Dynamic import for @xenova/transformers (ESM-only package)
50
+ // We use dynamic import to support CommonJS builds
51
+ let transformersModule = null;
52
+ async function getTransformers() {
53
+ if (!transformersModule) {
54
+ transformersModule = await Promise.resolve().then(() => __importStar(require('@xenova/transformers')));
55
+ }
56
+ return transformersModule;
57
+ }
58
+ /**
59
+ * Default model for embeddings
60
+ * nomic-embed-text-v1.5 produces 384-dimensional embeddings
61
+ */
62
+ exports.DEFAULT_MODEL = 'nomic-ai/nomic-embed-text-v1.5';
63
+ exports.EMBEDDING_DIMENSION = 768; // nomic-embed-text-v1.5 uses 768 dimensions
64
+ /**
65
+ * Text Embedder using Transformers.js
66
+ *
67
+ * Uses the nomic-embed-text-v1.5 model to generate embeddings for code
68
+ * and natural language queries.
69
+ */
70
+ class TextEmbedder {
71
+ modelId;
72
+ cacheDir;
73
+ pipeline = null;
74
+ initialized = false;
75
+ showProgress;
76
+ constructor(options = {}) {
77
+ this.modelId = options.modelId || exports.DEFAULT_MODEL;
78
+ this.cacheDir = options.cacheDir || GLOBAL_MODELS_DIR;
79
+ this.showProgress = options.showProgress ?? false;
80
+ }
81
+ /**
82
+ * Initialize the embedder by loading the model
83
+ *
84
+ * This will download the model on first use if not already cached.
85
+ */
86
+ async initialize() {
87
+ if (this.initialized) {
88
+ return;
89
+ }
90
+ // Load transformers.js dynamically (ESM-only package)
91
+ const { pipeline, env } = await getTransformers();
92
+ // Configure transformers.js to use local cache
93
+ env.cacheDir = this.cacheDir;
94
+ // Ensure cache directory exists
95
+ if (!fs.existsSync(this.cacheDir)) {
96
+ fs.mkdirSync(this.cacheDir, { recursive: true });
97
+ }
98
+ // Disable remote model checking if model is already cached
99
+ // This speeds up initialization significantly
100
+ const modelCacheExists = fs.existsSync(path.join(this.cacheDir, this.modelId.replace('/', '--')));
101
+ if (modelCacheExists) {
102
+ env.allowRemoteModels = false;
103
+ }
104
+ // Load the pipeline
105
+ this.pipeline = await pipeline('feature-extraction', this.modelId, {
106
+ progress_callback: this.showProgress
107
+ ? (progress) => {
108
+ if (progress.status === 'progress' && progress.file && progress.progress) {
109
+ const pct = Math.round(progress.progress);
110
+ process.stdout.write(`\rDownloading ${progress.file}: ${pct}%`);
111
+ }
112
+ else if (progress.status === 'done') {
113
+ process.stdout.write('\n');
114
+ }
115
+ }
116
+ : undefined,
117
+ });
118
+ this.initialized = true;
119
+ }
120
+ /**
121
+ * Check if the embedder is initialized
122
+ */
123
+ isInitialized() {
124
+ return this.initialized;
125
+ }
126
+ /**
127
+ * Get the model ID being used
128
+ */
129
+ getModelId() {
130
+ return this.modelId;
131
+ }
132
+ /**
133
+ * Get the embedding dimension
134
+ */
135
+ getDimension() {
136
+ return exports.EMBEDDING_DIMENSION;
137
+ }
138
+ /**
139
+ * Generate embedding for a single text
140
+ *
141
+ * @param text - Text to embed
142
+ * @returns Embedding result
143
+ */
144
+ async embed(text) {
145
+ if (!this.initialized || !this.pipeline) {
146
+ throw new Error('Embedder not initialized. Call initialize() first.');
147
+ }
148
+ // Prepare text for nomic-embed-text (it expects specific prefixes)
149
+ const preparedText = this.prepareText(text, 'document');
150
+ // Generate embedding
151
+ const output = await this.pipeline(preparedText, {
152
+ pooling: 'mean',
153
+ normalize: true,
154
+ });
155
+ // Extract the embedding array - handle various data formats
156
+ const data = output.data;
157
+ const embedding = this.toFloat32Array(data);
158
+ return {
159
+ embedding,
160
+ dimension: embedding.length,
161
+ model: this.modelId,
162
+ };
163
+ }
164
+ /**
165
+ * Generate embedding for a query (uses different prefix)
166
+ *
167
+ * @param query - Query text to embed
168
+ * @returns Embedding result
169
+ */
170
+ async embedQuery(query) {
171
+ if (!this.initialized || !this.pipeline) {
172
+ throw new Error('Embedder not initialized. Call initialize() first.');
173
+ }
174
+ // Prepare text for nomic-embed-text query
175
+ const preparedText = this.prepareText(query, 'search_query');
176
+ // Generate embedding
177
+ const output = await this.pipeline(preparedText, {
178
+ pooling: 'mean',
179
+ normalize: true,
180
+ });
181
+ // Extract the embedding array - handle various data formats
182
+ const data = output.data;
183
+ const embedding = this.toFloat32Array(data);
184
+ return {
185
+ embedding,
186
+ dimension: embedding.length,
187
+ model: this.modelId,
188
+ };
189
+ }
190
+ /**
191
+ * Generate embeddings for multiple texts in a batch
192
+ *
193
+ * @param texts - Array of texts to embed
194
+ * @param type - Type of text (document or search_query)
195
+ * @returns Batch embedding result
196
+ */
197
+ async embedBatch(texts, type = 'document') {
198
+ if (!this.initialized || !this.pipeline) {
199
+ throw new Error('Embedder not initialized. Call initialize() first.');
200
+ }
201
+ if (texts.length === 0) {
202
+ return {
203
+ embeddings: [],
204
+ dimension: exports.EMBEDDING_DIMENSION,
205
+ model: this.modelId,
206
+ durationMs: 0,
207
+ };
208
+ }
209
+ const startTime = Date.now();
210
+ // Prepare all texts
211
+ const preparedTexts = texts.map((t) => this.prepareText(t, type));
212
+ // Generate embeddings
213
+ const outputs = await this.pipeline(preparedTexts, {
214
+ pooling: 'mean',
215
+ normalize: true,
216
+ });
217
+ // Extract embeddings
218
+ const embeddings = [];
219
+ const dims = outputs.dims;
220
+ const dimension = dims[1] ?? exports.EMBEDDING_DIMENSION;
221
+ const data = outputs.data;
222
+ const flatData = this.toFloat32Array(data);
223
+ for (let i = 0; i < texts.length; i++) {
224
+ const start = i * dimension;
225
+ const end = start + dimension;
226
+ embeddings.push(flatData.slice(start, end));
227
+ }
228
+ return {
229
+ embeddings,
230
+ dimension,
231
+ model: this.modelId,
232
+ durationMs: Date.now() - startTime,
233
+ };
234
+ }
235
+ /**
236
+ * Convert various array formats to Float32Array
237
+ */
238
+ toFloat32Array(data) {
239
+ if (data instanceof Float32Array) {
240
+ return data;
241
+ }
242
+ if (Array.isArray(data)) {
243
+ return new Float32Array(data);
244
+ }
245
+ if (data && typeof data === 'object' && 'length' in data) {
246
+ // Handle TypedArray-like objects
247
+ const arr = data;
248
+ return new Float32Array(arr.length);
249
+ }
250
+ throw new Error('Unsupported data format for embedding');
251
+ }
252
+ /**
253
+ * Prepare text for the nomic-embed-text model
254
+ *
255
+ * The model expects specific prefixes for different tasks:
256
+ * - "search_document: " for documents to be searched
257
+ * - "search_query: " for search queries
258
+ */
259
+ prepareText(text, type) {
260
+ // Truncate very long texts (model has a max token limit)
261
+ const maxLength = 8192; // nomic-embed-text-v1.5 supports 8192 tokens
262
+ const truncatedText = text.length > maxLength ? text.slice(0, maxLength) : text;
263
+ // Add appropriate prefix
264
+ if (type === 'search_query') {
265
+ return `search_query: ${truncatedText}`;
266
+ }
267
+ else {
268
+ return `search_document: ${truncatedText}`;
269
+ }
270
+ }
271
+ /**
272
+ * Create text representation of a code node for embedding
273
+ *
274
+ * Combines name, signature, docstring, and code snippet into
275
+ * a searchable text representation.
276
+ */
277
+ static createNodeText(node) {
278
+ const parts = [];
279
+ // Add kind and name
280
+ parts.push(`${node.kind}: ${node.name}`);
281
+ // Add qualified name if different from name
282
+ if (node.qualifiedName && node.qualifiedName !== node.name) {
283
+ parts.push(`path: ${node.qualifiedName}`);
284
+ }
285
+ // Add file path
286
+ parts.push(`file: ${node.filePath}`);
287
+ // Add signature if present
288
+ if (node.signature) {
289
+ parts.push(`signature: ${node.signature}`);
290
+ }
291
+ // Add docstring if present
292
+ if (node.docstring) {
293
+ parts.push(`documentation: ${node.docstring}`);
294
+ }
295
+ return parts.join('\n');
296
+ }
297
+ /**
298
+ * Compute cosine similarity between two embeddings
299
+ */
300
+ static cosineSimilarity(a, b) {
301
+ if (a.length !== b.length) {
302
+ throw new Error('Embeddings must have the same dimension');
303
+ }
304
+ let dotProduct = 0;
305
+ let normA = 0;
306
+ let normB = 0;
307
+ for (let i = 0; i < a.length; i++) {
308
+ const aVal = a[i];
309
+ const bVal = b[i];
310
+ dotProduct += aVal * bVal;
311
+ normA += aVal * aVal;
312
+ normB += bVal * bVal;
313
+ }
314
+ normA = Math.sqrt(normA);
315
+ normB = Math.sqrt(normB);
316
+ if (normA === 0 || normB === 0) {
317
+ return 0;
318
+ }
319
+ return dotProduct / (normA * normB);
320
+ }
321
+ /**
322
+ * Release resources
323
+ */
324
+ dispose() {
325
+ this.pipeline = null;
326
+ this.initialized = false;
327
+ }
328
+ }
329
+ exports.TextEmbedder = TextEmbedder;
330
+ /**
331
+ * Create a text embedder instance
332
+ */
333
+ function createEmbedder(options) {
334
+ return new TextEmbedder(options);
335
+ }
336
+ //# sourceMappingURL=embedder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedder.js","sourceRoot":"","sources":["../../src/vectors/embedder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Vectors Module
3
+ *
4
+ * Provides text embedding and vector similarity search for semantic code search.
5
+ */
6
+ export { TextEmbedder, createEmbedder, DEFAULT_MODEL, EMBEDDING_DIMENSION, EmbedderOptions, EmbeddingResult, BatchEmbeddingResult, } from './embedder';
7
+ export { VectorSearchManager, createVectorSearch, VectorSearchOptions, } from './search';
8
+ export { VectorManager, createVectorManager, VectorManagerOptions, EmbeddingProgress, } from './manager';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vectors/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * Vectors Module
4
+ *
5
+ * Provides text embedding and vector similarity search for semantic code search.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.createVectorManager = exports.VectorManager = exports.createVectorSearch = exports.VectorSearchManager = exports.EMBEDDING_DIMENSION = exports.DEFAULT_MODEL = exports.createEmbedder = exports.TextEmbedder = void 0;
9
+ var embedder_1 = require("./embedder");
10
+ Object.defineProperty(exports, "TextEmbedder", { enumerable: true, get: function () { return embedder_1.TextEmbedder; } });
11
+ Object.defineProperty(exports, "createEmbedder", { enumerable: true, get: function () { return embedder_1.createEmbedder; } });
12
+ Object.defineProperty(exports, "DEFAULT_MODEL", { enumerable: true, get: function () { return embedder_1.DEFAULT_MODEL; } });
13
+ Object.defineProperty(exports, "EMBEDDING_DIMENSION", { enumerable: true, get: function () { return embedder_1.EMBEDDING_DIMENSION; } });
14
+ var search_1 = require("./search");
15
+ Object.defineProperty(exports, "VectorSearchManager", { enumerable: true, get: function () { return search_1.VectorSearchManager; } });
16
+ Object.defineProperty(exports, "createVectorSearch", { enumerable: true, get: function () { return search_1.createVectorSearch; } });
17
+ var manager_1 = require("./manager");
18
+ Object.defineProperty(exports, "VectorManager", { enumerable: true, get: function () { return manager_1.VectorManager; } });
19
+ Object.defineProperty(exports, "createVectorManager", { enumerable: true, get: function () { return manager_1.createVectorManager; } });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vectors/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,uCAQoB;AAPlB,wGAAA,YAAY,OAAA;AACZ,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,+GAAA,mBAAmB,OAAA;AAMrB,mCAIkB;AAHhB,6GAAA,mBAAmB,OAAA;AACnB,4GAAA,kBAAkB,OAAA;AAIpB,qCAKmB;AAJjB,wGAAA,aAAa,OAAA;AACb,8GAAA,mBAAmB,OAAA"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Vector Manager
3
+ *
4
+ * High-level manager that coordinates embedding generation and vector search.
5
+ */
6
+ import Database from 'better-sqlite3';
7
+ import { Node, SearchResult, SearchOptions } from '../types';
8
+ import { EmbedderOptions } from './embedder';
9
+ import { QueryBuilder } from '../db/queries';
10
+ /**
11
+ * Progress callback for embedding generation
12
+ */
13
+ export interface EmbeddingProgress {
14
+ /** Current node index */
15
+ current: number;
16
+ /** Total nodes to embed */
17
+ total: number;
18
+ /** Current node being embedded */
19
+ nodeName?: string;
20
+ }
21
+ /**
22
+ * Options for the vector manager
23
+ */
24
+ export interface VectorManagerOptions {
25
+ /** Embedder options */
26
+ embedder?: EmbedderOptions;
27
+ /** Node kinds to embed (default: functions, methods, classes, interfaces) */
28
+ nodeKinds?: Node['kind'][];
29
+ /** Batch size for embedding generation */
30
+ batchSize?: number;
31
+ }
32
+ /**
33
+ * Vector Manager
34
+ *
35
+ * Provides high-level interface for semantic search:
36
+ * - Generates embeddings for code nodes
37
+ * - Stores embeddings in the database
38
+ * - Performs semantic similarity search
39
+ */
40
+ export declare class VectorManager {
41
+ private embedder;
42
+ private searchManager;
43
+ private queries;
44
+ private nodeKinds;
45
+ private batchSize;
46
+ private initialized;
47
+ constructor(db: Database.Database, queries: QueryBuilder, options?: VectorManagerOptions);
48
+ /**
49
+ * Initialize the vector manager
50
+ *
51
+ * Loads the embedding model and initializes vector search.
52
+ */
53
+ initialize(): Promise<void>;
54
+ /**
55
+ * Check if the vector manager is initialized
56
+ */
57
+ isInitialized(): boolean;
58
+ /**
59
+ * Generate embeddings for all eligible nodes
60
+ *
61
+ * @param onProgress - Optional progress callback
62
+ * @returns Number of nodes embedded
63
+ */
64
+ embedAllNodes(onProgress?: (progress: EmbeddingProgress) => void): Promise<number>;
65
+ /**
66
+ * Generate embedding for a single node
67
+ *
68
+ * @param node - Node to embed
69
+ */
70
+ embedNode(node: Node): Promise<void>;
71
+ /**
72
+ * Semantic search for nodes matching a query
73
+ *
74
+ * @param query - Natural language query
75
+ * @param options - Search options
76
+ * @returns Array of search results with similarity scores
77
+ */
78
+ search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
79
+ /**
80
+ * Find nodes similar to a given node
81
+ *
82
+ * @param nodeId - ID of the node to find similar nodes for
83
+ * @param options - Search options
84
+ * @returns Array of similar nodes with similarity scores
85
+ */
86
+ findSimilar(nodeId: string, options?: SearchOptions): Promise<SearchResult[]>;
87
+ /**
88
+ * Delete embedding for a node
89
+ *
90
+ * @param nodeId - ID of the node
91
+ */
92
+ deleteNodeEmbedding(nodeId: string): void;
93
+ /**
94
+ * Get statistics about vector storage
95
+ */
96
+ getStats(): {
97
+ totalVectors: number;
98
+ vssEnabled: boolean;
99
+ modelId: string;
100
+ dimension: number;
101
+ };
102
+ /**
103
+ * Clear all vectors
104
+ */
105
+ clear(): void;
106
+ /**
107
+ * Rebuild the VSS index
108
+ */
109
+ rebuildIndex(): void;
110
+ /**
111
+ * Release resources
112
+ */
113
+ dispose(): void;
114
+ }
115
+ /**
116
+ * Create a vector manager
117
+ */
118
+ export declare function createVectorManager(db: Database.Database, queries: QueryBuilder, options?: VectorManagerOptions): VectorManager;
119
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/vectors/manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAgC,eAAe,EAAuB,MAAM,YAAY,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IAEd,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAE3B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAeD;;;;;;;GAOG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAG1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,oBAAyB;IASpC;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;OAKG;IACG,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA2DxF;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA0CjF;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA8DvF;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB;IASD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,aAAa,CAEf"}