@aman_asmuei/amem 0.8.2 → 0.9.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/README.md CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  <p align="center">
24
24
  <b>amem</b> (<b>A</b>man's <b>Mem</b>ory) is a persistent memory layer for AI coding tools.<br/>
25
- Local-first &middot; Semantic &middot; Lossless &middot; Works with Claude Code, Cursor, Windsurf &amp; any MCP client.
25
+ Local-first &middot; Semantic &middot; Temporal &middot; Privacy-aware &middot; Works with Claude Code, Cursor, Windsurf &amp; any MCP client.
26
26
  </p>
27
27
 
28
28
  <p align="center">
@@ -122,12 +122,28 @@ Or add to `~/.claude/settings.json`:
122
122
 
123
123
  ### 3. Use
124
124
 
125
- Restart your AI tool — you'll see **23 tools**, **6 resources**, and **2 prompts** ready to go.
125
+ Restart your AI tool — you'll see **28 tools**, **6 resources**, and **2 prompts** ready to go.
126
126
 
127
127
  ---
128
128
 
129
129
  ## Features
130
130
 
131
+ ### v0.9.0 — The Temporal Intelligence Release
132
+
133
+ | | Feature | Description |
134
+ |---|---|---|
135
+ | **NEW** | Temporal validity | Memories have `valid_from`/`valid_until` — facts expire, old decisions are preserved for history |
136
+ | **NEW** | Auto-expire contradictions | Storing a new memory auto-expires conflicting old ones (Zep-style temporal knowledge graph) |
137
+ | **NEW** | `memory_expire` | Mark a memory as no longer valid — preserved for "what was true when?" queries |
138
+ | **NEW** | Multi-strategy retrieval | `memory_multi_recall` — combines semantic + FTS5 + knowledge graph traversal + temporal recency |
139
+ | **NEW** | Memory tiers | `memory_tier` — core (always injected), working (session-scoped), archival (searchable) |
140
+ | **NEW** | Privacy tags | `<private>...</private>` blocks stripped before storage; auto-redaction of API keys/secrets |
141
+ | **NEW** | Automatic capture | `amem hooks` — installs Claude Code lifecycle hooks (PostToolUse, Stop) for passive observation |
142
+ | **NEW** | Session summaries | `memory_summarize` + `memory_history` — structured session digests with key decisions/corrections |
143
+ | **NEW** | Config system | `~/.amem/config.json` — retrieval weights, privacy rules, tier budgets, hook settings |
144
+ | **NEW** | Dashboard v2 | Tier filter, expired badges, temporal validity display, session summaries section |
145
+ | **PERF** | Configurable scale | `maxCandidates` configurable up to 50K (was hardcoded 5K) |
146
+
131
147
  ### v0.8.0
132
148
 
133
149
  | | Feature | Description |
@@ -136,6 +152,9 @@ Restart your AI tool — you'll see **23 tools**, **6 resources**, and **2 promp
136
152
  | **NEW** | `amem rules` | Generate auto-extraction rules so your AI uses amem proactively (CLAUDE.md, .cursorrules, etc.) |
137
153
  | **NEW** | `amem dashboard` | Beautiful dark-themed web dashboard — memory list, knowledge graph, stats, reminders, log |
138
154
 
155
+ <details>
156
+ <summary><strong>View all features across versions</strong></summary>
157
+
139
158
  ### v0.7.0
140
159
 
141
160
  | | Feature | Description |
@@ -146,23 +165,21 @@ Restart your AI tool — you'll see **23 tools**, **6 resources**, and **2 promp
146
165
  | **NEW** | Embedding cache | LRU cache (128 entries) avoids recomputing identical query embeddings |
147
166
  | **NEW** | Content-hash dedup | Exact duplicates caught even without embeddings (SHA-256 prefix) |
148
167
  | **FIX** | FTS5 sync | Delete/update triggers use explicit rowid — no more stale FTS index after delete or patch |
149
- | **FIX** | Short ID everywhere | `memory_forget`, CLI `forget` now support 8-char prefix matching |
150
168
  | **FIX** | Multi-process safe | `busy_timeout=5000` — Claude Code + Cursor can share the same DB |
151
- | **FIX** | Project collision | Scope uses full path, not just directory basename |
152
- | **PERF** | Scale protections | Store/extract caps at 5k embeddings, consolidation caps at 500/group, stats uses SQL aggregation |
169
+ | **PERF** | Scale protections | Consolidation caps at 500/group, stats uses SQL aggregation |
153
170
 
154
171
  ### v0.5.1
155
172
 
156
173
  | | Feature | Description |
157
174
  |---|---|---|
158
- | **NEW** | Progressive disclosure | `memory_recall` with `compact=true` returns ~50-100 token index instead of ~500-1000 tokens. ~10x savings. |
175
+ | **NEW** | Progressive disclosure | `memory_recall` with `compact=true` returns ~50-100 token index (~10x savings) |
159
176
  | **NEW** | On-demand detail | `memory_detail` retrieves full content by ID (supports partial 8-char match) |
160
177
 
161
178
  ### v0.5.0
162
179
 
163
180
  | | Feature | Description |
164
181
  |---|---|---|
165
- | **NEW** | Reminders system | `reminder_set` / `reminder_list` / `reminder_check` / `reminder_complete` — persistent cross-session reminders with deadline tracking |
182
+ | **NEW** | Reminders system | `reminder_set` / `reminder_list` / `reminder_check` / `reminder_complete` — persistent cross-session reminders |
166
183
 
167
184
  ### v0.4.0
168
185
 
@@ -175,20 +192,15 @@ Restart your AI tool — you'll see **23 tools**, **6 resources**, and **2 promp
175
192
  | **NEW** | Temporal queries | `memory_since` — natural language time ranges (`7d`, `2w`, `1h`) |
176
193
  | **NEW** | Full-text search | `memory_search` — FTS5 exact match, auto-synced on every write |
177
194
 
178
- <details>
179
- <summary><strong>View all features across versions</strong></summary>
180
-
181
195
  ### v0.3.0
182
196
 
183
197
  - Memory consolidation engine (merge, prune, promote)
184
198
  - Project detection and scope-aware filtering
185
- - Auto-migration for scope fields
186
199
 
187
200
  ### v0.2.0
188
201
 
189
202
  - Structured output with Zod schemas
190
203
  - `memory_inject` for proactive context surfacing
191
- - Evaluation suite
192
204
 
193
205
  ### v0.1.0
194
206
 
@@ -220,11 +232,11 @@ Memories are scored and prioritized automatically:
220
232
 
221
233
  ## Tools Reference
222
234
 
223
- ### Core Memory
235
+ ### Core Memory (7 tools)
224
236
 
225
237
  | Tool | Description |
226
238
  |---|---|
227
- | `memory_store` | Store a memory with type, tags, and confidence |
239
+ | `memory_store` | Store a memory with type, tags, confidence. Auto-redacts `<private>` tags and sensitive patterns. Auto-expires contradicting old memories. |
228
240
  | `memory_recall` | Semantic search — supports `compact` mode for progressive disclosure (~10x token savings) |
229
241
  | `memory_detail` | Retrieve full content by ID — use after compact recall for on-demand detail |
230
242
  | `memory_context` | Load all relevant context for a topic, organized by type |
@@ -232,7 +244,7 @@ Memories are scored and prioritized automatically:
232
244
  | `memory_forget` | Delete memories by ID or query (confirmation required) |
233
245
  | `memory_inject` | Proactively surface corrections + decisions before coding |
234
246
 
235
- ### Precision & History
247
+ ### Precision & History (5 tools)
236
248
 
237
249
  | Tool | Description |
238
250
  |---|---|
@@ -242,7 +254,17 @@ Memories are scored and prioritized automatically:
242
254
  | `memory_since` | Temporal query with natural language ranges |
243
255
  | `memory_relate` | Build a knowledge graph between memories |
244
256
 
245
- ### Reminders
257
+ ### Advanced (5 tools) — new in v0.9.0
258
+
259
+ | Tool | Description |
260
+ |---|---|
261
+ | `memory_multi_recall` | Multi-strategy search: semantic + FTS5 + knowledge graph + temporal, with configurable weights |
262
+ | `memory_tier` | Move memories between tiers: **core** (always injected), **working** (session), **archival** (searchable) |
263
+ | `memory_expire` | Mark a memory as no longer valid — preserved for historical queries, excluded from recall |
264
+ | `memory_summarize` | Store a structured session summary with key decisions, corrections, and metrics |
265
+ | `memory_history` | View past session summaries — what happened, what was decided, what was extracted |
266
+
267
+ ### Reminders (4 tools)
246
268
 
247
269
  | Tool | Description |
248
270
  |---|---|
@@ -251,7 +273,7 @@ Memories are scored and prioritized automatically:
251
273
  | `reminder_check` | Check for overdue, today, and upcoming reminders (next 7 days) |
252
274
  | `reminder_complete` | Mark a reminder as done (supports partial ID matching) |
253
275
 
254
- ### Log & Maintenance
276
+ ### Log & Maintenance (7 tools)
255
277
 
256
278
  | Tool | Description |
257
279
  |---|---|
@@ -405,6 +427,96 @@ memory_search({ query: "auth* NOT legacy" }) // FTS5 boolean syntax
405
427
 
406
428
  </details>
407
429
 
430
+ <details>
431
+ <summary><strong>Temporal validity & expiry (v0.9.0)</strong></summary>
432
+
433
+ ```js
434
+ // Mark an outdated decision as expired (preserved for history)
435
+ memory_expire({
436
+ id: "a1b2c3d4",
437
+ reason: "Migrated from REST to GraphQL"
438
+ })
439
+
440
+ // Store the new decision — old one auto-expired if contradicting
441
+ memory_store({
442
+ content: "API uses GraphQL with Apollo Server",
443
+ type: "decision",
444
+ tags: ["api", "graphql"],
445
+ confidence: 0.9
446
+ })
447
+
448
+ // Query what was true at a specific time
449
+ memory_since({ since: "2025-01-01", until: "2025-03-01", type: "decision" })
450
+ ```
451
+
452
+ </details>
453
+
454
+ <details>
455
+ <summary><strong>Memory tiers (v0.9.0)</strong></summary>
456
+
457
+ ```js
458
+ // Promote critical correction to core tier (always injected)
459
+ memory_tier({ id: "a1b2c3d4", tier: "core" })
460
+
461
+ // List all core memories
462
+ memory_tier({ tier: "core", action: "list" })
463
+
464
+ // Demote back to archival
465
+ memory_tier({ id: "a1b2c3d4", tier: "archival" })
466
+ ```
467
+
468
+ </details>
469
+
470
+ <details>
471
+ <summary><strong>Multi-strategy recall (v0.9.0)</strong></summary>
472
+
473
+ ```js
474
+ // Combines 4 strategies: semantic + FTS5 + graph traversal + temporal
475
+ memory_multi_recall({
476
+ query: "authentication architecture",
477
+ limit: 10,
478
+ weights: { semantic: 0.4, fts: 0.3, graph: 0.15, temporal: 0.15 }
479
+ })
480
+ ```
481
+
482
+ </details>
483
+
484
+ <details>
485
+ <summary><strong>Privacy tags (v0.9.0)</strong></summary>
486
+
487
+ ```js
488
+ // Private blocks are stripped before storage
489
+ memory_store({
490
+ content: "DB password is <private>hunter2</private>, connect to prod at db.example.com",
491
+ type: "topology",
492
+ tags: ["database"]
493
+ })
494
+ // Stored as: "DB password is [REDACTED], connect to prod at db.example.com"
495
+
496
+ // API keys/secrets are auto-redacted by pattern matching
497
+ ```
498
+
499
+ </details>
500
+
501
+ <details>
502
+ <summary><strong>Session summaries (v0.9.0)</strong></summary>
503
+
504
+ ```js
505
+ // Summarize at session end
506
+ memory_summarize({
507
+ session_id: "sess-2025-03-25",
508
+ summary: "Redesigned auth flow from session tokens to JWT",
509
+ key_decisions: ["Use RS256 signing", "Store refresh tokens in httpOnly cookies"],
510
+ key_corrections: ["Don't use localStorage for tokens"],
511
+ memories_extracted: 7
512
+ })
513
+
514
+ // Review past sessions
515
+ memory_history({ limit: 5 })
516
+ ```
517
+
518
+ </details>
519
+
408
520
  ---
409
521
 
410
522
  ## Architecture
@@ -413,25 +525,30 @@ memory_search({ query: "auth* NOT legacy" }) // FTS5 boolean syntax
413
525
  ┌──────────────────────────────────────────────┐
414
526
  │ Your AI Tool │
415
527
  │ Claude Code · Cursor · Windsurf · any │
416
- └─────────────────┬────────────────────────────┘
417
- │ MCP Protocol (stdio)
418
- ┌─────────────────▼────────────────────────────┐
419
- │ amem MCP Server │
528
+ └────────┬─────────────────────┬───────────────┘
529
+ │ MCP Protocol Lifecycle Hooks
530
+ │ (stdio) │ (PostToolUse, Stop)
531
+ ┌────────▼─────────────────────▼───────────────┐
532
+ │ amem MCP Server v0.9.0 │
420
533
  │ │
421
- 23 Tools · 6 Resources · 2 Prompts │
534
+ 28 Tools · 6 Resources · 2 Prompts │
535
+ │ │
536
+ │ Multi-Strategy Retrieval Pipeline │
537
+ │ [Semantic] + [FTS5] + [Graph] + [Temporal] │
422
538
  │ │
423
539
  │ ┌────────────────────────────────────┐ │
424
540
  │ │ SQLite + WAL + FTS5 │ │
425
541
  │ │ ~/.amem/memory.db │ │
426
542
  │ │ │ │
427
- │ │ memories (scored) │ │
543
+ │ │ memories (tiered,temporal│ │
428
544
  │ │ conversation_log (lossless) │ │
429
545
  │ │ memory_versions (history) │ │
430
- │ │ memory_relations (graph) │ │
546
+ │ │ memory_relations (temporal graph)│ │
547
+ │ │ session_summaries (digests) │ │
431
548
  │ │ reminders (cross-session) │ │
432
- │ │ memories_fts (FTS5 index) │ │
433
549
  │ └────────────────────────────────────┘ │
434
550
  │ │
551
+ │ Config: ~/.amem/config.json │
435
552
  │ Local Embeddings (all-MiniLM-L6-v2, 80MB) │
436
553
  └──────────────────────────────────────────────┘
437
554
  ```
@@ -469,6 +586,8 @@ score = relevance × recency × confidence × importance
469
586
  ```bash
470
587
  amem-cli init # Auto-configure AI tools
471
588
  amem-cli rules # Generate auto-extraction rules
589
+ amem-cli hooks # Install automatic memory capture hooks
590
+ amem-cli hooks --uninstall # Remove hooks
472
591
  amem-cli dashboard # Open web dashboard
473
592
  amem-cli recall "authentication" # Semantic search
474
593
  amem-cli stats # Statistics
@@ -476,18 +595,48 @@ amem-cli list # List all memories
476
595
  amem-cli list --type correction # Filter by type
477
596
  amem-cli export --file memories.md # Export to file
478
597
  amem-cli forget abc12345 # Delete by short ID
598
+ amem-cli reset --confirm # Wipe all data
479
599
  ```
480
600
 
481
601
  ---
482
602
 
483
603
  ## Configuration
484
604
 
605
+ **Environment Variables**
606
+
485
607
  | Variable | Default | Description |
486
608
  |---|---|---|
487
609
  | `AMEM_DIR` | `~/.amem` | Storage directory |
488
610
  | `AMEM_DB` | `~/.amem/memory.db` | Database path |
489
611
  | `AMEM_PROJECT` | *(auto from git)* | Project scope |
490
612
 
613
+ **Config File** (`~/.amem/config.json`)
614
+
615
+ ```json
616
+ {
617
+ "retrieval": {
618
+ "semanticWeight": 0.4,
619
+ "ftsWeight": 0.3,
620
+ "graphWeight": 0.15,
621
+ "temporalWeight": 0.15,
622
+ "maxCandidates": 50000
623
+ },
624
+ "privacy": {
625
+ "enablePrivateTags": true,
626
+ "redactPatterns": ["(?:api[_-]?key|secret|token|password)\\s*[:=]\\s*['\"]?[A-Za-z0-9_\\-\\.]{8,}"]
627
+ },
628
+ "tiers": {
629
+ "coreMaxTokens": 500,
630
+ "workingMaxTokens": 2000
631
+ },
632
+ "hooks": {
633
+ "enabled": true,
634
+ "captureToolUse": true,
635
+ "captureSessionEnd": true
636
+ }
637
+ }
638
+ ```
639
+
491
640
  ---
492
641
 
493
642
  ## Tech Stack
@@ -499,7 +648,7 @@ amem-cli forget abc12345 # Delete by short ID
499
648
  | Database | SQLite + WAL + FTS5 |
500
649
  | Embeddings | HuggingFace Xenova/all-MiniLM-L6-v2 (local, 80MB) |
501
650
  | Validation | Zod 3.25+ with `.strict()` schemas |
502
- | Testing | Vitest — 262 tests across 17 suites |
651
+ | Testing | Vitest — 294 tests across 18 suites |
503
652
  | CI/CD | GitHub Actions → npm publish on release |
504
653
 
505
654
  ---
@@ -510,7 +659,7 @@ amem-cli forget abc12345 # Delete by short ID
510
659
  git clone https://github.com/amanasmuei/amem.git
511
660
  cd amem && npm install
512
661
  npm run build # zero TS errors
513
- npm test # 262 tests pass
662
+ npm test # 294 tests pass
514
663
  ```
515
664
 
516
665
  PRs must pass CI before merge. See [Issues](https://github.com/amanasmuei/amem/issues) for open tasks.
package/dist/cli.js CHANGED
@@ -47,6 +47,10 @@ if (command === "rules") {
47
47
  handleRules(args.slice(1));
48
48
  process.exit(0);
49
49
  }
50
+ if (command === "hooks") {
51
+ await handleHooks(args.slice(1));
52
+ process.exit(0);
53
+ }
50
54
  // ── Commands that need a database ───────────────────────
51
55
  if (command === "dashboard") {
52
56
  if (!fs.existsSync(DB_PATH)) {
@@ -114,6 +118,7 @@ USAGE
114
118
  SETUP
115
119
  init Auto-configure amem for detected AI tools
116
120
  rules [--tool NAME] Generate auto-extraction rules for AI tools
121
+ hooks [--uninstall] Install/uninstall automatic memory capture hooks
117
122
  dashboard [--port=N] Open the memory dashboard in your browser (default: 3333)
118
123
 
119
124
  MEMORY
@@ -138,6 +143,7 @@ MEMORY TYPES
138
143
  EXAMPLES
139
144
  amem init
140
145
  amem rules
146
+ amem hooks
141
147
  amem dashboard
142
148
  amem recall "authentication approach"
143
149
  amem stats
@@ -288,6 +294,36 @@ function handleRules(args) {
288
294
  console.log("No rules written. Use --path to write to a custom location.");
289
295
  }
290
296
  }
297
+ // ═══════════════════════════════════════════════════════════
298
+ // HOOKS — Automatic memory capture
299
+ // ═══════════════════════════════════════════════════════════
300
+ async function handleHooks(args) {
301
+ const { installHooks, uninstallHooks } = await import("./hooks.js");
302
+ if (args.includes("--uninstall") || args.includes("--remove")) {
303
+ const result = uninstallHooks();
304
+ if (result.removed.length > 0) {
305
+ console.log(`Removed amem hooks: ${result.removed.join(", ")}`);
306
+ console.log("Hooks have been uninstalled from Claude Code settings.");
307
+ }
308
+ else {
309
+ console.log("No amem hooks found to remove.");
310
+ }
311
+ return;
312
+ }
313
+ console.log("Installing amem hooks for automatic memory capture...\n");
314
+ const result = installHooks({
315
+ captureToolUse: true,
316
+ captureSessionEnd: true,
317
+ });
318
+ console.log(` Installed hook scripts: ${result.installed.join(", ")}`);
319
+ console.log(` Updated Claude Code settings: ${result.configPath}`);
320
+ console.log();
321
+ console.log("Hooks installed! Claude Code will now automatically:");
322
+ console.log(" - Log significant tool calls (PostToolUse)");
323
+ console.log(" - Mark session end for summarization (Stop)");
324
+ console.log();
325
+ console.log("Use 'amem-cli hooks --uninstall' to remove hooks.");
326
+ }
291
327
  async function handleRecall(db, args) {
292
328
  const query = args.join(" ");
293
329
  if (!query) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ export interface AmemConfig {
2
+ embeddingModel: string;
3
+ embeddingDimensions: number;
4
+ embeddingCacheSize: number;
5
+ retrieval: {
6
+ semanticWeight: number;
7
+ ftsWeight: number;
8
+ graphWeight: number;
9
+ temporalWeight: number;
10
+ maxCandidates: number;
11
+ rerankerEnabled: boolean;
12
+ rerankerTopK: number;
13
+ };
14
+ consolidation: {
15
+ maxStaleDays: number;
16
+ minConfidence: number;
17
+ minAccessCount: number;
18
+ enableDecay: boolean;
19
+ decayFactor: number;
20
+ };
21
+ privacy: {
22
+ enablePrivateTags: boolean;
23
+ redactPatterns: string[];
24
+ };
25
+ hooks: {
26
+ enabled: boolean;
27
+ captureToolUse: boolean;
28
+ captureSessionEnd: boolean;
29
+ autoExtractInterval: number;
30
+ };
31
+ tiers: {
32
+ coreMaxTokens: number;
33
+ workingMaxTokens: number;
34
+ };
35
+ team: {
36
+ enabled: boolean;
37
+ syncPath: string | null;
38
+ syncInterval: number;
39
+ userId: string | null;
40
+ };
41
+ }
42
+ export declare function getConfigPath(): string;
43
+ export declare function loadConfig(): AmemConfig;
44
+ export declare function saveConfig(config: Partial<AmemConfig>): void;
45
+ export declare function getDefaultConfig(): AmemConfig;
46
+ export declare function resetConfigCache(): void;
47
+ /**
48
+ * Strip <private>...</private> tags and redact patterns from content before storage.
49
+ * Returns cleaned content, or null if the entire content is private.
50
+ */
51
+ export declare function sanitizeContent(content: string, config?: AmemConfig): string | null;
package/dist/config.js ADDED
@@ -0,0 +1,130 @@
1
+ import path from "node:path";
2
+ import os from "node:os";
3
+ import fs from "node:fs";
4
+ const DEFAULT_CONFIG = {
5
+ embeddingModel: "Xenova/all-MiniLM-L6-v2",
6
+ embeddingDimensions: 384,
7
+ embeddingCacheSize: 128,
8
+ retrieval: {
9
+ semanticWeight: 0.4,
10
+ ftsWeight: 0.3,
11
+ graphWeight: 0.15,
12
+ temporalWeight: 0.15,
13
+ maxCandidates: 50000,
14
+ rerankerEnabled: false,
15
+ rerankerTopK: 20,
16
+ },
17
+ consolidation: {
18
+ maxStaleDays: 60,
19
+ minConfidence: 0.3,
20
+ minAccessCount: 2,
21
+ enableDecay: false,
22
+ decayFactor: 0.95,
23
+ },
24
+ privacy: {
25
+ enablePrivateTags: true,
26
+ redactPatterns: [
27
+ "(?:api[_-]?key|secret|token|password|passwd|credential)\\s*[:=]\\s*['\"]?[A-Za-z0-9_\\-\\.]{8,}",
28
+ ],
29
+ },
30
+ hooks: {
31
+ enabled: true,
32
+ captureToolUse: true,
33
+ captureSessionEnd: true,
34
+ autoExtractInterval: 0,
35
+ },
36
+ tiers: {
37
+ coreMaxTokens: 500,
38
+ workingMaxTokens: 2000,
39
+ },
40
+ team: {
41
+ enabled: false,
42
+ syncPath: null,
43
+ syncInterval: 30,
44
+ userId: null,
45
+ },
46
+ };
47
+ let loadedConfig = null;
48
+ export function getConfigPath() {
49
+ const amemDir = process.env.AMEM_DIR || path.join(os.homedir(), ".amem");
50
+ return path.join(amemDir, "config.json");
51
+ }
52
+ export function loadConfig() {
53
+ if (loadedConfig)
54
+ return loadedConfig;
55
+ const configPath = getConfigPath();
56
+ try {
57
+ if (fs.existsSync(configPath)) {
58
+ const raw = fs.readFileSync(configPath, "utf-8").trim();
59
+ if (raw) {
60
+ const userConfig = JSON.parse(raw);
61
+ loadedConfig = deepMerge(DEFAULT_CONFIG, userConfig);
62
+ return loadedConfig;
63
+ }
64
+ }
65
+ }
66
+ catch (error) {
67
+ console.error("[amem] Failed to load config, using defaults:", error instanceof Error ? error.message : String(error));
68
+ }
69
+ loadedConfig = { ...DEFAULT_CONFIG };
70
+ return loadedConfig;
71
+ }
72
+ export function saveConfig(config) {
73
+ const configPath = getConfigPath();
74
+ const dir = path.dirname(configPath);
75
+ fs.mkdirSync(dir, { recursive: true });
76
+ // Merge with existing config
77
+ const existing = loadConfig();
78
+ const merged = deepMerge(existing, config);
79
+ fs.writeFileSync(configPath, JSON.stringify(merged, null, 2) + "\n");
80
+ loadedConfig = merged;
81
+ }
82
+ export function getDefaultConfig() {
83
+ return { ...DEFAULT_CONFIG };
84
+ }
85
+ export function resetConfigCache() {
86
+ loadedConfig = null;
87
+ }
88
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
+ function deepMerge(base, override) {
90
+ const result = { ...base };
91
+ for (const key of Object.keys(override)) {
92
+ const val = override[key];
93
+ if (val !== undefined && val !== null) {
94
+ if (typeof val === "object" && !Array.isArray(val) && typeof result[key] === "object" && !Array.isArray(result[key])) {
95
+ result[key] = deepMerge(result[key], val);
96
+ }
97
+ else {
98
+ result[key] = val;
99
+ }
100
+ }
101
+ }
102
+ return result;
103
+ }
104
+ // ── Privacy helpers ─────────────────────────────────────
105
+ /**
106
+ * Strip <private>...</private> tags and redact patterns from content before storage.
107
+ * Returns cleaned content, or null if the entire content is private.
108
+ */
109
+ export function sanitizeContent(content, config) {
110
+ const cfg = config ?? loadConfig();
111
+ if (!cfg.privacy.enablePrivateTags)
112
+ return content;
113
+ // Strip <private>...</private> blocks
114
+ let cleaned = content.replace(/<private>[\s\S]*?<\/private>/gi, "[REDACTED]");
115
+ // If entire content was private, return null (don't store)
116
+ if (cleaned.trim() === "[REDACTED]" || cleaned.trim() === "")
117
+ return null;
118
+ // Apply regex redaction patterns
119
+ for (const pattern of cfg.privacy.redactPatterns) {
120
+ try {
121
+ const regex = new RegExp(pattern, "g");
122
+ cleaned = cleaned.replace(regex, "[REDACTED]");
123
+ }
124
+ catch {
125
+ // Invalid regex pattern — skip
126
+ }
127
+ }
128
+ return cleaned;
129
+ }
130
+ //# sourceMappingURL=config.js.map