fastmemory 0.1.0 → 0.1.2
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 +12 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -81
- package/dist/index.js.map +1 -1
- package/package.json +3 -7
package/README.md
CHANGED
|
@@ -86,14 +86,10 @@ See [MEMORY_RESEARCH.md](./MEMORY_RESEARCH.md) for the full technical deep-dive.
|
|
|
86
86
|
|
|
87
87
|
## Installation
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
Requires Bun:
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
|
-
# Bun (recommended, faster)
|
|
93
92
|
bun add fastmemory
|
|
94
|
-
|
|
95
|
-
# Node.js
|
|
96
|
-
npm install fastmemory
|
|
97
93
|
```
|
|
98
94
|
|
|
99
95
|
## Quick Start
|
|
@@ -157,6 +153,15 @@ const shouldMemorize = await store.shouldCreateMemory(
|
|
|
157
153
|
);
|
|
158
154
|
```
|
|
159
155
|
|
|
156
|
+
**Custom cache directory:**
|
|
157
|
+
```typescript
|
|
158
|
+
// Set custom cache path for the embedding model (prevents local_cache pollution)
|
|
159
|
+
const store = await createAgentMemory({
|
|
160
|
+
dbPath: './memory.db',
|
|
161
|
+
cacheDir: './models/embeddings'
|
|
162
|
+
});
|
|
163
|
+
```
|
|
164
|
+
|
|
160
165
|
**Tuning the threshold:**
|
|
161
166
|
- **Lower threshold** (e.g., -0.018): Catch more memories, tolerate more noise (higher recall)
|
|
162
167
|
- **Higher threshold** (e.g., 0.025): Less noise, miss more memories (higher precision)
|
|
@@ -331,7 +336,7 @@ On a modern CPU after model warmup:
|
|
|
331
336
|
|
|
332
337
|
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
338
|
|
|
334
|
-
2. **Runtime support:**
|
|
339
|
+
2. **Runtime support:** Requires Bun (uses native SQLite).
|
|
335
340
|
|
|
336
341
|
3. **Model download:** First run downloads ~1.2GB. Cached after that.
|
|
337
342
|
|
|
@@ -366,4 +371,4 @@ MIT. Full source, zero dependencies on external APIs.
|
|
|
366
371
|
|
|
367
372
|
---
|
|
368
373
|
|
|
369
|
-
**Built with:** Bun,
|
|
374
|
+
**Built with:** Bun, @xenova/transformers.
|
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}`>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAsHD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;mBAmDnC,MAAM,aAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;wBAatC,MAAM,qBAAe,WAAW,EAAE;0BAa1B,MAAM,qBAAe,OAAO,CAAC,WAAW,EAAE,CAAC;0BAoB3C,MAAM,qBAAe,OAAO,CAAC,WAAW,EAAE,CAAC;;;;;8EAkC3E,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;GAqBlD;AAGD,eAAO,MAAM,cAAc;;;GAkD1B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { randomUUID } from 'crypto';
|
|
2
|
-
import {
|
|
3
|
-
// Detect runtime and load appropriate SQLite implementation
|
|
2
|
+
import { pipeline } from '@xenova/transformers';
|
|
4
3
|
async function createDatabase(dbPath) {
|
|
5
4
|
const isBun = typeof Bun !== 'undefined';
|
|
6
5
|
if (isBun) {
|
|
7
|
-
// Use Bun's native SQLite
|
|
8
6
|
const { Database } = await import('bun:sqlite');
|
|
9
7
|
const db = new Database(dbPath, { create: true, readwrite: true });
|
|
10
8
|
db.run('PRAGMA journal_mode = WAL');
|
|
@@ -21,35 +19,24 @@ async function createDatabase(dbPath) {
|
|
|
21
19
|
};
|
|
22
20
|
}
|
|
23
21
|
else {
|
|
24
|
-
|
|
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
|
-
};
|
|
22
|
+
throw new Error('fastmemory requires Bun. Node.js is not supported.');
|
|
42
23
|
}
|
|
43
24
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
25
|
+
// ── Xenova WASM Embedder ──
|
|
26
|
+
let extractor = null;
|
|
27
|
+
async function initEmbedder(cacheDir) {
|
|
28
|
+
if (extractor)
|
|
29
|
+
return extractor;
|
|
30
|
+
const options = {
|
|
31
|
+
quantized: true,
|
|
32
|
+
progress_callback: null,
|
|
33
|
+
};
|
|
34
|
+
if (cacheDir)
|
|
35
|
+
options.cache_dir = cacheDir;
|
|
36
|
+
extractor = await pipeline('feature-extraction', 'Xenova/bge-base-en-v1.5', options);
|
|
37
|
+
return extractor;
|
|
51
38
|
}
|
|
52
|
-
//
|
|
39
|
+
// ── Dual-prototype judge (unchanged) ──
|
|
53
40
|
const POSITIVE_PROTOTYPES = [
|
|
54
41
|
"user permanently prefers specific tools languages frameworks themes and hates specific alternatives for all future work",
|
|
55
42
|
"user personal identity: name birthday allergy disability pronouns timezone contact email credential",
|
|
@@ -78,21 +65,16 @@ let negProtoEmbs = null;
|
|
|
78
65
|
async function initPrototypes() {
|
|
79
66
|
if (posProtoEmbs)
|
|
80
67
|
return;
|
|
68
|
+
const emb = await initEmbedder();
|
|
81
69
|
posProtoEmbs = [];
|
|
82
70
|
for (const proto of POSITIVE_PROTOTYPES) {
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
posProtoEmbs.push(batch[0]);
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
71
|
+
const output = await emb(proto, { pooling: 'mean', normalize: true });
|
|
72
|
+
posProtoEmbs.push(Array.from(output.data));
|
|
88
73
|
}
|
|
89
74
|
negProtoEmbs = [];
|
|
90
75
|
for (const proto of NEGATIVE_PROTOTYPES) {
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
negProtoEmbs.push(batch[0]);
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
76
|
+
const output = await emb(proto, { pooling: 'mean', normalize: true });
|
|
77
|
+
negProtoEmbs.push(Array.from(output.data));
|
|
96
78
|
}
|
|
97
79
|
}
|
|
98
80
|
function cosineSim(a, b) {
|
|
@@ -104,27 +86,20 @@ function cosineSim(a, b) {
|
|
|
104
86
|
}
|
|
105
87
|
return dot / (Math.sqrt(na) * Math.sqrt(nb) || 1);
|
|
106
88
|
}
|
|
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
89
|
async function getImportanceGap(content) {
|
|
116
90
|
await initPrototypes();
|
|
117
|
-
const
|
|
91
|
+
const emb = await initEmbedder();
|
|
92
|
+
const output = await emb(content, { pooling: 'mean', normalize: true });
|
|
93
|
+
const qEmb = Array.from(output.data);
|
|
118
94
|
const posSim = Math.max(...posProtoEmbs.map(p => cosineSim(qEmb, p)));
|
|
119
95
|
const negSims = negProtoEmbs.map(p => cosineSim(qEmb, p)).sort((a, b) => b - a);
|
|
120
96
|
const avgTop2Neg = (negSims[0] + negSims[1]) / 2;
|
|
121
97
|
return posSim - avgTop2Neg;
|
|
122
98
|
}
|
|
99
|
+
// ── Main API ──
|
|
123
100
|
export async function createAgentMemory(config) {
|
|
124
|
-
await initEmbedder();
|
|
125
|
-
// Create database using appropriate adapter (Bun or Node.js)
|
|
101
|
+
await initEmbedder(config.cacheDir);
|
|
126
102
|
const db = await createDatabase(config.dbPath);
|
|
127
|
-
// Schema + FTS5 BM25 + triggers
|
|
128
103
|
db.run(`
|
|
129
104
|
CREATE TABLE IF NOT EXISTS memories (
|
|
130
105
|
id TEXT PRIMARY KEY,
|
|
@@ -167,15 +142,9 @@ export async function createAgentMemory(config) {
|
|
|
167
142
|
}
|
|
168
143
|
async function add(content, metadata = {}) {
|
|
169
144
|
const id = randomUUID();
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
embedding = batch[0];
|
|
174
|
-
break;
|
|
175
|
-
}
|
|
176
|
-
if (!embedding) {
|
|
177
|
-
throw new Error('Failed to generate embedding');
|
|
178
|
-
}
|
|
145
|
+
const emb = await initEmbedder();
|
|
146
|
+
const output = await emb(content, { pooling: 'mean', normalize: true });
|
|
147
|
+
const embedding = Array.from(output.data);
|
|
179
148
|
db.run(`INSERT INTO memories (id, content, metadata, embedding, created_at) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP)`, [id, content, JSON.stringify(metadata), JSON.stringify(embedding)]);
|
|
180
149
|
return id;
|
|
181
150
|
}
|
|
@@ -192,15 +161,17 @@ export async function createAgentMemory(config) {
|
|
|
192
161
|
return rows.map(hydrate);
|
|
193
162
|
}
|
|
194
163
|
async function searchVector(query, limit = 10) {
|
|
195
|
-
const
|
|
164
|
+
const emb = await initEmbedder();
|
|
165
|
+
const output = await emb(query, { pooling: 'mean', normalize: true });
|
|
166
|
+
const qEmb = Array.from(output.data);
|
|
196
167
|
const stmt = db.query('SELECT * FROM memories');
|
|
197
168
|
const rows = stmt.all();
|
|
198
169
|
const scored = rows
|
|
199
170
|
.map(row => {
|
|
200
|
-
const
|
|
201
|
-
if (!
|
|
171
|
+
const embData = row.embedding ? JSON.parse(row.embedding) : null;
|
|
172
|
+
if (!embData)
|
|
202
173
|
return { ...hydrate(row), score: 0 };
|
|
203
|
-
return { ...hydrate(row), score: cosineSim(qEmb,
|
|
174
|
+
return { ...hydrate(row), score: cosineSim(qEmb, embData) };
|
|
204
175
|
})
|
|
205
176
|
.sort((a, b) => (b.score || 0) - (a.score || 0))
|
|
206
177
|
.slice(0, limit);
|
|
@@ -230,22 +201,6 @@ export async function createAgentMemory(config) {
|
|
|
230
201
|
function close() {
|
|
231
202
|
db.close();
|
|
232
203
|
}
|
|
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
204
|
async function shouldCreateMemory(gapThreshold = 0.009, noveltyThreshold = 0.87) {
|
|
250
205
|
await initPrototypes();
|
|
251
206
|
return async (content) => {
|
|
@@ -269,7 +224,7 @@ export async function createAgentMemory(config) {
|
|
|
269
224
|
shouldCreateMemory
|
|
270
225
|
};
|
|
271
226
|
}
|
|
272
|
-
// Tuning dataset
|
|
227
|
+
// Tuning dataset (unchanged)
|
|
273
228
|
export const tuningExamples = [
|
|
274
229
|
{ content: "User explicitly hates modal popups and prefers dark mode always", shouldMemorize: true },
|
|
275
230
|
{ 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.
|
|
3
|
+
"version": "0.1.2",
|
|
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",
|
|
@@ -33,13 +33,10 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|
|
36
|
-
"
|
|
36
|
+
"bun": ">=1.0.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"
|
|
40
|
-
},
|
|
41
|
-
"optionalDependencies": {
|
|
42
|
-
"better-sqlite3": "^11.0.0"
|
|
39
|
+
"@xenova/transformers": "^2.17.2"
|
|
43
40
|
},
|
|
44
41
|
"files": [
|
|
45
42
|
"dist",
|
|
@@ -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"
|