@raviolelabs/engram-mcp 0.4.4 → 0.5.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/cloud/auth.d.ts.map +1 -1
- package/dist/cloud/auth.js +47 -8
- package/dist/cloud/auth.js.map +1 -1
- package/dist/cloud/bridge-client.d.ts.map +1 -1
- package/dist/cloud/bridge-client.js +17 -2
- package/dist/cloud/bridge-client.js.map +1 -1
- package/dist/config/schema.d.ts +6 -6
- package/dist/core/db/index.d.ts.map +1 -1
- package/dist/core/db/index.js +25 -1
- package/dist/core/db/index.js.map +1 -1
- package/dist/memory/core/signals.d.ts +71 -0
- package/dist/memory/core/signals.d.ts.map +1 -0
- package/dist/memory/core/signals.js +121 -0
- package/dist/memory/core/signals.js.map +1 -0
- package/dist/memory/core/store.d.ts.map +1 -1
- package/dist/memory/core/store.js +53 -8
- package/dist/memory/core/store.js.map +1 -1
- package/dist/memory/public/tools.d.ts.map +1 -1
- package/dist/memory/public/tools.js +198 -0
- package/dist/memory/public/tools.js.map +1 -1
- package/package.json +1 -1
package/dist/cloud/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cloud/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cloud/auth.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAoBrD;AAED,wBAAgB,UAAU,IAAI,YAAY,GAAG,IAAI,CA0DhD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQlD;AA+BD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBlE;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAKlC;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC"}
|
package/dist/cloud/auth.js
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
* The API key is stored in `extra_json` alongside the JWT so both are in one
|
|
12
12
|
* table row. The refresh token is stored in the `refresh_token` column.
|
|
13
13
|
*/
|
|
14
|
+
import fs from 'fs';
|
|
15
|
+
import path from 'path';
|
|
16
|
+
import os from 'os';
|
|
14
17
|
import { getDb } from '../db/index.js';
|
|
15
18
|
import { createLogger } from '../logger.js';
|
|
16
19
|
const log = createLogger('cloud:auth');
|
|
@@ -37,15 +40,51 @@ export function loadTokens() {
|
|
|
37
40
|
.prepare(`SELECT access_token, refresh_token, expires_at, extra_json
|
|
38
41
|
FROM oauth_tokens WHERE provider = ?`)
|
|
39
42
|
.get(PROVIDER);
|
|
40
|
-
if (
|
|
43
|
+
if (row) {
|
|
44
|
+
const extra = row.extra_json ? JSON.parse(row.extra_json) : {};
|
|
45
|
+
return {
|
|
46
|
+
jwt: row.access_token,
|
|
47
|
+
refreshToken: row.refresh_token ?? '',
|
|
48
|
+
apiKey: extra.apiKey ?? '',
|
|
49
|
+
expiresAt: row.expires_at ?? 0,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Fallback: install.sh (and the legacy CLI pair script) write tokens to
|
|
53
|
+
// ~/.engram/config.json under `engramAccount`. The bridge client + transit
|
|
54
|
+
// poller load from oauth_tokens. If DB is empty but config has the tokens
|
|
55
|
+
// (fresh install), migrate them to the DB so cloud features start working.
|
|
56
|
+
try {
|
|
57
|
+
const configDir = process.env.ENGRAM_CONFIG_DIR
|
|
58
|
+
? process.env.ENGRAM_CONFIG_DIR.startsWith('~')
|
|
59
|
+
? path.join(os.homedir(), process.env.ENGRAM_CONFIG_DIR.slice(1))
|
|
60
|
+
: process.env.ENGRAM_CONFIG_DIR
|
|
61
|
+
: path.join(os.homedir(), '.engram');
|
|
62
|
+
const configPath = path.join(configDir, 'config.json');
|
|
63
|
+
if (!fs.existsSync(configPath))
|
|
64
|
+
return null;
|
|
65
|
+
const raw = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
66
|
+
const acc = raw.engramAccount;
|
|
67
|
+
if (!acc?.jwt || !acc.apiKey)
|
|
68
|
+
return null;
|
|
69
|
+
let expiresAt = 0;
|
|
70
|
+
try {
|
|
71
|
+
expiresAt = parseJwtExpiry(acc.jwt);
|
|
72
|
+
}
|
|
73
|
+
catch { /* leave 0 — caller will refresh */ }
|
|
74
|
+
const migrated = {
|
|
75
|
+
jwt: acc.jwt,
|
|
76
|
+
refreshToken: acc.refreshToken ?? '',
|
|
77
|
+
apiKey: acc.apiKey,
|
|
78
|
+
expiresAt,
|
|
79
|
+
};
|
|
80
|
+
log.info('Migrating engramAccount from config.json → oauth_tokens table');
|
|
81
|
+
saveTokens(migrated);
|
|
82
|
+
return migrated;
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
log.warn(`Token migration from config.json failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
41
86
|
return null;
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
jwt: row.access_token,
|
|
45
|
-
refreshToken: row.refresh_token ?? '',
|
|
46
|
-
apiKey: extra.apiKey ?? '',
|
|
47
|
-
expiresAt: row.expires_at ?? 0,
|
|
48
|
-
};
|
|
87
|
+
}
|
|
49
88
|
}
|
|
50
89
|
export function clearTokens() {
|
|
51
90
|
getDb().prepare('DELETE FROM oauth_tokens WHERE provider = ?').run(PROVIDER);
|
package/dist/cloud/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cloud/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAClC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,iCAAiC;AAU1E,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC7C,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,EAAE,CAAC,OAAO,CACR;;;;;;;wCAOoC,CACrC,CAAC,GAAG,CACH,QAAQ,EACR,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EACzC,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;IACF,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;4CACsC,CACvC;SACA,GAAG,CAAC,QAAQ,CAOF,CAAC;IAEd,IAAI,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cloud/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-client.d.ts","sourceRoot":"","sources":["../../src/cloud/bridge-client.ts"],"names":[],"mappings":"AA0HA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"bridge-client.d.ts","sourceRoot":"","sources":["../../src/cloud/bridge-client.ts"],"names":[],"mappings":"AA0HA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CA+GzE"}
|
|
@@ -112,14 +112,29 @@ export function startBridgeClient(opts) {
|
|
|
112
112
|
ws.send(JSON.stringify({ type: 'pc_ready' }));
|
|
113
113
|
});
|
|
114
114
|
ws.on('message', async (data) => {
|
|
115
|
-
let
|
|
115
|
+
let msg;
|
|
116
116
|
try {
|
|
117
|
-
|
|
117
|
+
msg = JSON.parse(data.toString());
|
|
118
118
|
}
|
|
119
119
|
catch {
|
|
120
120
|
log.warn('Bridge relay: received non-JSON message, ignoring');
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
|
+
// Ignore relay control frames (heartbeat, peer events) — they aren't tunnel requests.
|
|
124
|
+
// Heartbeat: {type:"ping",ts:...}
|
|
125
|
+
// Peer events: {type:"peer_disconnected"|"peer_offline","role":...}
|
|
126
|
+
// Error: {type:"error","code":...}
|
|
127
|
+
const obj = msg;
|
|
128
|
+
if (typeof obj.type === 'string' && obj.path === undefined) {
|
|
129
|
+
log.debug(`Bridge relay: control frame type=${obj.type} (ignoring)`);
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
// Tunnel request must have requestId + method + path
|
|
133
|
+
if (typeof obj.requestId !== 'string' || typeof obj.method !== 'string' || typeof obj.path !== 'string') {
|
|
134
|
+
log.warn(`Bridge relay: invalid tunnel frame (missing requestId/method/path), ignoring`);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const req = obj;
|
|
123
138
|
log.debug(`Bridge relay: tunnel request ${req.requestId} ${req.method} ${req.path}`);
|
|
124
139
|
const response = await forwardToLocal(req, opts.localPort);
|
|
125
140
|
if (ws?.readyState === WebSocket.OPEN) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-client.js","sourceRoot":"","sources":["../../src/cloud/bridge-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bridge-client.js","sourceRoot":"","sources":["../../src/cloud/bridge-client.ts"],"names":[],"mappings":"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"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -83,13 +83,13 @@ export declare const WhisperConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
|
83
83
|
model: z.ZodDefault<z.ZodEnum<["tiny", "tiny.en", "base", "base.en", "small", "small.en", "medium", "medium.en"]>>;
|
|
84
84
|
language: z.ZodDefault<z.ZodString>;
|
|
85
85
|
}, "strip", z.ZodTypeAny, {
|
|
86
|
-
model: "tiny" | "tiny.en" | "base" | "base.en" | "small
|
|
86
|
+
model: "small" | "tiny" | "tiny.en" | "base" | "base.en" | "small.en" | "medium" | "medium.en";
|
|
87
87
|
enabled: boolean;
|
|
88
88
|
language: string;
|
|
89
89
|
provider?: "engram-hosted" | "local" | undefined;
|
|
90
90
|
}, {
|
|
91
91
|
provider?: "engram-hosted" | "local" | undefined;
|
|
92
|
-
model?: "tiny" | "tiny.en" | "base" | "base.en" | "small
|
|
92
|
+
model?: "small" | "tiny" | "tiny.en" | "base" | "base.en" | "small.en" | "medium" | "medium.en" | undefined;
|
|
93
93
|
enabled?: boolean | undefined;
|
|
94
94
|
language?: string | undefined;
|
|
95
95
|
}>>;
|
|
@@ -251,13 +251,13 @@ export declare const EngramConfigSchema: z.ZodObject<{
|
|
|
251
251
|
model: z.ZodDefault<z.ZodEnum<["tiny", "tiny.en", "base", "base.en", "small", "small.en", "medium", "medium.en"]>>;
|
|
252
252
|
language: z.ZodDefault<z.ZodString>;
|
|
253
253
|
}, "strip", z.ZodTypeAny, {
|
|
254
|
-
model: "tiny" | "tiny.en" | "base" | "base.en" | "small
|
|
254
|
+
model: "small" | "tiny" | "tiny.en" | "base" | "base.en" | "small.en" | "medium" | "medium.en";
|
|
255
255
|
enabled: boolean;
|
|
256
256
|
language: string;
|
|
257
257
|
provider?: "engram-hosted" | "local" | undefined;
|
|
258
258
|
}, {
|
|
259
259
|
provider?: "engram-hosted" | "local" | undefined;
|
|
260
|
-
model?: "tiny" | "tiny.en" | "base" | "base.en" | "small
|
|
260
|
+
model?: "small" | "tiny" | "tiny.en" | "base" | "base.en" | "small.en" | "medium" | "medium.en" | undefined;
|
|
261
261
|
enabled?: boolean | undefined;
|
|
262
262
|
language?: string | undefined;
|
|
263
263
|
}>>;
|
|
@@ -361,7 +361,7 @@ export declare const EngramConfigSchema: z.ZodObject<{
|
|
|
361
361
|
apiKey?: string | undefined;
|
|
362
362
|
};
|
|
363
363
|
whisper: {
|
|
364
|
-
model: "tiny" | "tiny.en" | "base" | "base.en" | "small
|
|
364
|
+
model: "small" | "tiny" | "tiny.en" | "base" | "base.en" | "small.en" | "medium" | "medium.en";
|
|
365
365
|
enabled: boolean;
|
|
366
366
|
language: string;
|
|
367
367
|
provider?: "engram-hosted" | "local" | undefined;
|
|
@@ -430,7 +430,7 @@ export declare const EngramConfigSchema: z.ZodObject<{
|
|
|
430
430
|
} | undefined;
|
|
431
431
|
whisper?: {
|
|
432
432
|
provider?: "engram-hosted" | "local" | undefined;
|
|
433
|
-
model?: "tiny" | "tiny.en" | "base" | "base.en" | "small
|
|
433
|
+
model?: "small" | "tiny" | "tiny.en" | "base" | "base.en" | "small.en" | "medium" | "medium.en" | undefined;
|
|
434
434
|
enabled?: boolean | undefined;
|
|
435
435
|
language?: string | undefined;
|
|
436
436
|
} | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/db/index.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAetC,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAGzC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAK9B;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAuBzD;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/db/index.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAetC,wBAAgB,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAGzC;AAED,wBAAgB,OAAO,IAAI,IAAI,CAK9B;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAuBzD;AAyED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAS7D;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOhF"}
|
package/dist/core/db/index.js
CHANGED
|
@@ -61,11 +61,35 @@ function runMigrations(db) {
|
|
|
61
61
|
{ version: 6, sql: MIGRATION_6 },
|
|
62
62
|
{ version: 7, sql: MIGRATION_7 },
|
|
63
63
|
{ version: 8, sql: MIGRATION_8 },
|
|
64
|
+
{ version: 9, sql: '' /* applied programmatically — see below */ },
|
|
64
65
|
];
|
|
65
66
|
for (const m of migrations) {
|
|
66
67
|
if (m.version > current) {
|
|
67
68
|
log.info(`Applying migration v${m.version}`);
|
|
68
|
-
if (m.version ===
|
|
69
|
+
if (m.version === 9) {
|
|
70
|
+
// Recall signals: importance, decay, skip/pin feedback, intent tagging,
|
|
71
|
+
// access tracking. All idempotent ADD COLUMN guarded by PRAGMA check.
|
|
72
|
+
const cols = db.prepare(`PRAGMA table_info(memories)`).all();
|
|
73
|
+
const has = (n) => cols.some((c) => c.name === n);
|
|
74
|
+
if (!has('access_count'))
|
|
75
|
+
db.exec(`ALTER TABLE memories ADD COLUMN access_count INTEGER NOT NULL DEFAULT 0`);
|
|
76
|
+
if (!has('last_accessed_at'))
|
|
77
|
+
db.exec(`ALTER TABLE memories ADD COLUMN last_accessed_at INTEGER`);
|
|
78
|
+
if (!has('importance'))
|
|
79
|
+
db.exec(`ALTER TABLE memories ADD COLUMN importance TEXT NOT NULL DEFAULT 'medium'`);
|
|
80
|
+
if (!has('pinned'))
|
|
81
|
+
db.exec(`ALTER TABLE memories ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0`);
|
|
82
|
+
if (!has('skip_penalty'))
|
|
83
|
+
db.exec(`ALTER TABLE memories ADD COLUMN skip_penalty REAL NOT NULL DEFAULT 1.0`);
|
|
84
|
+
if (!has('intent'))
|
|
85
|
+
db.exec(`ALTER TABLE memories ADD COLUMN intent TEXT`);
|
|
86
|
+
if (!has('confidence'))
|
|
87
|
+
db.exec(`ALTER TABLE memories ADD COLUMN confidence REAL NOT NULL DEFAULT 1.0`);
|
|
88
|
+
db.exec(`CREATE INDEX IF NOT EXISTS memories_importance_idx ON memories(importance, pinned)`);
|
|
89
|
+
db.exec(`CREATE INDEX IF NOT EXISTS memories_intent_idx ON memories(intent)`);
|
|
90
|
+
db.exec(`CREATE INDEX IF NOT EXISTS memories_accessed_idx ON memories(last_accessed_at DESC)`);
|
|
91
|
+
}
|
|
92
|
+
else if (m.version === 8) {
|
|
69
93
|
// SQLite lacks ADD COLUMN IF NOT EXISTS — guard programmatically
|
|
70
94
|
const cols = db.prepare(`PRAGMA table_info(memories)`).all();
|
|
71
95
|
if (!cols.some((c) => c.name === 'scope')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/db/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/db/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory recall signals — Engram-specific implementation.
|
|
3
|
+
*
|
|
4
|
+
* Each memory carries: importance, pinned, skip_penalty, access_count, confidence.
|
|
5
|
+
* Recall ranking multiplies the semantic similarity score by a `signal_boost`
|
|
6
|
+
* derived from these fields, then optionally drops rows whose
|
|
7
|
+
* effective_confidence falls below a threshold (decay-driven soft purge).
|
|
8
|
+
*
|
|
9
|
+
* Differences from competing implementations:
|
|
10
|
+
* 1. Pinned memories are *immune* to decay (user / LLM can flag "always keep").
|
|
11
|
+
* 2. Decay half-life scales with importance: high=90d, medium=30d, low=14d.
|
|
12
|
+
* 3. skip_penalty multiplies the rank but does NOT delete the memory — a
|
|
13
|
+
* future `unskip()` restores it.
|
|
14
|
+
* 4. access_count contributes a logarithmic boost so frequently-recalled
|
|
15
|
+
* memories surface faster, but the boost saturates (no runaway feedback).
|
|
16
|
+
* 5. intent classification is deterministic + regex-based — no LLM call,
|
|
17
|
+
* runs in <1ms on every remember().
|
|
18
|
+
*/
|
|
19
|
+
export type Importance = 'high' | 'medium' | 'low';
|
|
20
|
+
export type Intent = 'preference' | 'correction' | 'temporal' | 'factual' | 'other';
|
|
21
|
+
/** Soft-purge threshold — memories with effective_confidence below this are hidden from default recall. */
|
|
22
|
+
export declare const DEFAULT_SOFT_PURGE_THRESHOLD = 0.05;
|
|
23
|
+
export interface SignalFields {
|
|
24
|
+
importance: Importance;
|
|
25
|
+
pinned: boolean;
|
|
26
|
+
skip_penalty: number;
|
|
27
|
+
access_count: number;
|
|
28
|
+
last_accessed_at: number | null;
|
|
29
|
+
confidence: number;
|
|
30
|
+
created_at: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Compute the time-decay multiplier. Pinned memories don't decay.
|
|
34
|
+
* decay = 0.5 ^ (days_since_last_access / half_life_days)
|
|
35
|
+
* If never accessed since creation, days_since uses created_at.
|
|
36
|
+
*/
|
|
37
|
+
export declare function decayMultiplier(s: SignalFields, now?: number): number;
|
|
38
|
+
/**
|
|
39
|
+
* Frequency boost — log10(1 + access_count) capped at 2x.
|
|
40
|
+
* 0 accesses → 1.0; 9 → 1.30; 99 → 1.60; 999 → 1.90; saturates at 2.0.
|
|
41
|
+
*/
|
|
42
|
+
export declare function accessBoost(access_count: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* Total ranking multiplier. Multiply by your semantic similarity score (0..1)
|
|
45
|
+
* to get the final rank.
|
|
46
|
+
*
|
|
47
|
+
* rank = similarity × importance × decay × access_boost × skip_penalty × confidence
|
|
48
|
+
*
|
|
49
|
+
* Range under normal conditions: ~0.0 (decayed/skipped) to ~6.0 (high-imp + pinned + frequent + confident).
|
|
50
|
+
*/
|
|
51
|
+
export declare function signalBoost(s: SignalFields, now?: number): number;
|
|
52
|
+
/**
|
|
53
|
+
* Returns the "effective confidence" used for soft-purge decisions —
|
|
54
|
+
* confidence × decay × skip_penalty (drops importance + access multipliers).
|
|
55
|
+
* If this falls below DEFAULT_SOFT_PURGE_THRESHOLD the memory is hidden
|
|
56
|
+
* from default recall (still in storage, opt-in to surface via include_decayed).
|
|
57
|
+
*/
|
|
58
|
+
export declare function effectiveConfidence(s: SignalFields, now?: number): number;
|
|
59
|
+
/**
|
|
60
|
+
* Classify a memory's intent from its content + optional title/tags.
|
|
61
|
+
* Returns 'other' if no pattern matches.
|
|
62
|
+
*/
|
|
63
|
+
export declare function classifyIntent(content: string, title?: string, tags?: string[]): Intent;
|
|
64
|
+
/**
|
|
65
|
+
* Default importance heuristic — used when the agent doesn't specify one.
|
|
66
|
+
* Corrections + preferences default to 'high' (user explicitly cared enough
|
|
67
|
+
* to teach the agent something durable). Temporal defaults to 'medium'
|
|
68
|
+
* (events fade naturally). Anything else 'medium'.
|
|
69
|
+
*/
|
|
70
|
+
export declare function defaultImportance(intent: Intent): Importance;
|
|
71
|
+
//# sourceMappingURL=signals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../src/memory/core/signals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AACnD,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAOpF,2GAA2G;AAC3G,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAMjF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAQ7E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAErF;AA0BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAavF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAG5D"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory recall signals — Engram-specific implementation.
|
|
3
|
+
*
|
|
4
|
+
* Each memory carries: importance, pinned, skip_penalty, access_count, confidence.
|
|
5
|
+
* Recall ranking multiplies the semantic similarity score by a `signal_boost`
|
|
6
|
+
* derived from these fields, then optionally drops rows whose
|
|
7
|
+
* effective_confidence falls below a threshold (decay-driven soft purge).
|
|
8
|
+
*
|
|
9
|
+
* Differences from competing implementations:
|
|
10
|
+
* 1. Pinned memories are *immune* to decay (user / LLM can flag "always keep").
|
|
11
|
+
* 2. Decay half-life scales with importance: high=90d, medium=30d, low=14d.
|
|
12
|
+
* 3. skip_penalty multiplies the rank but does NOT delete the memory — a
|
|
13
|
+
* future `unskip()` restores it.
|
|
14
|
+
* 4. access_count contributes a logarithmic boost so frequently-recalled
|
|
15
|
+
* memories surface faster, but the boost saturates (no runaway feedback).
|
|
16
|
+
* 5. intent classification is deterministic + regex-based — no LLM call,
|
|
17
|
+
* runs in <1ms on every remember().
|
|
18
|
+
*/
|
|
19
|
+
const DAY_MS = 86_400_000;
|
|
20
|
+
const HALF_LIFE_DAYS = { high: 90, medium: 30, low: 14 };
|
|
21
|
+
const IMPORTANCE_WEIGHT = { high: 1.5, medium: 1.0, low: 0.6 };
|
|
22
|
+
/** Soft-purge threshold — memories with effective_confidence below this are hidden from default recall. */
|
|
23
|
+
export const DEFAULT_SOFT_PURGE_THRESHOLD = 0.05;
|
|
24
|
+
/**
|
|
25
|
+
* Compute the time-decay multiplier. Pinned memories don't decay.
|
|
26
|
+
* decay = 0.5 ^ (days_since_last_access / half_life_days)
|
|
27
|
+
* If never accessed since creation, days_since uses created_at.
|
|
28
|
+
*/
|
|
29
|
+
export function decayMultiplier(s, now = Date.now()) {
|
|
30
|
+
if (s.pinned)
|
|
31
|
+
return 1.0;
|
|
32
|
+
const ref = s.last_accessed_at ?? s.created_at;
|
|
33
|
+
const ageDays = Math.max(0, (now - ref) / DAY_MS);
|
|
34
|
+
const halfLife = HALF_LIFE_DAYS[s.importance];
|
|
35
|
+
return Math.pow(0.5, ageDays / halfLife);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Frequency boost — log10(1 + access_count) capped at 2x.
|
|
39
|
+
* 0 accesses → 1.0; 9 → 1.30; 99 → 1.60; 999 → 1.90; saturates at 2.0.
|
|
40
|
+
*/
|
|
41
|
+
export function accessBoost(access_count) {
|
|
42
|
+
return Math.min(2.0, 1 + Math.log10(1 + access_count) / 1.5);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Total ranking multiplier. Multiply by your semantic similarity score (0..1)
|
|
46
|
+
* to get the final rank.
|
|
47
|
+
*
|
|
48
|
+
* rank = similarity × importance × decay × access_boost × skip_penalty × confidence
|
|
49
|
+
*
|
|
50
|
+
* Range under normal conditions: ~0.0 (decayed/skipped) to ~6.0 (high-imp + pinned + frequent + confident).
|
|
51
|
+
*/
|
|
52
|
+
export function signalBoost(s, now = Date.now()) {
|
|
53
|
+
return (IMPORTANCE_WEIGHT[s.importance] *
|
|
54
|
+
decayMultiplier(s, now) *
|
|
55
|
+
accessBoost(s.access_count) *
|
|
56
|
+
s.skip_penalty *
|
|
57
|
+
s.confidence);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns the "effective confidence" used for soft-purge decisions —
|
|
61
|
+
* confidence × decay × skip_penalty (drops importance + access multipliers).
|
|
62
|
+
* If this falls below DEFAULT_SOFT_PURGE_THRESHOLD the memory is hidden
|
|
63
|
+
* from default recall (still in storage, opt-in to surface via include_decayed).
|
|
64
|
+
*/
|
|
65
|
+
export function effectiveConfidence(s, now = Date.now()) {
|
|
66
|
+
return s.confidence * decayMultiplier(s, now) * s.skip_penalty;
|
|
67
|
+
}
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// Intent classifier — deterministic regex + lexical heuristics. No LLM call.
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
const PREFERENCE_PATTERNS = [
|
|
72
|
+
/\b(i (prefer|like|love|hate|always|never)|j[''']?(aime|adore|d[ée]teste|pr[ée]f[èe]re))\b/i,
|
|
73
|
+
/\b(my favou?rite|mon pr[ée]f[ée]r[ée])\b/i,
|
|
74
|
+
/\b(use|utiliser).{0,30}(by default|par d[ée]faut)\b/i,
|
|
75
|
+
];
|
|
76
|
+
const CORRECTION_PATTERNS = [
|
|
77
|
+
/\b(actually|in fact|en fait|en r[ée]alit[ée]|correction)\b/i,
|
|
78
|
+
/\b(wrong|incorrect|faux|erron[ée]|mistake)\b/i,
|
|
79
|
+
/\bnot.{0,15}(it'?s|was|is)\b/i,
|
|
80
|
+
/\b(update|updated):/i,
|
|
81
|
+
];
|
|
82
|
+
const TEMPORAL_PATTERNS = [
|
|
83
|
+
/\b(meeting|appointment|deadline|rendez[- ]vous|r[ée]union|due (on|by))\b/i,
|
|
84
|
+
/\b\d{1,2}[/:-]\d{1,2}([/:-]\d{2,4})?\b/, // 12/05, 14:30, 2026-01-15
|
|
85
|
+
/\b(tomorrow|today|tonight|next week|demain|aujourd[''](hui)?|ce soir|la semaine prochaine)\b/i,
|
|
86
|
+
/\b(monday|tuesday|wednesday|thursday|friday|saturday|sunday|lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche)\b/i,
|
|
87
|
+
];
|
|
88
|
+
/**
|
|
89
|
+
* Classify a memory's intent from its content + optional title/tags.
|
|
90
|
+
* Returns 'other' if no pattern matches.
|
|
91
|
+
*/
|
|
92
|
+
export function classifyIntent(content, title, tags) {
|
|
93
|
+
const haystack = `${title ?? ''} ${content} ${(tags ?? []).join(' ')}`.slice(0, 2000);
|
|
94
|
+
for (const p of CORRECTION_PATTERNS)
|
|
95
|
+
if (p.test(haystack))
|
|
96
|
+
return 'correction';
|
|
97
|
+
for (const p of PREFERENCE_PATTERNS)
|
|
98
|
+
if (p.test(haystack))
|
|
99
|
+
return 'preference';
|
|
100
|
+
for (const p of TEMPORAL_PATTERNS)
|
|
101
|
+
if (p.test(haystack))
|
|
102
|
+
return 'temporal';
|
|
103
|
+
// Factual default: short statements with concrete subject/verb structure.
|
|
104
|
+
// Anything left after the above filters is either factual (a "fact about X")
|
|
105
|
+
// or 'other' (free-form text with no clear intent signal).
|
|
106
|
+
if (haystack.length < 600 && /[A-Z][a-z]+ (is|are|was|were|has|have)/.test(content))
|
|
107
|
+
return 'factual';
|
|
108
|
+
return 'other';
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Default importance heuristic — used when the agent doesn't specify one.
|
|
112
|
+
* Corrections + preferences default to 'high' (user explicitly cared enough
|
|
113
|
+
* to teach the agent something durable). Temporal defaults to 'medium'
|
|
114
|
+
* (events fade naturally). Anything else 'medium'.
|
|
115
|
+
*/
|
|
116
|
+
export function defaultImportance(intent) {
|
|
117
|
+
if (intent === 'correction' || intent === 'preference')
|
|
118
|
+
return 'high';
|
|
119
|
+
return 'medium';
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=signals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../../../src/memory/core/signals.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/memory/core/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAWtC,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAIxF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,8DAA8D;IAC9D,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,qBAAa,WAAW;IAIV,OAAO,CAAC,OAAO;IAH3B,QAAQ,CAAC,MAAM,wBAAsB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAEV,OAAO,EAAE,kBAAkB;IAE/C,oGAAoG;IACpG,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED,qFAAqF;IACrF,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED,kEAAkE;IAClE,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAI/B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/memory/core/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAWtC,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAIxF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,8DAA8D;IAC9D,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,qBAAa,WAAW;IAIV,OAAO,CAAC,OAAO;IAH3B,QAAQ,CAAC,MAAM,wBAAsB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAY;gBAEV,OAAO,EAAE,kBAAkB;IAE/C,oGAAoG;IACpG,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED,qFAAqF;IACrF,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED,kEAAkE;IAClE,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAI/B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAsG7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAoCrC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA4D9E,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCjC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQxE,qDAAqD;IAC/C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA2C7E,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,OAAO;IAqB7F,6FAA6F;IACvF,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvD,6FAA6F;IACvF,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3D,SAAS,IAAI,MAAM,EAAE;CAMtB"}
|
|
@@ -50,14 +50,27 @@ export class MemoryStore {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
+
// Auto-classify intent + default importance (Engram recall signals layer).
|
|
54
|
+
// Agent can override by setting properties.custom.{intent,importance,pinned} at remember() time.
|
|
55
|
+
const { classifyIntent, defaultImportance } = await import('./signals.js');
|
|
56
|
+
const custom = (item.properties.custom ?? {});
|
|
57
|
+
const intent = (typeof custom.intent === 'string' ? custom.intent : null) ??
|
|
58
|
+
classifyIntent(item.content, item.properties.title, item.properties.tags);
|
|
59
|
+
const importance = (typeof custom.importance === 'string' && ['high', 'medium', 'low'].includes(custom.importance))
|
|
60
|
+
? custom.importance
|
|
61
|
+
: defaultImportance(intent);
|
|
62
|
+
const pinned = custom.pinned === true ? 1 : 0;
|
|
63
|
+
const confidence = typeof custom.confidence === 'number' && custom.confidence > 0 && custom.confidence <= 1
|
|
64
|
+
? custom.confidence : 1.0;
|
|
53
65
|
const db = getDb();
|
|
54
66
|
const insert = db.prepare(`
|
|
55
67
|
INSERT OR REPLACE INTO memories
|
|
56
68
|
(id, type, source_id, content, content_hash, properties_json,
|
|
57
|
-
wikilinks_json, related_ids_json, embedding_model, created_at, scope
|
|
58
|
-
|
|
69
|
+
wikilinks_json, related_ids_json, embedding_model, created_at, scope,
|
|
70
|
+
intent, importance, pinned, confidence)
|
|
71
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
59
72
|
`);
|
|
60
|
-
insert.run(item.id, item.type, item.source_id, item.content, item.content_hash, JSON.stringify(item.properties), JSON.stringify(item.wikilinks), JSON.stringify(item.related_ids), item.embedding_model, Date.parse(item.properties.created_at), item.scope ?? 'personal');
|
|
73
|
+
insert.run(item.id, item.type, item.source_id, item.content, item.content_hash, JSON.stringify(item.properties), JSON.stringify(item.wikilinks), JSON.stringify(item.related_ids), item.embedding_model, Date.parse(item.properties.created_at), item.scope ?? 'personal', intent, importance, pinned, confidence);
|
|
61
74
|
// FTS index
|
|
62
75
|
db.prepare(`INSERT INTO memories_fts (id, content, title, tags) VALUES (?, ?, ?, ?)`).run(item.id, item.content, item.properties.title ?? '', (item.properties.tags ?? []).join(' '));
|
|
63
76
|
// Vector index — chunk + embed + store per chunk
|
|
@@ -102,21 +115,53 @@ export class MemoryStore {
|
|
|
102
115
|
};
|
|
103
116
|
}
|
|
104
117
|
async search(memoryType, query, limit = 10) {
|
|
105
|
-
|
|
106
|
-
|
|
118
|
+
// Fetch wider than `limit` so signal_boost can re-rank — semantic hits
|
|
119
|
+
// sorted purely by cosine similarity often miss the high-importance + pinned
|
|
120
|
+
// memory by 1-2 positions. 3x overshoot gives the ranker enough material.
|
|
121
|
+
const hits = await semanticSearch(memoryType, query, this.options.embeddings, limit * 3);
|
|
122
|
+
const { signalBoost, effectiveConfidence, DEFAULT_SOFT_PURGE_THRESHOLD } = await import('./signals.js');
|
|
123
|
+
const db = getDb();
|
|
124
|
+
const scored = [];
|
|
107
125
|
for (const hit of hits) {
|
|
108
|
-
// Derive memory id from chunk id (strip ":<index>" if present)
|
|
109
126
|
const memoryId = hit.chunk.id.includes(':') ? hit.chunk.id.split(':')[0] : hit.chunk.id;
|
|
110
127
|
const memory = this.getById(memoryId);
|
|
111
128
|
if (!memory)
|
|
112
129
|
continue;
|
|
113
|
-
|
|
130
|
+
// Pull the signal columns directly — keep the public MemoryItem clean.
|
|
131
|
+
const sig = db.prepare(`SELECT importance, pinned, skip_penalty, access_count, last_accessed_at, confidence, created_at
|
|
132
|
+
FROM memories WHERE id = ?`).get(memoryId);
|
|
133
|
+
if (!sig)
|
|
134
|
+
continue;
|
|
135
|
+
const s = {
|
|
136
|
+
importance: sig.importance ?? 'medium',
|
|
137
|
+
pinned: sig.pinned === 1,
|
|
138
|
+
skip_penalty: sig.skip_penalty ?? 1.0,
|
|
139
|
+
access_count: sig.access_count ?? 0,
|
|
140
|
+
last_accessed_at: sig.last_accessed_at,
|
|
141
|
+
confidence: sig.confidence ?? 1.0,
|
|
142
|
+
created_at: sig.created_at,
|
|
143
|
+
};
|
|
144
|
+
const effConf = effectiveConfidence(s);
|
|
145
|
+
if (effConf < DEFAULT_SOFT_PURGE_THRESHOLD)
|
|
146
|
+
continue; // soft-purged
|
|
147
|
+
scored.push({
|
|
114
148
|
memory,
|
|
115
149
|
score: hit.similarity,
|
|
150
|
+
rank: hit.similarity * signalBoost(s),
|
|
116
151
|
snippet: hit.chunk.content.slice(0, 200),
|
|
152
|
+
effConf,
|
|
117
153
|
});
|
|
118
154
|
}
|
|
119
|
-
|
|
155
|
+
// Sort by rank desc, slice to limit, bump access counters for the survivors.
|
|
156
|
+
scored.sort((a, b) => b.rank - a.rank);
|
|
157
|
+
const surviving = scored.slice(0, limit);
|
|
158
|
+
if (surviving.length > 0) {
|
|
159
|
+
const now = Date.now();
|
|
160
|
+
const bumpStmt = db.prepare(`UPDATE memories SET access_count = access_count + 1, last_accessed_at = ? WHERE id = ?`);
|
|
161
|
+
for (const r of surviving)
|
|
162
|
+
bumpStmt.run(now, r.memory.id);
|
|
163
|
+
}
|
|
164
|
+
return surviving.map((r) => ({ memory: r.memory, score: r.score, snippet: r.snippet }));
|
|
120
165
|
}
|
|
121
166
|
async delete(id) {
|
|
122
167
|
const item = this.getById(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/memory/core/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/memory/core/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/memory/public/tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAsB3D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/memory/public/tools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAsB3D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAwtD9F"}
|
|
@@ -1438,6 +1438,204 @@ export function buildPublicTools(store, config) {
|
|
|
1438
1438
|
return { deleted: typeName };
|
|
1439
1439
|
},
|
|
1440
1440
|
},
|
|
1441
|
+
// ── skip / unskip / pin / unpin / set_importance ─────────────────────────
|
|
1442
|
+
// Recall-signal tools. Cheap writes to the memories table — no embedding,
|
|
1443
|
+
// no chunking, no vector index touch. Used by users (via dashboard) and by
|
|
1444
|
+
// agents to teach the system what to surface vs hide vs preserve forever.
|
|
1445
|
+
{
|
|
1446
|
+
name: 'skip',
|
|
1447
|
+
description: [
|
|
1448
|
+
'Mark a memory as "not useful right now" — multiplies its skip_penalty by 0.2.',
|
|
1449
|
+
'WHEN: a recall result is genuinely irrelevant and the agent shouldn\'t surface it again on similar queries.',
|
|
1450
|
+
'NOT for deletion — the memory stays in storage and unskip() restores full rank.',
|
|
1451
|
+
'IDEMPOTENT: calling twice multiplies penalty again (0.2 → 0.04). Use sparingly.',
|
|
1452
|
+
'RETURNS: { id, skip_penalty: <new value> }.',
|
|
1453
|
+
].join(' '),
|
|
1454
|
+
inputSchema: {
|
|
1455
|
+
type: 'object',
|
|
1456
|
+
properties: { id: { type: 'string' } },
|
|
1457
|
+
required: ['id'],
|
|
1458
|
+
},
|
|
1459
|
+
handler: async (args) => {
|
|
1460
|
+
const id = args.id;
|
|
1461
|
+
const { getDb } = await import('../../db/index.js');
|
|
1462
|
+
const db = getDb();
|
|
1463
|
+
const result = db.prepare(`UPDATE memories SET skip_penalty = MAX(0.001, skip_penalty * 0.2) WHERE id = ?`).run(id);
|
|
1464
|
+
if (result.changes === 0)
|
|
1465
|
+
return { error: 'not_found', id };
|
|
1466
|
+
const row = db.prepare(`SELECT skip_penalty FROM memories WHERE id = ?`).get(id);
|
|
1467
|
+
return { id, skip_penalty: row?.skip_penalty };
|
|
1468
|
+
},
|
|
1469
|
+
},
|
|
1470
|
+
{
|
|
1471
|
+
name: 'unskip',
|
|
1472
|
+
description: [
|
|
1473
|
+
'Restore a previously skipped memory to full recall rank (skip_penalty = 1.0).',
|
|
1474
|
+
'WHEN: the user corrects a wrongly skipped item, or you realise a "not useful" call was a mistake.',
|
|
1475
|
+
'IDEMPOTENT: returns success even if the memory was never skipped.',
|
|
1476
|
+
'RETURNS: { id, skip_penalty: 1.0 }.',
|
|
1477
|
+
].join(' '),
|
|
1478
|
+
inputSchema: {
|
|
1479
|
+
type: 'object',
|
|
1480
|
+
properties: { id: { type: 'string' } },
|
|
1481
|
+
required: ['id'],
|
|
1482
|
+
},
|
|
1483
|
+
handler: async (args) => {
|
|
1484
|
+
const id = args.id;
|
|
1485
|
+
const { getDb } = await import('../../db/index.js');
|
|
1486
|
+
const r = getDb().prepare(`UPDATE memories SET skip_penalty = 1.0 WHERE id = ?`).run(id);
|
|
1487
|
+
if (r.changes === 0)
|
|
1488
|
+
return { error: 'not_found', id };
|
|
1489
|
+
return { id, skip_penalty: 1.0 };
|
|
1490
|
+
},
|
|
1491
|
+
},
|
|
1492
|
+
{
|
|
1493
|
+
name: 'pin',
|
|
1494
|
+
description: [
|
|
1495
|
+
'Pin a memory — exempts it from time-decay forever (until unpinned).',
|
|
1496
|
+
'WHEN: critical preference, identity fact, or a piece of context that must never fade.',
|
|
1497
|
+
'Pinned memories ignore the importance × half-life decay curve.',
|
|
1498
|
+
'IDEMPOTENT: returns {pinned: true} regardless of prior state.',
|
|
1499
|
+
'RETURNS: { id, pinned: true }.',
|
|
1500
|
+
].join(' '),
|
|
1501
|
+
inputSchema: {
|
|
1502
|
+
type: 'object',
|
|
1503
|
+
properties: { id: { type: 'string' } },
|
|
1504
|
+
required: ['id'],
|
|
1505
|
+
},
|
|
1506
|
+
handler: async (args) => {
|
|
1507
|
+
const id = args.id;
|
|
1508
|
+
const { getDb } = await import('../../db/index.js');
|
|
1509
|
+
const r = getDb().prepare(`UPDATE memories SET pinned = 1 WHERE id = ?`).run(id);
|
|
1510
|
+
if (r.changes === 0)
|
|
1511
|
+
return { error: 'not_found', id };
|
|
1512
|
+
return { id, pinned: true };
|
|
1513
|
+
},
|
|
1514
|
+
},
|
|
1515
|
+
{
|
|
1516
|
+
name: 'unpin',
|
|
1517
|
+
description: [
|
|
1518
|
+
'Remove the pin from a memory — it resumes normal time-decay based on its importance.',
|
|
1519
|
+
'IDEMPOTENT: returns {pinned: false} regardless of prior state.',
|
|
1520
|
+
'RETURNS: { id, pinned: false }.',
|
|
1521
|
+
].join(' '),
|
|
1522
|
+
inputSchema: {
|
|
1523
|
+
type: 'object',
|
|
1524
|
+
properties: { id: { type: 'string' } },
|
|
1525
|
+
required: ['id'],
|
|
1526
|
+
},
|
|
1527
|
+
handler: async (args) => {
|
|
1528
|
+
const id = args.id;
|
|
1529
|
+
const { getDb } = await import('../../db/index.js');
|
|
1530
|
+
const r = getDb().prepare(`UPDATE memories SET pinned = 0 WHERE id = ?`).run(id);
|
|
1531
|
+
if (r.changes === 0)
|
|
1532
|
+
return { error: 'not_found', id };
|
|
1533
|
+
return { id, pinned: false };
|
|
1534
|
+
},
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
name: 'set_importance',
|
|
1538
|
+
description: [
|
|
1539
|
+
'Set a memory\'s importance level — affects decay half-life (high=90d, medium=30d, low=14d) and recall ranking.',
|
|
1540
|
+
'WHEN: user marks something as critical, or the agent decides a memory deserves more/less prominence.',
|
|
1541
|
+
'Default importance is set automatically at remember() time based on intent classification (preferences + corrections → high).',
|
|
1542
|
+
'IDEMPOTENT.',
|
|
1543
|
+
'RETURNS: { id, importance }.',
|
|
1544
|
+
].join(' '),
|
|
1545
|
+
inputSchema: {
|
|
1546
|
+
type: 'object',
|
|
1547
|
+
properties: {
|
|
1548
|
+
id: { type: 'string' },
|
|
1549
|
+
level: { type: 'string', enum: ['high', 'medium', 'low'] },
|
|
1550
|
+
},
|
|
1551
|
+
required: ['id', 'level'],
|
|
1552
|
+
},
|
|
1553
|
+
handler: async (args) => {
|
|
1554
|
+
const id = args.id;
|
|
1555
|
+
const level = args.level;
|
|
1556
|
+
if (!['high', 'medium', 'low'].includes(level)) {
|
|
1557
|
+
return { error: 'invalid_level', message: 'level must be high|medium|low' };
|
|
1558
|
+
}
|
|
1559
|
+
const { getDb } = await import('../../db/index.js');
|
|
1560
|
+
const r = getDb().prepare(`UPDATE memories SET importance = ? WHERE id = ?`).run(level, id);
|
|
1561
|
+
if (r.changes === 0)
|
|
1562
|
+
return { error: 'not_found', id };
|
|
1563
|
+
return { id, importance: level };
|
|
1564
|
+
},
|
|
1565
|
+
},
|
|
1566
|
+
// ── recall_chain ────────────────────────────────────────────────────────
|
|
1567
|
+
// Graph traversal over wikilinks + related_ids — our answer to Neo4j-backed
|
|
1568
|
+
// graph memory features in competing products. No external graph DB needed
|
|
1569
|
+
// because we already store the edges in the memory row's related_ids array.
|
|
1570
|
+
{
|
|
1571
|
+
name: 'recall_chain',
|
|
1572
|
+
description: [
|
|
1573
|
+
'Traverse the memory graph from a starting memory id, following wikilinks + related_ids up to `depth` hops.',
|
|
1574
|
+
'WHEN: "show me the chain of reasoning that led here", "what memories are connected to this decision?".',
|
|
1575
|
+
'Returns memories grouped by hop distance — direct neighbors at depth 1, their neighbors at depth 2, etc.',
|
|
1576
|
+
'ANTI-LOOP: depth is capped at 4 (silently). Memories are deduplicated across hops.',
|
|
1577
|
+
'RETURNS: { root: id, chain: [{ depth, memories: [{ id, type, title, score }] }] }.',
|
|
1578
|
+
].join(' '),
|
|
1579
|
+
inputSchema: {
|
|
1580
|
+
type: 'object',
|
|
1581
|
+
properties: {
|
|
1582
|
+
id: { type: 'string', description: 'Starting memory id.' },
|
|
1583
|
+
depth: { type: 'number', default: 2, description: 'Max hop distance (capped at 4).' },
|
|
1584
|
+
limit_per_hop: { type: 'number', default: 10 },
|
|
1585
|
+
},
|
|
1586
|
+
required: ['id'],
|
|
1587
|
+
},
|
|
1588
|
+
handler: async (args) => {
|
|
1589
|
+
const rootId = args.id;
|
|
1590
|
+
const maxDepth = Math.min(4, Math.max(1, args.depth ?? 2));
|
|
1591
|
+
const limitPerHop = Math.max(1, args.limit_per_hop ?? 10);
|
|
1592
|
+
const root = store.getById(rootId);
|
|
1593
|
+
if (!root)
|
|
1594
|
+
return { error: 'not_found', id: rootId };
|
|
1595
|
+
const visited = new Set([rootId]);
|
|
1596
|
+
const chain = [];
|
|
1597
|
+
let frontier = [rootId];
|
|
1598
|
+
for (let d = 1; d <= maxDepth; d++) {
|
|
1599
|
+
const nextFrontier = [];
|
|
1600
|
+
for (const fid of frontier) {
|
|
1601
|
+
const m = store.getById(fid);
|
|
1602
|
+
if (!m)
|
|
1603
|
+
continue;
|
|
1604
|
+
for (const wl of m.wikilinks ?? []) {
|
|
1605
|
+
const targetId = wl;
|
|
1606
|
+
if (!visited.has(targetId)) {
|
|
1607
|
+
visited.add(targetId);
|
|
1608
|
+
nextFrontier.push({ id: targetId, via: 'wikilink' });
|
|
1609
|
+
}
|
|
1610
|
+
}
|
|
1611
|
+
for (const rid of m.related_ids ?? []) {
|
|
1612
|
+
if (!visited.has(rid)) {
|
|
1613
|
+
visited.add(rid);
|
|
1614
|
+
nextFrontier.push({ id: rid, via: 'related' });
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
if (nextFrontier.length === 0)
|
|
1619
|
+
break;
|
|
1620
|
+
const hopMemories = [];
|
|
1621
|
+
for (const f of nextFrontier.slice(0, limitPerHop)) {
|
|
1622
|
+
const m = store.getById(f.id);
|
|
1623
|
+
if (!m)
|
|
1624
|
+
continue;
|
|
1625
|
+
hopMemories.push({ id: m.id, type: m.type, title: m.properties.title, via: f.via });
|
|
1626
|
+
}
|
|
1627
|
+
if (hopMemories.length === 0)
|
|
1628
|
+
break;
|
|
1629
|
+
chain.push({ depth: d, memories: hopMemories });
|
|
1630
|
+
frontier = hopMemories.map((m) => m.id);
|
|
1631
|
+
}
|
|
1632
|
+
return {
|
|
1633
|
+
root: { id: root.id, type: root.type, title: root.properties.title },
|
|
1634
|
+
total_reached: visited.size - 1,
|
|
1635
|
+
chain,
|
|
1636
|
+
};
|
|
1637
|
+
},
|
|
1638
|
+
},
|
|
1441
1639
|
];
|
|
1442
1640
|
}
|
|
1443
1641
|
// ── Heavy-op detection ────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/memory/public/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/memory/public/tools.ts"],"names":[],"mappings":"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"}
|