@devflow-tools/context-engine 0.14.3 → 0.15.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/context-engine.d.ts +3 -0
- package/dist/context-engine.d.ts.map +1 -1
- package/dist/context-engine.js +50 -1
- package/dist/context-engine.js.map +1 -1
- package/dist/create-engines.d.ts.map +1 -1
- package/dist/create-engines.js +8 -2
- package/dist/create-engines.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/indexer-adapter.d.ts +3 -1
- package/dist/indexer-adapter.d.ts.map +1 -1
- package/dist/indexer-adapter.js +15 -2
- package/dist/indexer-adapter.js.map +1 -1
- package/dist/intent-parser.d.ts +6 -0
- package/dist/intent-parser.d.ts.map +1 -1
- package/dist/intent-parser.js +261 -96
- package/dist/intent-parser.js.map +1 -1
- package/dist/symbol-embedder.d.ts +16 -0
- package/dist/symbol-embedder.d.ts.map +1 -0
- package/dist/symbol-embedder.js +75 -0
- package/dist/symbol-embedder.js.map +1 -0
- package/dist/symbol-vector-store.d.ts +20 -0
- package/dist/symbol-vector-store.d.ts.map +1 -0
- package/dist/symbol-vector-store.js +82 -0
- package/dist/symbol-vector-store.js.map +1 -0
- package/package.json +9 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-embedder.js","sourceRoot":"","sources":["../src/symbol-embedder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare class SymbolVectorStore {
|
|
2
|
+
private db;
|
|
3
|
+
private initialized;
|
|
4
|
+
constructor(projectRoot: string);
|
|
5
|
+
initialize(): void;
|
|
6
|
+
upsert(id: string, embedding: Float32Array): void;
|
|
7
|
+
upsertBatch(entries: Array<{
|
|
8
|
+
id: string;
|
|
9
|
+
embedding: Float32Array;
|
|
10
|
+
}>): void;
|
|
11
|
+
search(embedding: Float32Array, limit: number): Array<{
|
|
12
|
+
id: string;
|
|
13
|
+
distance: number;
|
|
14
|
+
}>;
|
|
15
|
+
delete(ids: string[]): void;
|
|
16
|
+
get(id: string): Buffer | null;
|
|
17
|
+
count(): number;
|
|
18
|
+
close(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=symbol-vector-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-vector-store.d.ts","sourceRoot":"","sources":["../src/symbol-vector-store.ts"],"names":[],"mappings":"AAKA,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAS/B,UAAU,IAAI,IAAI;IAYlB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAQjD,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,IAAI;IAe1E,MAAM,CACJ,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAY1C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ3B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO9B,KAAK,IAAI,MAAM;IAOf,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import Database from "better-sqlite3";
|
|
2
|
+
import * as sqliteVec from "sqlite-vec";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
5
|
+
export class SymbolVectorStore {
|
|
6
|
+
db;
|
|
7
|
+
initialized = false;
|
|
8
|
+
constructor(projectRoot) {
|
|
9
|
+
const dir = join(projectRoot, ".devflow");
|
|
10
|
+
if (!existsSync(dir))
|
|
11
|
+
mkdirSync(dir, { recursive: true });
|
|
12
|
+
const dbPath = join(dir, "symbols-vec.db");
|
|
13
|
+
this.db = new Database(dbPath);
|
|
14
|
+
this.db.pragma("journal_mode = WAL");
|
|
15
|
+
this.db.pragma("busy_timeout = 5000");
|
|
16
|
+
}
|
|
17
|
+
initialize() {
|
|
18
|
+
if (this.initialized)
|
|
19
|
+
return;
|
|
20
|
+
sqliteVec.load(this.db);
|
|
21
|
+
this.db.exec(`
|
|
22
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS symbols_vec USING vec0(
|
|
23
|
+
id TEXT PRIMARY KEY,
|
|
24
|
+
embedding FLOAT[384]
|
|
25
|
+
)
|
|
26
|
+
`);
|
|
27
|
+
this.initialized = true;
|
|
28
|
+
}
|
|
29
|
+
upsert(id, embedding) {
|
|
30
|
+
this.db.prepare("DELETE FROM symbols_vec WHERE id = ?").run(id);
|
|
31
|
+
const buffer = Buffer.from(embedding.buffer);
|
|
32
|
+
this.db
|
|
33
|
+
.prepare("INSERT INTO symbols_vec(id, embedding) VALUES (?, ?)")
|
|
34
|
+
.run(id, buffer);
|
|
35
|
+
}
|
|
36
|
+
upsertBatch(entries) {
|
|
37
|
+
if (entries.length === 0)
|
|
38
|
+
return;
|
|
39
|
+
const deleteStmt = this.db.prepare("DELETE FROM symbols_vec WHERE id = ?");
|
|
40
|
+
const insert = this.db.prepare("INSERT INTO symbols_vec(id, embedding) VALUES (?, ?)");
|
|
41
|
+
const runAll = this.db.transaction(() => {
|
|
42
|
+
for (const { id, embedding } of entries) {
|
|
43
|
+
deleteStmt.run(id);
|
|
44
|
+
insert.run(id, Buffer.from(embedding.buffer));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
runAll();
|
|
48
|
+
}
|
|
49
|
+
search(embedding, limit) {
|
|
50
|
+
const buffer = Buffer.from(embedding.buffer);
|
|
51
|
+
return this.db
|
|
52
|
+
.prepare(`SELECT id, vec_distance_cosine(embedding, ?) as distance
|
|
53
|
+
FROM symbols_vec
|
|
54
|
+
ORDER BY distance
|
|
55
|
+
LIMIT ?`)
|
|
56
|
+
.all(buffer, limit);
|
|
57
|
+
}
|
|
58
|
+
delete(ids) {
|
|
59
|
+
if (ids.length === 0)
|
|
60
|
+
return;
|
|
61
|
+
const placeholders = ids.map(() => "?").join(",");
|
|
62
|
+
this.db
|
|
63
|
+
.prepare(`DELETE FROM symbols_vec WHERE id IN (${placeholders})`)
|
|
64
|
+
.run(...ids);
|
|
65
|
+
}
|
|
66
|
+
get(id) {
|
|
67
|
+
const row = this.db
|
|
68
|
+
.prepare("SELECT embedding FROM symbols_vec WHERE id = ?")
|
|
69
|
+
.get(id);
|
|
70
|
+
return row?.embedding ?? null;
|
|
71
|
+
}
|
|
72
|
+
count() {
|
|
73
|
+
const row = this.db
|
|
74
|
+
.prepare("SELECT COUNT(*) as c FROM symbols_vec")
|
|
75
|
+
.get();
|
|
76
|
+
return row.c;
|
|
77
|
+
}
|
|
78
|
+
close() {
|
|
79
|
+
this.db.close();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=symbol-vector-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbol-vector-store.js","sourceRoot":"","sources":["../src/symbol-vector-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/context-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -22,10 +22,13 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@colbymchenry/codegraph": "^1.1.1",
|
|
25
|
-
"@devflow-tools/knowledge-engine": "
|
|
26
|
-
"@devflow-tools/memory-engine": "
|
|
27
|
-
"@devflow-tools/sdk": "
|
|
28
|
-
"@devflow-tools/telemetry": "
|
|
25
|
+
"@devflow-tools/knowledge-engine": "0.15.0",
|
|
26
|
+
"@devflow-tools/memory-engine": "0.15.0",
|
|
27
|
+
"@devflow-tools/sdk": "0.15.0",
|
|
28
|
+
"@devflow-tools/telemetry": "0.15.0",
|
|
29
|
+
"better-sqlite3": "^12.11.1",
|
|
30
|
+
"nodejieba": "^3.5.8",
|
|
31
|
+
"sqlite-vec": "^0.1.9"
|
|
29
32
|
},
|
|
30
33
|
"devDependencies": {
|
|
31
34
|
"typescript": "^5.5.0",
|
|
@@ -34,5 +37,5 @@
|
|
|
34
37
|
"files": [
|
|
35
38
|
"dist"
|
|
36
39
|
],
|
|
37
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "716b2355d8bea1138f4b7551758044c3663fad0e"
|
|
38
41
|
}
|