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.
@@ -1,11 +1,15 @@
1
1
  /**
2
- * EmbeddingCache - Persistent SQLite cache for embeddings
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 db;
40
+ private backend;
27
41
  private config;
28
- private hits;
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
- private initSchema;
38
- private prepareStatements;
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
- * Clear embeddings for a specific model
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;;;;;;;;GAQG;AAQH,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;CACrB;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;CACpB;AAUD,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAG3B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAsB;gBAE9B,MAAM,GAAE,WAAgB;IAoBpC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAkB,GAAG,YAAY,GAAG,IAAI;IAgBjE;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,GAAE,MAAkB,GAAG,IAAI;IAa3E;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAkB,GAAG,OAAO;IAMrD;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,MAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAa9E;;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;IAcnG;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,QAAQ,IAAI,UAAU;IA2BtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAKD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,cAAc,CAKtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
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"}