@liendev/core 0.23.0 → 0.27.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/dist/frameworks/python/config.d.ts +6 -0
- package/dist/frameworks/python/config.d.ts.map +1 -0
- package/dist/frameworks/python/config.js +73 -0
- package/dist/frameworks/python/config.js.map +1 -0
- package/dist/frameworks/python/detector.d.ts +7 -0
- package/dist/frameworks/python/detector.d.ts.map +1 -0
- package/dist/frameworks/python/detector.js +129 -0
- package/dist/frameworks/python/detector.js.map +1 -0
- package/dist/frameworks/registry.d.ts +1 -1
- package/dist/frameworks/registry.d.ts.map +1 -1
- package/dist/frameworks/registry.js +3 -1
- package/dist/frameworks/registry.js.map +1 -1
- package/dist/indexer/ast/chunker.d.ts.map +1 -1
- package/dist/indexer/ast/chunker.js +86 -50
- package/dist/indexer/ast/chunker.js.map +1 -1
- package/dist/indexer/ast/extractors/index.d.ts +25 -0
- package/dist/indexer/ast/extractors/index.d.ts.map +1 -0
- package/dist/indexer/ast/extractors/index.js +49 -0
- package/dist/indexer/ast/extractors/index.js.map +1 -0
- package/dist/indexer/ast/extractors/javascript.d.ts +32 -0
- package/dist/indexer/ast/extractors/javascript.d.ts.map +1 -0
- package/dist/indexer/ast/extractors/javascript.js +97 -0
- package/dist/indexer/ast/extractors/javascript.js.map +1 -0
- package/dist/indexer/ast/extractors/php.d.ts +34 -0
- package/dist/indexer/ast/extractors/php.d.ts.map +1 -0
- package/dist/indexer/ast/extractors/php.js +79 -0
- package/dist/indexer/ast/extractors/php.js.map +1 -0
- package/dist/indexer/ast/extractors/python.d.ts +22 -0
- package/dist/indexer/ast/extractors/python.d.ts.map +1 -0
- package/dist/indexer/ast/extractors/python.js +57 -0
- package/dist/indexer/ast/extractors/python.js.map +1 -0
- package/dist/indexer/ast/extractors/types.d.ts +52 -0
- package/dist/indexer/ast/extractors/types.d.ts.map +1 -0
- package/dist/indexer/ast/extractors/types.js +2 -0
- package/dist/indexer/ast/extractors/types.js.map +1 -0
- package/dist/indexer/ast/symbols.d.ts +72 -1
- package/dist/indexer/ast/symbols.d.ts.map +1 -1
- package/dist/indexer/ast/symbols.js +520 -0
- package/dist/indexer/ast/symbols.js.map +1 -1
- package/dist/indexer/types.d.ts +18 -0
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/vectordb/batch-insert.d.ts.map +1 -1
- package/dist/vectordb/batch-insert.js +97 -23
- package/dist/vectordb/batch-insert.js.map +1 -1
- package/dist/vectordb/qdrant-payload-mapper.d.ts +11 -0
- package/dist/vectordb/qdrant-payload-mapper.d.ts.map +1 -1
- package/dist/vectordb/qdrant-payload-mapper.js +33 -0
- package/dist/vectordb/qdrant-payload-mapper.js.map +1 -1
- package/dist/vectordb/query.d.ts +5 -4
- package/dist/vectordb/query.d.ts.map +1 -1
- package/dist/vectordb/query.js +124 -25
- package/dist/vectordb/query.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,59 @@
|
|
|
1
1
|
import { DatabaseError } from '../errors/index.js';
|
|
2
2
|
import { VECTOR_DB_MAX_BATCH_SIZE, VECTOR_DB_MIN_BATCH_SIZE } from '../constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* Arrow type inference placeholder for empty string arrays.
|
|
5
|
+
* Used to prevent schema inference failures when no data is present.
|
|
6
|
+
* Filtered out during deserialization via hasValidStringEntries().
|
|
7
|
+
*/
|
|
8
|
+
const ARROW_EMPTY_STRING_PLACEHOLDER = [''];
|
|
9
|
+
/**
|
|
10
|
+
* Serialize importedSymbols map into parallel arrays for Arrow storage.
|
|
11
|
+
* Returns { paths: string[], names: string[] } where names[i] is JSON-encoded array
|
|
12
|
+
* of symbols imported from paths[i].
|
|
13
|
+
*
|
|
14
|
+
* Note: For missing data, this function uses ARROW_EMPTY_STRING_PLACEHOLDER.
|
|
15
|
+
* This is required for Arrow type inference - empty arrays cause schema inference failures.
|
|
16
|
+
*/
|
|
17
|
+
function serializeImportedSymbols(importedSymbols) {
|
|
18
|
+
if (!importedSymbols || Object.keys(importedSymbols).length === 0) {
|
|
19
|
+
return { paths: ARROW_EMPTY_STRING_PLACEHOLDER, names: ARROW_EMPTY_STRING_PLACEHOLDER };
|
|
20
|
+
}
|
|
21
|
+
const entries = Object.entries(importedSymbols);
|
|
22
|
+
return {
|
|
23
|
+
paths: entries.map(([path]) => path),
|
|
24
|
+
names: entries.map(([, symbols]) => JSON.stringify(symbols)),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Arrow type inference placeholder for empty number arrays.
|
|
29
|
+
* Used to prevent schema inference failures when no data is present.
|
|
30
|
+
* Filtered out during deserialization via hasValidNumberEntries().
|
|
31
|
+
*/
|
|
32
|
+
const ARROW_EMPTY_NUMBER_PLACEHOLDER = [0];
|
|
33
|
+
/**
|
|
34
|
+
* Serialize callSites into parallel arrays for Arrow storage.
|
|
35
|
+
*
|
|
36
|
+
* Note: Uses ARROW_EMPTY_STRING_PLACEHOLDER and ARROW_EMPTY_NUMBER_PLACEHOLDER
|
|
37
|
+
* for missing data. This is required for Arrow type inference - empty arrays cause
|
|
38
|
+
* schema inference failures.
|
|
39
|
+
*/
|
|
40
|
+
function serializeCallSites(callSites) {
|
|
41
|
+
if (!callSites || callSites.length === 0) {
|
|
42
|
+
return { symbols: ARROW_EMPTY_STRING_PLACEHOLDER, lines: ARROW_EMPTY_NUMBER_PLACEHOLDER };
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
symbols: callSites.map(c => c.symbol),
|
|
46
|
+
lines: callSites.map(c => c.line),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
3
49
|
/**
|
|
4
50
|
* Transform a chunk's data into a database record.
|
|
5
|
-
*
|
|
51
|
+
* Serializes complex metadata fields and handles missing/empty data by providing
|
|
52
|
+
* placeholder values for Arrow type inference.
|
|
6
53
|
*/
|
|
7
54
|
function transformChunkToRecord(vector, content, metadata) {
|
|
55
|
+
const importedSymbolsSerialized = serializeImportedSymbols(metadata.importedSymbols);
|
|
56
|
+
const callSitesSerialized = serializeCallSites(metadata.callSites);
|
|
8
57
|
return {
|
|
9
58
|
vector: Array.from(vector),
|
|
10
59
|
content,
|
|
@@ -31,6 +80,12 @@ function transformChunkToRecord(vector, content, metadata) {
|
|
|
31
80
|
halsteadDifficulty: metadata.halsteadDifficulty || 0,
|
|
32
81
|
halsteadEffort: metadata.halsteadEffort || 0,
|
|
33
82
|
halsteadBugs: metadata.halsteadBugs || 0,
|
|
83
|
+
// Symbol-level dependency tracking (v0.23.0)
|
|
84
|
+
exports: getNonEmptyArray(metadata.exports),
|
|
85
|
+
importedSymbolPaths: importedSymbolsSerialized.paths,
|
|
86
|
+
importedSymbolNames: importedSymbolsSerialized.names,
|
|
87
|
+
callSiteSymbols: callSitesSerialized.symbols,
|
|
88
|
+
callSiteLines: callSitesSerialized.lines,
|
|
34
89
|
};
|
|
35
90
|
}
|
|
36
91
|
/**
|
|
@@ -64,14 +119,10 @@ function transformBatchToRecords(batch) {
|
|
|
64
119
|
return batch.vectors.map((vector, i) => transformChunkToRecord(vector, batch.contents[i], batch.metadatas[i]));
|
|
65
120
|
}
|
|
66
121
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* @returns The table instance after insertion, or null only when:
|
|
70
|
-
* - vectors.length === 0 AND table === null (no-op case)
|
|
71
|
-
* For non-empty batches, always returns a valid table or throws.
|
|
72
|
-
* @throws {DatabaseError} If database not initialized or insertion fails
|
|
122
|
+
* Validate batch insert inputs.
|
|
123
|
+
* @throws {DatabaseError} If validation fails
|
|
73
124
|
*/
|
|
74
|
-
|
|
125
|
+
function validateBatchInputs(db, vectors, metadatas, contents) {
|
|
75
126
|
if (!db) {
|
|
76
127
|
throw new DatabaseError('Vector database not initialized');
|
|
77
128
|
}
|
|
@@ -82,27 +133,50 @@ export async function insertBatch(db, table, tableName, vectors, metadatas, cont
|
|
|
82
133
|
contentsLength: contents.length,
|
|
83
134
|
});
|
|
84
135
|
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Chunk arrays into batches of specified size.
|
|
139
|
+
* Returns array of [vectors, metadatas, contents] tuples for each batch.
|
|
140
|
+
*/
|
|
141
|
+
function chunkIntoBatches(vectors, metadatas, contents, batchSize) {
|
|
142
|
+
if (vectors.length <= batchSize) {
|
|
143
|
+
return [[vectors, metadatas, contents]];
|
|
144
|
+
}
|
|
145
|
+
const batches = [];
|
|
146
|
+
for (let i = 0; i < vectors.length; i += batchSize) {
|
|
147
|
+
const end = Math.min(i + batchSize, vectors.length);
|
|
148
|
+
batches.push([
|
|
149
|
+
vectors.slice(i, end),
|
|
150
|
+
metadatas.slice(i, end),
|
|
151
|
+
contents.slice(i, end),
|
|
152
|
+
]);
|
|
153
|
+
}
|
|
154
|
+
return batches;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Insert a batch of vectors into the database
|
|
158
|
+
*
|
|
159
|
+
* @returns The table instance after insertion, or null only when:
|
|
160
|
+
* - vectors.length === 0 AND table === null (no-op case)
|
|
161
|
+
* For non-empty batches, always returns a valid table or throws.
|
|
162
|
+
* @throws {DatabaseError} If database not initialized or insertion fails
|
|
163
|
+
*/
|
|
164
|
+
export async function insertBatch(db, table, tableName, vectors, metadatas, contents) {
|
|
165
|
+
validateBatchInputs(db, vectors, metadatas, contents);
|
|
85
166
|
// Handle empty batch gracefully - return table as-is (could be null)
|
|
86
167
|
if (vectors.length === 0) {
|
|
87
168
|
return table;
|
|
88
169
|
}
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const batchMetadata = metadatas.slice(i, Math.min(i + VECTOR_DB_MAX_BATCH_SIZE, vectors.length));
|
|
95
|
-
const batchContents = contents.slice(i, Math.min(i + VECTOR_DB_MAX_BATCH_SIZE, vectors.length));
|
|
96
|
-
currentTable = await insertBatchInternal(db, currentTable, tableName, batchVectors, batchMetadata, batchContents);
|
|
97
|
-
}
|
|
98
|
-
if (!currentTable) {
|
|
99
|
-
throw new DatabaseError('Failed to create table during batch insert');
|
|
100
|
-
}
|
|
101
|
-
return currentTable;
|
|
170
|
+
// Process batches
|
|
171
|
+
const batches = chunkIntoBatches(vectors, metadatas, contents, VECTOR_DB_MAX_BATCH_SIZE);
|
|
172
|
+
let currentTable = table;
|
|
173
|
+
for (const [batchVectors, batchMetadatas, batchContents] of batches) {
|
|
174
|
+
currentTable = await insertBatchInternal(db, currentTable, tableName, batchVectors, batchMetadatas, batchContents);
|
|
102
175
|
}
|
|
103
|
-
|
|
104
|
-
|
|
176
|
+
if (!currentTable) {
|
|
177
|
+
throw new DatabaseError('Failed to create table during batch insert');
|
|
105
178
|
}
|
|
179
|
+
return currentTable;
|
|
106
180
|
}
|
|
107
181
|
/**
|
|
108
182
|
* Internal method to insert a single batch with iterative retry logic.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-insert.js","sourceRoot":"","sources":["../../src/vectordb/batch-insert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-insert.js","sourceRoot":"","sources":["../../src/vectordb/batch-insert.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,9 @@ export interface QdrantPayload {
|
|
|
27
27
|
halsteadDifficulty: number;
|
|
28
28
|
halsteadEffort: number;
|
|
29
29
|
halsteadBugs: number;
|
|
30
|
+
exports: string[];
|
|
31
|
+
importedSymbols: string;
|
|
32
|
+
callSites: string;
|
|
30
33
|
orgId: string;
|
|
31
34
|
repoId: string;
|
|
32
35
|
branch: string;
|
|
@@ -72,6 +75,14 @@ export declare class QdrantPayloadMapper {
|
|
|
72
75
|
* metadata, which is the expected migration path for old Qdrant data.
|
|
73
76
|
*/
|
|
74
77
|
private extractTrackingInfo;
|
|
78
|
+
/**
|
|
79
|
+
* Parse JSON safely, returning default value on error or missing input.
|
|
80
|
+
*/
|
|
81
|
+
private safeJsonParse;
|
|
82
|
+
/**
|
|
83
|
+
* Extract symbol-level dependency tracking fields.
|
|
84
|
+
*/
|
|
85
|
+
private extractDependencyTracking;
|
|
75
86
|
/**
|
|
76
87
|
* Transform Qdrant payload back to ChunkMetadata.
|
|
77
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant-payload-mapper.d.ts","sourceRoot":"","sources":["../../src/vectordb/qdrant-payload-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IAEjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IAErB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;gBAHT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM;IAG3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"qdrant-payload-mapper.d.ts","sourceRoot":"","sources":["../../src/vectordb/qdrant-payload-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IAEjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;gBAHT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM;IAG3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,GAAE,MAAW,GAAG,aAAa;IAqBvE;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa;CAmBzD"}
|
|
@@ -40,6 +40,10 @@ export class QdrantPayloadMapper {
|
|
|
40
40
|
parameters: metadata.parameters ?? [],
|
|
41
41
|
signature: metadata.signature ?? '',
|
|
42
42
|
imports: metadata.imports ?? [],
|
|
43
|
+
// Symbol-level dependency tracking (v0.23.0)
|
|
44
|
+
exports: metadata.exports ?? [],
|
|
45
|
+
importedSymbols: metadata.importedSymbols ? JSON.stringify(metadata.importedSymbols) : '{}',
|
|
46
|
+
callSites: metadata.callSites ? JSON.stringify(metadata.callSites) : '[]',
|
|
43
47
|
};
|
|
44
48
|
}
|
|
45
49
|
/**
|
|
@@ -104,6 +108,34 @@ export class QdrantPayloadMapper {
|
|
|
104
108
|
commitSha: payload.commitSha ?? undefined,
|
|
105
109
|
};
|
|
106
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Parse JSON safely, returning default value on error or missing input.
|
|
113
|
+
*/
|
|
114
|
+
safeJsonParse(json, defaultValue) {
|
|
115
|
+
if (json == null) {
|
|
116
|
+
return defaultValue;
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
return JSON.parse(json);
|
|
120
|
+
}
|
|
121
|
+
catch (err) {
|
|
122
|
+
console.warn(`QdrantPayloadMapper.safeJsonParse: failed to parse JSON. Returning default.`, err);
|
|
123
|
+
return defaultValue;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Extract symbol-level dependency tracking fields.
|
|
128
|
+
*/
|
|
129
|
+
extractDependencyTracking(payload) {
|
|
130
|
+
const exports = payload.exports?.length > 0 ? payload.exports : undefined;
|
|
131
|
+
const importedSymbols = this.safeJsonParse(payload.importedSymbols, {});
|
|
132
|
+
const callSites = this.safeJsonParse(payload.callSites, []);
|
|
133
|
+
return {
|
|
134
|
+
exports,
|
|
135
|
+
importedSymbols: Object.keys(importedSymbols).length > 0 ? importedSymbols : undefined,
|
|
136
|
+
callSites: callSites.length > 0 ? callSites : undefined,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
107
139
|
/**
|
|
108
140
|
* Transform Qdrant payload back to ChunkMetadata.
|
|
109
141
|
*/
|
|
@@ -123,6 +155,7 @@ export class QdrantPayloadMapper {
|
|
|
123
155
|
imports: payload.imports ?? undefined,
|
|
124
156
|
...this.extractMetrics(payload),
|
|
125
157
|
...this.extractTrackingInfo(payload),
|
|
158
|
+
...this.extractDependencyTracking(payload),
|
|
126
159
|
};
|
|
127
160
|
}
|
|
128
161
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qdrant-payload-mapper.js","sourceRoot":"","sources":["../../src/vectordb/qdrant-payload-mapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"qdrant-payload-mapper.js","sourceRoot":"","sources":["../../src/vectordb/qdrant-payload-mapper.ts"],"names":[],"mappings":"AA6CA;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAEpB;IACA;IACA;IACA;IAJV,YACU,KAAa,EACb,MAAc,EACd,MAAc,EACd,SAAiB;QAHjB,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAQ;IACxB,CAAC;IAEJ;;OAEG;IACK,UAAU,CAAC,QAAuB;QACxC,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,CAAC;YACpC,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,CAAC;YACtD,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,CAAC;YAC5C,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,CAAC;YACpD,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,CAAC;YAC5C,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,CAAC;SACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,QAAuB;QACxC,OAAO;YACL,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE;YAChD,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;YAC3C,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE;YAClD,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;YACrC,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;YACrC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;YACvC,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;YACrC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;YACnC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;YAC/B,6CAA6C;YAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;YAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3F,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;SAC1E,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,QAAuB,EAAE,UAAkB,EAAE;QACrD,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,OAAO;YACL,OAAO;YACP,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC5B,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC5B,GAAG,YAAY;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAA4B;QACjD,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YACtC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,EAAE;YACjC,UAAU,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;SACzC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAA4B;QACjD,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;YAC3C,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,SAAS;YAC7D,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,SAAS;YACnD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,SAAS;YAC3D,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,SAAS;YACnD,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;SAChD,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,mBAAmB,CAAC,OAA4B;QACtD,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;YACnC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;SAC1C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAI,IAAwB,EAAE,YAAe;QAChE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,6EAA6E,EAAE,GAAG,CAAC,CAAC;YACjG,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,OAA4B;QAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CACxC,OAAO,CAAC,eAAe,EACvB,EAAE,CACH,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAClC,OAAO,CAAC,SAAS,EACjB,EAAE,CACH,CAAC;QAEF,OAAO;YACL,OAAO;YACP,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;YACtF,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;SACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,OAA4B;QACtC,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YACrC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;YAC3C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;YAC3C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS;YAC7C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;YAC3C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;YACzC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;YACrC,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC/B,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACpC,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;SAC3C,CAAC;IACJ,CAAC;CACF"}
|
package/dist/vectordb/query.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ type LanceDBTable = any;
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function search(table: LanceDBTable, queryVector: Float32Array, limit?: number, query?: string): Promise<SearchResult[]>;
|
|
7
7
|
/**
|
|
8
|
-
* Scan the database with filters
|
|
8
|
+
* Scan the database with filters.
|
|
9
|
+
* Scans all records to ensure complete coverage.
|
|
9
10
|
*/
|
|
10
11
|
export declare function scanWithFilter(table: LanceDBTable, options: {
|
|
11
12
|
language?: string;
|
|
@@ -14,6 +15,7 @@ export declare function scanWithFilter(table: LanceDBTable, options: {
|
|
|
14
15
|
}): Promise<SearchResult[]>;
|
|
15
16
|
/**
|
|
16
17
|
* Query symbols (functions, classes, interfaces)
|
|
18
|
+
* Scans all records in the database to find matching symbols.
|
|
17
19
|
*/
|
|
18
20
|
export declare function querySymbols(table: LanceDBTable, options: {
|
|
19
21
|
language?: string;
|
|
@@ -22,9 +24,8 @@ export declare function querySymbols(table: LanceDBTable, options: {
|
|
|
22
24
|
limit?: number;
|
|
23
25
|
}): Promise<SearchResult[]>;
|
|
24
26
|
/**
|
|
25
|
-
* Scan all chunks in the database
|
|
26
|
-
*
|
|
27
|
-
* This is more efficient than pagination for local/embedded databases like LanceDB
|
|
27
|
+
* Scan all chunks in the database.
|
|
28
|
+
* Returns all records matching the optional filters.
|
|
28
29
|
*/
|
|
29
30
|
export declare function scanAll(table: LanceDBTable, options?: {
|
|
30
31
|
language?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,KAAK,YAAY,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,KAAK,YAAY,GAAG,GAAG,CAAC;AAwSxB;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,YAAY,EACzB,KAAK,GAAE,MAAU,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CA0CzB;AA+ED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CAoCzB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB"}
|
package/dist/vectordb/query.js
CHANGED
|
@@ -48,12 +48,25 @@ function isValidRecord(r) {
|
|
|
48
48
|
r.file.length > 0);
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* Check if
|
|
52
|
-
* LanceDB stores empty arrays as [''] which we need to filter out.
|
|
51
|
+
* Check if a string array has valid (non-empty) entries.
|
|
52
|
+
* LanceDB stores empty string arrays as [''] which we need to filter out.
|
|
53
|
+
* This is specifically for string arrays (cf. hasValidNumberEntries for number arrays).
|
|
53
54
|
*/
|
|
54
|
-
function
|
|
55
|
+
function hasValidStringEntries(arr) {
|
|
55
56
|
return Boolean(arr && arr.length > 0 && arr[0] !== '');
|
|
56
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if a number array has valid entries (filters out placeholder values).
|
|
60
|
+
*
|
|
61
|
+
* serializeCallSites() uses 0 as a sentinel meaning "no valid line number"
|
|
62
|
+
* (not actual missing data - the array is never truly empty, it contains [0]).
|
|
63
|
+
* This function checks if the array contains real line numbers (> 0).
|
|
64
|
+
*
|
|
65
|
+
* Note: Real line numbers are 1-indexed in source files, so 0 is safe as a placeholder.
|
|
66
|
+
*/
|
|
67
|
+
function hasValidNumberEntries(arr) {
|
|
68
|
+
return Boolean(arr && arr.length > 0 && arr[0] !== 0);
|
|
69
|
+
}
|
|
57
70
|
/**
|
|
58
71
|
* Get symbols for a specific type from a DB record.
|
|
59
72
|
* Consolidates the symbol extraction logic used across query functions.
|
|
@@ -72,9 +85,86 @@ function getSymbolsForType(r, symbolType) {
|
|
|
72
85
|
];
|
|
73
86
|
}
|
|
74
87
|
/**
|
|
75
|
-
* Convert
|
|
76
|
-
*
|
|
88
|
+
* Convert Arrow Vector to plain array if needed.
|
|
89
|
+
* LanceDB returns Arrow Vector objects for array columns.
|
|
90
|
+
*/
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
92
|
+
function toPlainArray(arr) {
|
|
93
|
+
if (!arr)
|
|
94
|
+
return undefined;
|
|
95
|
+
// Arrow Vectors have a toArray() method
|
|
96
|
+
if (typeof arr.toArray === 'function') {
|
|
97
|
+
return arr.toArray();
|
|
98
|
+
}
|
|
99
|
+
// Already a plain array
|
|
100
|
+
if (Array.isArray(arr)) {
|
|
101
|
+
return arr;
|
|
102
|
+
}
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Deserialize importedSymbols from parallel arrays stored in DB.
|
|
107
|
+
*
|
|
108
|
+
* @param paths - Array of import paths (keys from importedSymbols map)
|
|
109
|
+
* @param names - Array of JSON-encoded symbol arrays (values from importedSymbols map)
|
|
110
|
+
* @returns Record mapping import paths to symbol arrays, or undefined if no valid data
|
|
111
|
+
*/
|
|
112
|
+
function deserializeImportedSymbols(paths, names) {
|
|
113
|
+
const pathsArr = toPlainArray(paths);
|
|
114
|
+
const namesArr = toPlainArray(names);
|
|
115
|
+
if (!pathsArr || !namesArr || !hasValidStringEntries(pathsArr) || !hasValidStringEntries(namesArr)) {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
// Treat mismatched arrays as a hard error (indicates data corruption during serialization)
|
|
119
|
+
if (pathsArr.length !== namesArr.length) {
|
|
120
|
+
throw new DatabaseError(`deserializeImportedSymbols: array length mismatch (paths: ${pathsArr.length}, names: ${namesArr.length}). ` +
|
|
121
|
+
`This indicates data corruption. Refusing to deserialize to avoid silent data loss.`);
|
|
122
|
+
}
|
|
123
|
+
const result = {};
|
|
124
|
+
for (let i = 0; i < pathsArr.length; i++) {
|
|
125
|
+
const path = pathsArr[i];
|
|
126
|
+
const namesJson = namesArr[i];
|
|
127
|
+
if (path && namesJson) {
|
|
128
|
+
try {
|
|
129
|
+
result[path] = JSON.parse(namesJson);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
console.warn(`deserializeImportedSymbols: failed to parse JSON for path "${path}". Skipping entry.`, err);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Deserialize callSites from parallel arrays stored in DB.
|
|
140
|
+
*
|
|
141
|
+
* @param symbols - Array of symbol names called at each site
|
|
142
|
+
* @param lines - Array of line numbers for each call site (parallel to symbols)
|
|
143
|
+
* @returns Array of call site objects with symbol and line, or undefined if no valid data
|
|
77
144
|
*/
|
|
145
|
+
function deserializeCallSites(symbols, lines) {
|
|
146
|
+
const symbolsArr = toPlainArray(symbols);
|
|
147
|
+
const linesArr = toPlainArray(lines);
|
|
148
|
+
if (!symbolsArr || !linesArr || !hasValidStringEntries(symbolsArr) || !hasValidNumberEntries(linesArr)) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
// Treat mismatched arrays as a hard error (indicates data corruption during serialization)
|
|
152
|
+
if (symbolsArr.length !== linesArr.length) {
|
|
153
|
+
throw new DatabaseError(`deserializeCallSites: array length mismatch (symbols: ${symbolsArr.length}, lines: ${linesArr.length}). ` +
|
|
154
|
+
`This indicates data corruption. Refusing to deserialize to avoid silent data loss.`);
|
|
155
|
+
}
|
|
156
|
+
const result = [];
|
|
157
|
+
for (let i = 0; i < symbolsArr.length; i++) {
|
|
158
|
+
const symbol = symbolsArr[i];
|
|
159
|
+
const line = linesArr[i];
|
|
160
|
+
// Note: line > 0 is intentional - we use 0 as a placeholder value for missing data
|
|
161
|
+
// in serializeCallSites(). Real line numbers are 1-indexed in source files.
|
|
162
|
+
if (symbol && typeof line === 'number' && line > 0) {
|
|
163
|
+
result.push({ symbol, line });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return result.length > 0 ? result : undefined;
|
|
167
|
+
}
|
|
78
168
|
function buildSearchResultMetadata(r) {
|
|
79
169
|
return {
|
|
80
170
|
file: r.file,
|
|
@@ -87,14 +177,21 @@ function buildSearchResultMetadata(r) {
|
|
|
87
177
|
parentClass: r.parentClass || undefined,
|
|
88
178
|
complexity: r.complexity || undefined,
|
|
89
179
|
cognitiveComplexity: r.cognitiveComplexity || undefined,
|
|
90
|
-
parameters:
|
|
180
|
+
parameters: hasValidStringEntries(r.parameters) ? r.parameters : undefined,
|
|
91
181
|
signature: r.signature || undefined,
|
|
92
|
-
imports:
|
|
182
|
+
imports: hasValidStringEntries(r.imports) ? r.imports : undefined,
|
|
93
183
|
// Halstead metrics (v0.19.0) - use explicit null check to preserve valid 0 values
|
|
94
184
|
halsteadVolume: r.halsteadVolume != null ? r.halsteadVolume : undefined,
|
|
95
185
|
halsteadDifficulty: r.halsteadDifficulty != null ? r.halsteadDifficulty : undefined,
|
|
96
186
|
halsteadEffort: r.halsteadEffort != null ? r.halsteadEffort : undefined,
|
|
97
187
|
halsteadBugs: r.halsteadBugs != null ? r.halsteadBugs : undefined,
|
|
188
|
+
// Symbol-level dependency tracking (v0.23.0)
|
|
189
|
+
exports: (() => {
|
|
190
|
+
const arr = toPlainArray(r.exports);
|
|
191
|
+
return hasValidStringEntries(arr) ? arr : undefined;
|
|
192
|
+
})(),
|
|
193
|
+
importedSymbols: deserializeImportedSymbols(r.importedSymbolPaths, r.importedSymbolNames),
|
|
194
|
+
callSites: deserializeCallSites(r.callSiteSymbols, r.callSiteLines),
|
|
98
195
|
};
|
|
99
196
|
}
|
|
100
197
|
/**
|
|
@@ -155,7 +252,8 @@ export async function search(table, queryVector, limit = 5, query) {
|
|
|
155
252
|
}
|
|
156
253
|
}
|
|
157
254
|
/**
|
|
158
|
-
* Scan the database with filters
|
|
255
|
+
* Scan the database with filters.
|
|
256
|
+
* Scans all records to ensure complete coverage.
|
|
159
257
|
*/
|
|
160
258
|
export async function scanWithFilter(table, options) {
|
|
161
259
|
if (!table) {
|
|
@@ -163,10 +261,12 @@ export async function scanWithFilter(table, options) {
|
|
|
163
261
|
}
|
|
164
262
|
const { language, pattern, limit = 100 } = options;
|
|
165
263
|
try {
|
|
264
|
+
// Get total row count to ensure we scan all records
|
|
265
|
+
const totalRows = await table.countRows();
|
|
166
266
|
const zeroVector = Array(EMBEDDING_DIMENSION).fill(0);
|
|
167
267
|
const query = table.search(zeroVector)
|
|
168
268
|
.where('file != ""')
|
|
169
|
-
.limit(Math.max(
|
|
269
|
+
.limit(Math.max(totalRows, 1000));
|
|
170
270
|
const results = await query.toArray();
|
|
171
271
|
let filtered = results.filter(isValidRecord);
|
|
172
272
|
if (language) {
|
|
@@ -237,13 +337,14 @@ function matchesSymbolFilter(r, { language, pattern, symbolType }) {
|
|
|
237
337
|
*/
|
|
238
338
|
function buildLegacySymbols(r) {
|
|
239
339
|
return {
|
|
240
|
-
functions:
|
|
241
|
-
classes:
|
|
242
|
-
interfaces:
|
|
340
|
+
functions: hasValidStringEntries(r.functionNames) ? r.functionNames : [],
|
|
341
|
+
classes: hasValidStringEntries(r.classNames) ? r.classNames : [],
|
|
342
|
+
interfaces: hasValidStringEntries(r.interfaceNames) ? r.interfaceNames : [],
|
|
243
343
|
};
|
|
244
344
|
}
|
|
245
345
|
/**
|
|
246
346
|
* Query symbols (functions, classes, interfaces)
|
|
347
|
+
* Scans all records in the database to find matching symbols.
|
|
247
348
|
*/
|
|
248
349
|
export async function querySymbols(table, options) {
|
|
249
350
|
if (!table) {
|
|
@@ -252,10 +353,14 @@ export async function querySymbols(table, options) {
|
|
|
252
353
|
const { language, pattern, symbolType, limit = 50 } = options;
|
|
253
354
|
const filterOpts = { language, pattern, symbolType };
|
|
254
355
|
try {
|
|
356
|
+
// Get total row count to ensure we scan all records
|
|
357
|
+
const totalRows = await table.countRows();
|
|
358
|
+
// Use zero-vector search with limit >= totalRows to get all records
|
|
359
|
+
// This is the recommended approach for LanceDB full scans
|
|
255
360
|
const zeroVector = Array(EMBEDDING_DIMENSION).fill(0);
|
|
256
361
|
const query = table.search(zeroVector)
|
|
257
362
|
.where('file != ""')
|
|
258
|
-
.limit(Math.max(
|
|
363
|
+
.limit(Math.max(totalRows, 1000));
|
|
259
364
|
const results = await query.toArray();
|
|
260
365
|
const filtered = results
|
|
261
366
|
.filter((r) => isValidRecord(r) && matchesSymbolFilter(r, filterOpts));
|
|
@@ -274,27 +379,21 @@ export async function querySymbols(table, options) {
|
|
|
274
379
|
}
|
|
275
380
|
}
|
|
276
381
|
/**
|
|
277
|
-
* Scan all chunks in the database
|
|
278
|
-
*
|
|
279
|
-
* This is more efficient than pagination for local/embedded databases like LanceDB
|
|
382
|
+
* Scan all chunks in the database.
|
|
383
|
+
* Returns all records matching the optional filters.
|
|
280
384
|
*/
|
|
281
385
|
export async function scanAll(table, options = {}) {
|
|
282
386
|
if (!table) {
|
|
283
387
|
throw new DatabaseError('Vector database not initialized');
|
|
284
388
|
}
|
|
285
389
|
try {
|
|
286
|
-
// Get total row count to
|
|
390
|
+
// Get total row count to use as the output limit
|
|
287
391
|
const totalRows = await table.countRows();
|
|
288
|
-
//
|
|
289
|
-
|
|
290
|
-
// then caps output to 'limit'. We pass totalRows so we get all rows back after
|
|
291
|
-
// filtering. The 5x overfetch is acceptable overhead for local DBs.
|
|
292
|
-
const MIN_SCAN_LIMIT = 1000;
|
|
293
|
-
const results = await scanWithFilter(table, {
|
|
392
|
+
// scanWithFilter now handles the full scan internally
|
|
393
|
+
return await scanWithFilter(table, {
|
|
294
394
|
...options,
|
|
295
|
-
limit: Math.max(totalRows,
|
|
395
|
+
limit: Math.max(totalRows, 1000),
|
|
296
396
|
});
|
|
297
|
-
return results;
|
|
298
397
|
}
|
|
299
398
|
catch (error) {
|
|
300
399
|
throw wrapError(error, 'Failed to scan all chunks');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"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"}
|