@raviolelabs/engram-mcp 0.4.5 → 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.
@@ -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;AAyDD,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"}
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"}
@@ -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 === 8) {
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;IAoF7C,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;IAiB9E,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"}
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
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
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
- const hits = await semanticSearch(memoryType, query, this.options.embeddings, limit);
106
- const results = [];
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
- results.push({
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
- return results;
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,CAkhD9F"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raviolelabs/engram-mcp",
3
- "version": "0.4.5",
3
+ "version": "0.5.0",
4
4
  "mcpName": "io.github.RavioleLabs/engram-mcp",
5
5
  "description": "EngramMCP \u2014 local-first semantic memory layer for AI agents",
6
6
  "license": "MIT",