agentic-flow 2.0.1-alpha.19 → 2.0.1-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/intelligence/EmbeddingCache.d.ts +36 -29
- package/dist/intelligence/EmbeddingCache.d.ts.map +1 -1
- package/dist/intelligence/EmbeddingCache.js +461 -90
- package/dist/intelligence/EmbeddingCache.js.map +1 -1
- package/package.json +5 -2
- package/wasm/reasoningbank/reasoningbank_wasm_bg.js +2 -2
- package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm +0 -0
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* EmbeddingCache - Persistent
|
|
2
|
+
* EmbeddingCache - Persistent cache for embeddings
|
|
3
3
|
*
|
|
4
4
|
* Makes ONNX embeddings practical by caching across sessions:
|
|
5
5
|
* - First embed: ~400ms (ONNX inference)
|
|
6
|
-
* - Cached embed: ~0.1ms (SQLite lookup)
|
|
6
|
+
* - Cached embed: ~0.1ms (SQLite lookup) or ~0.01ms (in-memory fallback)
|
|
7
7
|
*
|
|
8
|
-
* Storage: ~/.agentic-flow/embedding-cache.db
|
|
8
|
+
* Storage: ~/.agentic-flow/embedding-cache.db (if SQLite available)
|
|
9
|
+
*
|
|
10
|
+
* Windows Compatibility:
|
|
11
|
+
* - Falls back to in-memory cache if better-sqlite3 compilation fails
|
|
12
|
+
* - No native module compilation required for basic functionality
|
|
9
13
|
*/
|
|
10
14
|
export interface CacheStats {
|
|
11
15
|
totalEntries: number;
|
|
@@ -15,34 +19,38 @@ export interface CacheStats {
|
|
|
15
19
|
dbSizeBytes: number;
|
|
16
20
|
oldestEntry: number;
|
|
17
21
|
newestEntry: number;
|
|
22
|
+
backend: 'sqlite' | 'memory' | 'file';
|
|
18
23
|
}
|
|
19
24
|
export interface CacheConfig {
|
|
20
25
|
maxEntries?: number;
|
|
21
26
|
maxAgeDays?: number;
|
|
22
27
|
dbPath?: string;
|
|
23
28
|
dimension?: number;
|
|
29
|
+
forceMemory?: boolean;
|
|
24
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* EmbeddingCache - Auto-selects best available backend
|
|
33
|
+
*
|
|
34
|
+
* Backend priority:
|
|
35
|
+
* 1. Native SQLite (better-sqlite3) - Fastest, 9000x speedup
|
|
36
|
+
* 2. WASM SQLite (sql.js) - Cross-platform with persistence
|
|
37
|
+
* 3. Memory cache - Fallback, no persistence
|
|
38
|
+
*/
|
|
25
39
|
export declare class EmbeddingCache {
|
|
26
|
-
private
|
|
40
|
+
private backend;
|
|
27
41
|
private config;
|
|
28
|
-
private
|
|
29
|
-
private misses;
|
|
30
|
-
private stmtGet;
|
|
31
|
-
private stmtInsert;
|
|
32
|
-
private stmtUpdateHits;
|
|
33
|
-
private stmtCount;
|
|
34
|
-
private stmtEvictOld;
|
|
35
|
-
private stmtEvictLRU;
|
|
42
|
+
private wasmInitPromise;
|
|
36
43
|
constructor(config?: CacheConfig);
|
|
37
|
-
|
|
38
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Ensure WASM backend is initialized (if using)
|
|
46
|
+
*/
|
|
47
|
+
private ensureInit;
|
|
39
48
|
/**
|
|
40
49
|
* Generate hash key for text + model combination
|
|
41
50
|
*/
|
|
42
51
|
private hashKey;
|
|
43
52
|
/**
|
|
44
53
|
* Get embedding from cache
|
|
45
|
-
* Returns null if not found
|
|
46
54
|
*/
|
|
47
55
|
get(text: string, model?: string): Float32Array | null;
|
|
48
56
|
/**
|
|
@@ -55,7 +63,6 @@ export declare class EmbeddingCache {
|
|
|
55
63
|
has(text: string, model?: string): boolean;
|
|
56
64
|
/**
|
|
57
65
|
* Get multiple embeddings at once
|
|
58
|
-
* Returns map of text -> embedding (only cached ones)
|
|
59
66
|
*/
|
|
60
67
|
getMany(texts: string[], model?: string): Map<string, Float32Array>;
|
|
61
68
|
/**
|
|
@@ -65,14 +72,6 @@ export declare class EmbeddingCache {
|
|
|
65
72
|
text: string;
|
|
66
73
|
embedding: Float32Array;
|
|
67
74
|
}>, model?: string): void;
|
|
68
|
-
/**
|
|
69
|
-
* Evict old or LRU entries if over limit
|
|
70
|
-
*/
|
|
71
|
-
private maybeEvict;
|
|
72
|
-
/**
|
|
73
|
-
* Cleanup entries older than maxAgeDays
|
|
74
|
-
*/
|
|
75
|
-
private cleanupOldEntries;
|
|
76
75
|
/**
|
|
77
76
|
* Get cache statistics
|
|
78
77
|
*/
|
|
@@ -82,17 +81,21 @@ export declare class EmbeddingCache {
|
|
|
82
81
|
*/
|
|
83
82
|
clear(): void;
|
|
84
83
|
/**
|
|
85
|
-
*
|
|
86
|
-
*/
|
|
87
|
-
clearModel(model: string): void;
|
|
88
|
-
/**
|
|
89
|
-
* Vacuum database to reclaim space
|
|
84
|
+
* Vacuum database (SQLite only)
|
|
90
85
|
*/
|
|
91
86
|
vacuum(): void;
|
|
92
87
|
/**
|
|
93
88
|
* Close database connection
|
|
94
89
|
*/
|
|
95
90
|
close(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Check if using SQLite backend (native or WASM)
|
|
93
|
+
*/
|
|
94
|
+
isSqliteBackend(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Get backend type
|
|
97
|
+
*/
|
|
98
|
+
getBackendType(): 'native' | 'wasm' | 'memory';
|
|
96
99
|
}
|
|
97
100
|
/**
|
|
98
101
|
* Get the singleton embedding cache
|
|
@@ -102,4 +105,8 @@ export declare function getEmbeddingCache(config?: CacheConfig): EmbeddingCache;
|
|
|
102
105
|
* Reset the cache singleton (for testing)
|
|
103
106
|
*/
|
|
104
107
|
export declare function resetEmbeddingCache(): void;
|
|
108
|
+
/**
|
|
109
|
+
* Check if SQLite is available
|
|
110
|
+
*/
|
|
111
|
+
export declare function isSqliteAvailable(): boolean;
|
|
105
112
|
//# sourceMappingURL=EmbeddingCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmbeddingCache.d.ts","sourceRoot":"","sources":["../../src/intelligence/EmbeddingCache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"EmbeddingCache.d.ts","sourceRoot":"","sources":["../../src/intelligence/EmbeddingCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAufD;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,eAAe,CAA8B;gBAEzC,MAAM,GAAE,WAAgB;IA2BpC;;OAEG;YACW,UAAU;IAMxB;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAkB,GAAG,YAAY,GAAG,IAAI;IAMjE;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,GAAE,MAAkB,GAAG,IAAI;IAS3E;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAkB,GAAG,OAAO;IAKrD;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,MAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAW9E;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,CAAC,EAAE,KAAK,GAAE,MAAkB,GAAG,IAAI;IAMnG;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,IAAI;IAMd;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,cAAc,IAAI,QAAQ,GAAG,MAAM,GAAG,QAAQ;CAK/C;AAKD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc,CAKtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
|