fastmemory 0.1.0 → 0.1.1

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/README.md CHANGED
@@ -157,6 +157,15 @@ const shouldMemorize = await store.shouldCreateMemory(
157
157
  );
158
158
  ```
159
159
 
160
+ **Custom cache directory:**
161
+ ```typescript
162
+ // Set custom cache path for the embedding model (prevents local_cache pollution)
163
+ const store = await createAgentMemory({
164
+ dbPath: './memory.db',
165
+ cacheDir: './models/embeddings'
166
+ });
167
+ ```
168
+
160
169
  **Tuning the threshold:**
161
170
  - **Lower threshold** (e.g., -0.018): Catch more memories, tolerate more noise (higher recall)
162
171
  - **Higher threshold** (e.g., 0.025): Less noise, miss more memories (higher precision)
@@ -331,7 +340,7 @@ On a modern CPU after model warmup:
331
340
 
332
341
  1. **~80% accuracy on diverse content:** The embedding-only approach has a ceiling. For critical applications, consider a two-stage filter: FastMemory as first pass, small LLM for ambiguous cases near the threshold.
333
342
 
334
- 2. **Runtime support:** Works with both Bun (native SQLite) and Node.js (better-sqlite3).
343
+ 2. **Runtime support:** Requires Bun (uses native SQLite).
335
344
 
336
345
  3. **Model download:** First run downloads ~1.2GB. Cached after that.
337
346
 
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface MemoryEntry {
7
7
  }
8
8
  export interface AgentMemoryConfig {
9
9
  dbPath: string;
10
+ cacheDir?: string;
10
11
  }
11
12
  export declare function createAgentMemory(config: AgentMemoryConfig): Promise<{
12
13
  add: (content: string, metadata?: Record<string, any>) => Promise<`${string}-${string}-${string}-${string}-${string}`>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AA0ID,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;mBAqDnC,MAAM,aAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;wBAqBtC,MAAM,qBAAe,WAAW,EAAE;0BAa1B,MAAM,qBAAe,OAAO,CAAC,WAAW,EAAE,CAAC;0BAkB3C,MAAM,qBAAe,OAAO,CAAC,WAAW,EAAE,CAAC;;;;;8EAkD3E,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;GAyBlD;AAGD,eAAO,MAAM,cAAc;;;GAkD1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAuHD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;mBAgDnC,MAAM,aAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;wBAmBtC,MAAM,qBAAe,WAAW,EAAE;0BAa1B,MAAM,qBAAe,OAAO,CAAC,WAAW,EAAE,CAAC;0BAe3C,MAAM,qBAAe,OAAO,CAAC,WAAW,EAAE,CAAC;;;;;8EA8B3E,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;GAqBlD;AAGD,eAAO,MAAM,cAAc;;;GAkD1B,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,6 @@ import { FlagEmbedding, EmbeddingModel } from 'fastembed';
4
4
  async function createDatabase(dbPath) {
5
5
  const isBun = typeof Bun !== 'undefined';
6
6
  if (isBun) {
7
- // Use Bun's native SQLite
8
7
  const { Database } = await import('bun:sqlite');
9
8
  const db = new Database(dbPath, { create: true, readwrite: true });
10
9
  db.run('PRAGMA journal_mode = WAL');
@@ -21,35 +20,29 @@ async function createDatabase(dbPath) {
21
20
  };
22
21
  }
23
22
  else {
24
- // Use better-sqlite3 for Node.js
25
- const Database = (await import('better-sqlite3')).default;
26
- const db = new Database(dbPath);
27
- db.pragma('journal_mode = WAL');
28
- return {
29
- run: (sql, params) => {
30
- const stmt = db.prepare(sql);
31
- return params ? stmt.run(...params) : stmt.run();
32
- },
33
- query: (sql) => {
34
- const stmt = db.prepare(sql);
35
- return {
36
- all: (...params) => stmt.all(...params),
37
- get: (...params) => stmt.get(...params)
38
- };
39
- },
40
- close: () => db.close()
41
- };
23
+ throw new Error('fastmemory requires Bun. Node.js is not supported.');
42
24
  }
43
25
  }
44
- let embedder;
45
- async function initEmbedder() {
46
- if (!embedder) {
47
- embedder = await FlagEmbedding.init({
48
- model: EmbeddingModel.BGEBaseENV15,
49
- });
26
+ // ── Fastembed with cacheDir support ──
27
+ let embedder = null;
28
+ let initializedCacheDir = null;
29
+ async function initEmbedder(cacheDir) {
30
+ if (embedder) {
31
+ if (cacheDir && initializedCacheDir && cacheDir !== initializedCacheDir) {
32
+ console.warn(`[fastmemory] cacheDir changed after initialization. Using original: ${initializedCacheDir}`);
33
+ }
34
+ return;
35
+ }
36
+ const options = {
37
+ model: EmbeddingModel.BGEBaseENV15,
38
+ };
39
+ if (cacheDir) {
40
+ options.cacheDir = cacheDir;
41
+ initializedCacheDir = cacheDir;
50
42
  }
43
+ embedder = await FlagEmbedding.init(options);
51
44
  }
52
- // --- Dual-prototype memory judge ---
45
+ // --- Dual-prototype memory judge --- (unchanged)
53
46
  const POSITIVE_PROTOTYPES = [
54
47
  "user permanently prefers specific tools languages frameworks themes and hates specific alternatives for all future work",
55
48
  "user personal identity: name birthday allergy disability pronouns timezone contact email credential",
@@ -104,14 +97,6 @@ function cosineSim(a, b) {
104
97
  }
105
98
  return dot / (Math.sqrt(na) * Math.sqrt(nb) || 1);
106
99
  }
107
- /**
108
- * Computes the importance gap: max similarity to positive prototypes
109
- * minus average of top-2 negative prototype similarities.
110
- *
111
- * Using avg top-2 neg instead of max neg improves precision (fewer false
112
- * positives) because a single high neg match can be an outlier -- averaging
113
- * the top 2 gives a more stable estimate of "throwaway-ness".
114
- */
115
100
  async function getImportanceGap(content) {
116
101
  await initPrototypes();
117
102
  const qEmb = await embedder.queryEmbed(content);
@@ -121,8 +106,7 @@ async function getImportanceGap(content) {
121
106
  return posSim - avgTop2Neg;
122
107
  }
123
108
  export async function createAgentMemory(config) {
124
- await initEmbedder();
125
- // Create database using appropriate adapter (Bun or Node.js)
109
+ await initEmbedder(config.cacheDir); // ← Now respects cacheDir
126
110
  const db = await createDatabase(config.dbPath);
127
111
  // Schema + FTS5 BM25 + triggers
128
112
  db.run(`
@@ -230,22 +214,6 @@ export async function createAgentMemory(config) {
230
214
  function close() {
231
215
  db.close();
232
216
  }
233
- /**
234
- * Returns a function that determines whether content should become a memory.
235
- *
236
- * Uses dual-prototype gap scoring: computes max cosine similarity to
237
- * "memorable" prototypes minus max cosine similarity to "throwaway" prototypes.
238
- * Content is memorable only if the gap exceeds the threshold AND no similar
239
- * memory already exists (novelty check).
240
- *
241
- * Tuned on 209 diverse examples (97 positive, 112 negative):
242
- * F1=0.757, Accuracy=79.4%, Precision=0.84, Recall=0.69
243
- * gapThreshold: 0.009
244
- * noveltyThreshold: 0.87
245
- *
246
- * For higher recall (catch more, tolerate more noise): gapThreshold = -0.018
247
- * For higher precision (less noise, miss more): gapThreshold = 0.025
248
- */
249
217
  async function shouldCreateMemory(gapThreshold = 0.009, noveltyThreshold = 0.87) {
250
218
  await initPrototypes();
251
219
  return async (content) => {
@@ -269,7 +237,7 @@ export async function createAgentMemory(config) {
269
237
  shouldCreateMemory
270
238
  };
271
239
  }
272
- // Tuning dataset
240
+ // Tuning dataset (unchanged)
273
241
  export const tuningExamples = [
274
242
  { content: "User explicitly hates modal popups and prefers dark mode always", shouldMemorize: true },
275
243
  { content: "The sky is blue today", shouldMemorize: false },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fastmemory",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Zero-cost local semantic memory for AI agents with hybrid search and dual-prototype importance detection",
5
5
  "keywords": [
6
6
  "memory",
@@ -38,9 +38,6 @@
38
38
  "dependencies": {
39
39
  "fastembed": "^2.1.0"
40
40
  },
41
- "optionalDependencies": {
42
- "better-sqlite3": "^11.0.0"
43
- },
44
41
  "files": [
45
42
  "dist",
46
43
  "MEMORY_RESEARCH.md",
@@ -52,7 +49,6 @@
52
49
  "test": "npm run build && node test-runtime.mjs && bun test-runtime.mjs"
53
50
  },
54
51
  "devDependencies": {
55
- "@types/better-sqlite3": "^7.6.13",
56
52
  "@types/bun": "^1.3.9",
57
53
  "@types/node": "^25.2.3",
58
54
  "typescript": "^5.9.3"