@whenmoon-afk/memory-mcp 2.1.1 → 2.2.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.
Files changed (40) hide show
  1. package/README.md +153 -3
  2. package/dist/database/better-sqlite3-driver.d.ts +38 -0
  3. package/dist/database/better-sqlite3-driver.d.ts.map +1 -0
  4. package/dist/database/better-sqlite3-driver.js +82 -0
  5. package/dist/database/better-sqlite3-driver.js.map +1 -0
  6. package/dist/database/connection.d.ts +5 -5
  7. package/dist/database/connection.d.ts.map +1 -1
  8. package/dist/database/connection.js +7 -4
  9. package/dist/database/connection.js.map +1 -1
  10. package/dist/database/db-driver.d.ts +76 -0
  11. package/dist/database/db-driver.d.ts.map +1 -0
  12. package/dist/database/db-driver.js +9 -0
  13. package/dist/database/db-driver.js.map +1 -0
  14. package/dist/database/driver-factory.d.ts +51 -0
  15. package/dist/database/driver-factory.d.ts.map +1 -0
  16. package/dist/database/driver-factory.js +63 -0
  17. package/dist/database/driver-factory.js.map +1 -0
  18. package/dist/database/schema.d.ts +5 -5
  19. package/dist/database/schema.d.ts.map +1 -1
  20. package/dist/database/schema.js.map +1 -1
  21. package/dist/database/sqljs-driver.d.ts +50 -0
  22. package/dist/database/sqljs-driver.d.ts.map +1 -0
  23. package/dist/database/sqljs-driver.js +108 -0
  24. package/dist/database/sqljs-driver.js.map +1 -0
  25. package/dist/index.js +3 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/search/semantic-search.d.ts +2 -2
  28. package/dist/search/semantic-search.d.ts.map +1 -1
  29. package/dist/search/semantic-search.js.map +1 -1
  30. package/dist/tools/memory-forget.d.ts +2 -2
  31. package/dist/tools/memory-forget.d.ts.map +1 -1
  32. package/dist/tools/memory-forget.js.map +1 -1
  33. package/dist/tools/memory-recall.d.ts +2 -2
  34. package/dist/tools/memory-recall.d.ts.map +1 -1
  35. package/dist/tools/memory-recall.js.map +1 -1
  36. package/dist/tools/memory-store.d.ts +2 -2
  37. package/dist/tools/memory-store.d.ts.map +1 -1
  38. package/dist/tools/memory-store.js.map +1 -1
  39. package/install.js +49 -7
  40. package/package.json +2 -1
package/README.md CHANGED
@@ -83,6 +83,150 @@ npm run build
83
83
 
84
84
  ---
85
85
 
86
+ ### Claude Code Installation
87
+
88
+ For users of Claude Code (terminal-based Claude), use the `claude mcp add` command:
89
+
90
+ **Global Memory (user-wide, persists across all projects):**
91
+ ```bash
92
+ claude mcp add memory -s user -- npx -y @whenmoon-afk/memory-mcp
93
+ ```
94
+
95
+ **Per-Project Memory (project-specific, stored in project directory):**
96
+ ```bash
97
+ claude mcp add memory -s local -e MEMORY_DB_PATH=./memory.db -- npx -y @whenmoon-afk/memory-mcp
98
+ ```
99
+
100
+ **Verify installation:**
101
+ ```bash
102
+ claude mcp list
103
+ ```
104
+
105
+ > **Tip:** Use `--scope user` for personal knowledge that spans projects. Use `--scope local` with `MEMORY_DB_PATH=./memory.db` for codebase-specific context that stays with the repository.
106
+
107
+ ---
108
+
109
+ ## Docker Deployment
110
+
111
+ Run the Memory MCP server in a containerized environment with persistent storage.
112
+
113
+ ### Prerequisites
114
+ - Docker installed ([Get Docker](https://docs.docker.com/get-docker/))
115
+ - Docker Compose (included with Docker Desktop)
116
+
117
+ ### Quick Start with Docker Compose
118
+
119
+ **1. Clone the repository:**
120
+ ```bash
121
+ git clone https://github.com/WhenMoon-afk/claude-memory-mcp.git
122
+ cd claude-memory-mcp
123
+ ```
124
+
125
+ **2. Start the container:**
126
+ ```bash
127
+ docker-compose up -d
128
+ ```
129
+
130
+ This will:
131
+ - Build the Docker image with Node.js 20
132
+ - Create a persistent volume at `./data/` for the database
133
+ - Start the MCP server in detached mode
134
+
135
+ **3. View logs:**
136
+ ```bash
137
+ docker-compose logs -f memory-mcp
138
+ ```
139
+
140
+ **4. Stop the container:**
141
+ ```bash
142
+ docker-compose down
143
+ ```
144
+
145
+ ### Manual Docker Build
146
+
147
+ **Build the image:**
148
+ ```bash
149
+ docker build -t memory-mcp:latest .
150
+ ```
151
+
152
+ **Run the container:**
153
+ ```bash
154
+ # Create data directory
155
+ mkdir -p ./data
156
+
157
+ # Run container with volume mount
158
+ docker run -d \
159
+ --name memory-mcp \
160
+ -v "$(pwd)/data:/data" \
161
+ -e MEMORY_DB_PATH=/data/memory.db \
162
+ -e DEFAULT_TTL_DAYS=90 \
163
+ memory-mcp:latest
164
+ ```
165
+
166
+ **Interact with the running container:**
167
+ ```bash
168
+ # View logs
169
+ docker logs -f memory-mcp
170
+
171
+ # Execute commands inside container
172
+ docker exec -it memory-mcp /bin/bash
173
+
174
+ # Stop container
175
+ docker stop memory-mcp
176
+
177
+ # Remove container
178
+ docker rm memory-mcp
179
+ ```
180
+
181
+ ### Volume Persistence
182
+
183
+ The database is stored in a Docker volume mapped to `./data/` on your host:
184
+
185
+ | Location | Path |
186
+ |----------|------|
187
+ | **Host** | `./data/memory.db` |
188
+ | **Container** | `/data/memory.db` |
189
+
190
+ **To backup your database:**
191
+ ```bash
192
+ cp ./data/memory.db ./memory-backup-$(date +%Y%m%d).db
193
+ ```
194
+
195
+ **To restore from backup:**
196
+ ```bash
197
+ cp ./memory-backup-20250105.db ./data/memory.db
198
+ docker-compose restart
199
+ ```
200
+
201
+ ### Environment Variables (Docker)
202
+
203
+ Configure via `docker-compose.yml` or `-e` flags:
204
+
205
+ | Variable | Default | Description |
206
+ |----------|---------|-------------|
207
+ | `MEMORY_DB_PATH` | `/data/memory.db` | Database file location inside container |
208
+ | `DEFAULT_TTL_DAYS` | `90` | Default memory expiration (days) |
209
+ | `MEMORY_DB_DRIVER` | `better-sqlite3` | Database driver (better-sqlite3 or sqljs) |
210
+ | `NODE_ENV` | `production` | Node environment |
211
+
212
+ ### Docker Notes
213
+
214
+ - **No HTTP Port**: This is a stdio-based MCP server. Communication happens via stdin/stdout, not HTTP requests.
215
+ - **Native Dependencies**: Uses multi-stage build to compile better-sqlite3 native bindings
216
+ - **Resource Limits**: Default docker-compose.yml sets 512MB memory limit (adjustable)
217
+ - **Auto-restart**: Container restarts automatically unless explicitly stopped
218
+
219
+ ### Using with MCP Clients
220
+
221
+ When running in Docker, you'll need to configure your MCP client to communicate with the containerized server. The exact method depends on your client:
222
+
223
+ - **For local development**: Use `docker exec` to run commands
224
+ - **For production**: Consider using a container orchestration platform (Kubernetes, ECS, etc.)
225
+
226
+ > **Tip**: For most use cases, the **NPM package installation** (Option 1) is simpler and more suitable than Docker, since MCP servers typically run locally and communicate directly with the AI client via stdio.
227
+
228
+ ---
229
+
86
230
  ## Integrate with Your MCP Client
87
231
 
88
232
  Add to your client's MCP config file:
@@ -298,11 +442,17 @@ All other dependencies are dev-only (TypeScript, testing, linting).
298
442
 
299
443
  ## Environment Variables
300
444
 
301
- | Var | Default | Description |
302
- |-----|---------|-----------|
303
- | `MEMORY_DB_PATH` | `./memory.db` | Database file location |
445
+ | Variable | Default | Description |
446
+ |----------|---------|-------------|
447
+ | `MEMORY_DB_PATH` | Platform-specific* | Database file location |
448
+ | `MEMORY_DB_DRIVER` | `better-sqlite3` | Database driver (`better-sqlite3` or `sqljs`) |
304
449
  | `DEFAULT_TTL_DAYS` | `90` | Default time-to-live for memories (days) |
305
450
 
451
+ *Default database locations (when installed via `npx`):
452
+ - **macOS:** `~/.claude-memories/memory.db`
453
+ - **Windows:** `%APPDATA%\claude-memories\memory.db`
454
+ - **Linux:** `~/.local/share/claude-memories/memory.db`
455
+
306
456
  ---
307
457
 
308
458
  ### Security
@@ -0,0 +1,38 @@
1
+ /**
2
+ * BetterSqlite3Driver - Adapter for better-sqlite3
3
+ *
4
+ * Wraps better-sqlite3's Database to implement the DbDriver interface.
5
+ * This adapter allows the codebase to depend on the interface rather than
6
+ * the concrete better-sqlite3 types, enabling future database driver swaps.
7
+ */
8
+ import Database from 'better-sqlite3';
9
+ import type { DbDriver, PreparedStatement } from './db-driver.js';
10
+ /**
11
+ * Adapter for better-sqlite3 Database
12
+ * Implements DbDriver interface
13
+ */
14
+ export declare class BetterSqlite3Driver implements DbDriver {
15
+ private db;
16
+ constructor(db: Database.Database);
17
+ prepare<T = unknown>(sql: string): PreparedStatement<T>;
18
+ exec(sql: string): void;
19
+ pragma(pragma: string): unknown;
20
+ transaction<T>(fn: () => T): () => T;
21
+ close(): void;
22
+ /**
23
+ * Get the underlying better-sqlite3 Database instance
24
+ * Only exposed for migration purposes - avoid using in business logic
25
+ *
26
+ * @internal
27
+ */
28
+ getUnderlying(): Database.Database;
29
+ }
30
+ /**
31
+ * Create a BetterSqlite3Driver from a file path
32
+ *
33
+ * @param path Database file path
34
+ * @param options better-sqlite3 options
35
+ * @returns Driver instance
36
+ */
37
+ export declare function createBetterSqlite3Driver(path: string, options?: Database.Options): BetterSqlite3Driver;
38
+ //# sourceMappingURL=better-sqlite3-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-sqlite3-driver.d.ts","sourceRoot":"","sources":["../../src/database/better-sqlite3-driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAa,MAAM,gBAAgB,CAAC;AA+B7E;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,QAAQ;IACtC,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAEzC,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAKvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/B,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAIpC,KAAK,IAAI,IAAI;IAIb;;;;;OAKG;IACH,aAAa,IAAI,QAAQ,CAAC,QAAQ;CAGnC;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,GACzB,mBAAmB,CAGrB"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * BetterSqlite3Driver - Adapter for better-sqlite3
3
+ *
4
+ * Wraps better-sqlite3's Database to implement the DbDriver interface.
5
+ * This adapter allows the codebase to depend on the interface rather than
6
+ * the concrete better-sqlite3 types, enabling future database driver swaps.
7
+ */
8
+ import Database from 'better-sqlite3';
9
+ /**
10
+ * Wrapper for better-sqlite3's Statement
11
+ * Implements PreparedStatement interface
12
+ */
13
+ class StatementWrapper {
14
+ stmt;
15
+ constructor(stmt) {
16
+ this.stmt = stmt;
17
+ }
18
+ run(...params) {
19
+ const result = this.stmt.run(...params);
20
+ return {
21
+ changes: result.changes,
22
+ };
23
+ }
24
+ get(...params) {
25
+ return this.stmt.get(...params);
26
+ }
27
+ all(...params) {
28
+ return this.stmt.all(...params);
29
+ }
30
+ pluck() {
31
+ // better-sqlite3's pluck() returns a modified Statement
32
+ const pluckedStmt = this.stmt.pluck();
33
+ return new StatementWrapper(pluckedStmt);
34
+ }
35
+ }
36
+ /**
37
+ * Adapter for better-sqlite3 Database
38
+ * Implements DbDriver interface
39
+ */
40
+ export class BetterSqlite3Driver {
41
+ db;
42
+ constructor(db) {
43
+ this.db = db;
44
+ }
45
+ prepare(sql) {
46
+ const stmt = this.db.prepare(sql);
47
+ return new StatementWrapper(stmt);
48
+ }
49
+ exec(sql) {
50
+ this.db.exec(sql);
51
+ }
52
+ pragma(pragma) {
53
+ return this.db.pragma(pragma);
54
+ }
55
+ transaction(fn) {
56
+ return this.db.transaction(fn);
57
+ }
58
+ close() {
59
+ this.db.close();
60
+ }
61
+ /**
62
+ * Get the underlying better-sqlite3 Database instance
63
+ * Only exposed for migration purposes - avoid using in business logic
64
+ *
65
+ * @internal
66
+ */
67
+ getUnderlying() {
68
+ return this.db;
69
+ }
70
+ }
71
+ /**
72
+ * Create a BetterSqlite3Driver from a file path
73
+ *
74
+ * @param path Database file path
75
+ * @param options better-sqlite3 options
76
+ * @returns Driver instance
77
+ */
78
+ export function createBetterSqlite3Driver(path, options) {
79
+ const db = new Database(path, options);
80
+ return new BetterSqlite3Driver(db);
81
+ }
82
+ //# sourceMappingURL=better-sqlite3-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-sqlite3-driver.js","sourceRoot":"","sources":["../../src/database/better-sqlite3-driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC;;;GAGG;AACH,MAAM,gBAAgB;IACA;IAApB,YAAoB,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;IAEhD,GAAG,CAAC,GAAG,MAAiB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,GAAG,MAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAkB,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,GAAG,MAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAC;IACzC,CAAC;IAED,KAAK;QACH,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,IAAI,gBAAgB,CAAI,WAAW,CAAC,CAAC;IAC9C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACV;IAApB,YAAoB,EAAqB;QAArB,OAAE,GAAF,EAAE,CAAmB;IAAG,CAAC;IAE7C,OAAO,CAAc,GAAW;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,IAAI,gBAAgB,CAAI,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,GAAW;QACd,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAI,EAAW;QACxB,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAY,EACZ,OAA0B;IAE1B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Database connection management and utilities
3
3
  */
4
- import Database from 'better-sqlite3';
4
+ import type { DbDriver } from './db-driver.js';
5
5
  import { type DatabaseStats } from './schema.js';
6
6
  /**
7
7
  * Get or create database connection
8
8
  */
9
- export declare function getDatabase(path: string): Database.Database;
9
+ export declare function getDatabase(path: string): DbDriver;
10
10
  /**
11
11
  * Close database connection
12
12
  */
@@ -14,7 +14,7 @@ export declare function closeDatabase(): void;
14
14
  /**
15
15
  * Execute a transaction
16
16
  */
17
- export declare function transaction<T>(db: Database.Database, fn: () => T): T;
17
+ export declare function transaction<T>(db: DbDriver, fn: () => T): T;
18
18
  /**
19
19
  * Serialize metadata to JSON string
20
20
  */
@@ -39,9 +39,9 @@ export interface PruneResult {
39
39
  deleted_count: number;
40
40
  total_pruned: number;
41
41
  }
42
- export declare function pruneMemories(db: Database.Database, olderThanDays?: number, dryRun?: boolean): PruneResult;
42
+ export declare function pruneMemories(db: DbDriver, olderThanDays?: number, dryRun?: boolean): PruneResult;
43
43
  /**
44
44
  * Get database statistics
45
45
  */
46
- export declare function getStats(db: Database.Database): DatabaseStats;
46
+ export declare function getStats(db: DbDriver): DatabaseStats;
47
47
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/database/connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAKrB;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAiC3D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAGpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,GAAE,MAAc,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,aAAa,GAAE,MAAU,EACzB,MAAM,GAAE,OAAe,GACtB,WAAW,CAwEb;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAE7D"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/database/connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAKrB;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAoClD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAG3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,GAAE,MAAc,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,EACZ,aAAa,GAAE,MAAU,EACzB,MAAM,GAAE,OAAe,GACtB,WAAW,CAwEb;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,CAEpD"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Database connection management and utilities
3
3
  */
4
- import Database from 'better-sqlite3';
5
4
  import { existsSync, mkdirSync } from 'fs';
6
5
  import { dirname } from 'path';
6
+ import { createDriverFromEnv } from './driver-factory.js';
7
7
  import { initializeSchema, createViews, optimizeDatabase, getDatabaseStats, } from './schema.js';
8
8
  import { DatabaseError } from '../types/index.js';
9
9
  let dbInstance = null;
@@ -20,9 +20,12 @@ export function getDatabase(path) {
20
20
  if (!existsSync(dir)) {
21
21
  mkdirSync(dir, { recursive: true });
22
22
  }
23
- // Open database
24
- dbInstance = new Database(path, {
25
- verbose: process.env['NODE_ENV'] === 'development' ? () => { } : undefined,
23
+ // Open database using driver factory (respects MEMORY_DB_DRIVER env var)
24
+ dbInstance = createDriverFromEnv({
25
+ path,
26
+ options: {
27
+ verbose: process.env['NODE_ENV'] === 'development' ? () => { } : undefined,
28
+ },
26
29
  });
27
30
  // Initialize schema
28
31
  initializeSchema(dbInstance);
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/database/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/database/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Database driver interface - Abstraction layer for SQLite operations
3
+ *
4
+ * This interface decouples the application from better-sqlite3's concrete types,
5
+ * allowing for alternative implementations (e.g., libsql, better-sqlite3-multiple-ciphers)
6
+ * without changing business logic.
7
+ */
8
+ /**
9
+ * Result returned by .run() operations (INSERT/UPDATE/DELETE)
10
+ */
11
+ export interface RunResult {
12
+ /**
13
+ * Number of rows affected by the operation
14
+ */
15
+ changes: number;
16
+ }
17
+ /**
18
+ * Prepared statement interface - mirrors better-sqlite3's Statement API
19
+ */
20
+ export interface PreparedStatement<T = unknown> {
21
+ /**
22
+ * Execute statement and return run result
23
+ */
24
+ run(...params: unknown[]): RunResult;
25
+ /**
26
+ * Execute statement and return single row (or undefined if no match)
27
+ */
28
+ get(...params: unknown[]): T | undefined;
29
+ /**
30
+ * Execute statement and return all matching rows
31
+ */
32
+ all(...params: unknown[]): T[];
33
+ /**
34
+ * Return a statement that extracts only the first column of each row
35
+ * Used for COUNT queries and scalar selects
36
+ */
37
+ pluck(): PreparedStatement<T>;
38
+ }
39
+ /**
40
+ * Main database driver interface
41
+ */
42
+ export interface DbDriver {
43
+ /**
44
+ * Prepare a SQL statement for execution
45
+ *
46
+ * @param sql SQL statement with ? placeholders
47
+ * @returns Prepared statement object
48
+ */
49
+ prepare<T = unknown>(sql: string): PreparedStatement<T>;
50
+ /**
51
+ * Execute multi-statement SQL (no parameter binding)
52
+ * Used for schema creation, migrations, and DDL operations
53
+ *
54
+ * @param sql Multi-statement SQL string
55
+ */
56
+ exec(sql: string): void;
57
+ /**
58
+ * Set a SQLite PRAGMA
59
+ *
60
+ * @param pragma PRAGMA statement (e.g., "journal_mode = WAL")
61
+ * @returns Pragma value if query pragma, undefined if setting pragma
62
+ */
63
+ pragma(pragma: string): unknown;
64
+ /**
65
+ * Create a transaction function wrapper
66
+ *
67
+ * @param fn Function to execute in transaction
68
+ * @returns Callable transaction function
69
+ */
70
+ transaction<T>(fn: () => T): () => T;
71
+ /**
72
+ * Close the database connection
73
+ */
74
+ close(): void;
75
+ }
76
+ //# sourceMappingURL=db-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-driver.d.ts","sourceRoot":"","sources":["../../src/database/db-driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C;;OAEG;IACH,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAErC;;OAEG;IACH,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAEzC;;OAEG;IACH,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;IAE/B;;;OAGG;IACH,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAExD;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;IAErC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Database driver interface - Abstraction layer for SQLite operations
3
+ *
4
+ * This interface decouples the application from better-sqlite3's concrete types,
5
+ * allowing for alternative implementations (e.g., libsql, better-sqlite3-multiple-ciphers)
6
+ * without changing business logic.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=db-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"db-driver.js","sourceRoot":"","sources":["../../src/database/db-driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Driver Factory - Selects database driver based on environment configuration
3
+ *
4
+ * Supports pluggable database drivers through the DbDriver interface.
5
+ * Selection is controlled by MEMORY_DB_DRIVER environment variable.
6
+ */
7
+ import type { DbDriver } from './db-driver.js';
8
+ import type Database from 'better-sqlite3';
9
+ /**
10
+ * Supported database driver types
11
+ */
12
+ export type DriverType = 'better-sqlite3' | 'sqljs';
13
+ /**
14
+ * Driver configuration options
15
+ */
16
+ export interface DriverConfig {
17
+ /**
18
+ * Database file path (for file-based drivers like better-sqlite3)
19
+ */
20
+ path: string;
21
+ /**
22
+ * Driver-specific options (e.g., better-sqlite3 Database.Options)
23
+ */
24
+ options?: Database.Options;
25
+ }
26
+ /**
27
+ * Create database driver based on type
28
+ *
29
+ * @param type - Driver type ('better-sqlite3' or 'sqljs')
30
+ * @param config - Driver configuration
31
+ * @returns DbDriver instance
32
+ * @throws Error if driver type is unsupported or driver initialization fails
33
+ */
34
+ export declare function createDriver(type: DriverType, config: DriverConfig): DbDriver;
35
+ /**
36
+ * Get driver type from environment variable
37
+ *
38
+ * @returns Driver type from MEMORY_DB_DRIVER env var, defaults to 'better-sqlite3'
39
+ */
40
+ export declare function getDriverTypeFromEnv(): DriverType;
41
+ /**
42
+ * Create database driver from environment configuration
43
+ *
44
+ * Convenience function that reads MEMORY_DB_DRIVER from environment
45
+ * and creates the appropriate driver instance.
46
+ *
47
+ * @param config - Driver configuration
48
+ * @returns DbDriver instance
49
+ */
50
+ export declare function createDriverFromEnv(config: DriverConfig): DbDriver;
51
+ //# sourceMappingURL=driver-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-factory.d.ts","sourceRoot":"","sources":["../../src/database/driver-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,QAAQ,CAgB7E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,CAoBjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAMlE"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Driver Factory - Selects database driver based on environment configuration
3
+ *
4
+ * Supports pluggable database drivers through the DbDriver interface.
5
+ * Selection is controlled by MEMORY_DB_DRIVER environment variable.
6
+ */
7
+ import { createBetterSqlite3Driver } from './better-sqlite3-driver.js';
8
+ import { createSqlJsDriver } from './sqljs-driver.js';
9
+ /**
10
+ * Create database driver based on type
11
+ *
12
+ * @param type - Driver type ('better-sqlite3' or 'sqljs')
13
+ * @param config - Driver configuration
14
+ * @returns DbDriver instance
15
+ * @throws Error if driver type is unsupported or driver initialization fails
16
+ */
17
+ export function createDriver(type, config) {
18
+ switch (type) {
19
+ case 'better-sqlite3':
20
+ return createBetterSqlite3Driver(config.path, config.options);
21
+ case 'sqljs':
22
+ // SqlJsDriver is a stub - throws informative error
23
+ return createSqlJsDriver();
24
+ default:
25
+ throw new Error(`Unsupported driver type: ${type}\n` +
26
+ 'Supported drivers: better-sqlite3, sqljs\n' +
27
+ 'Set MEMORY_DB_DRIVER environment variable to select driver.');
28
+ }
29
+ }
30
+ /**
31
+ * Get driver type from environment variable
32
+ *
33
+ * @returns Driver type from MEMORY_DB_DRIVER env var, defaults to 'better-sqlite3'
34
+ */
35
+ export function getDriverTypeFromEnv() {
36
+ const envDriver = process.env['MEMORY_DB_DRIVER'];
37
+ if (!envDriver) {
38
+ return 'better-sqlite3'; // Default
39
+ }
40
+ const normalized = envDriver.toLowerCase().trim();
41
+ if (normalized === 'better-sqlite3' || normalized === 'sqljs') {
42
+ return normalized;
43
+ }
44
+ console.error(`[WARN] Unknown MEMORY_DB_DRIVER value: "${envDriver}". ` +
45
+ 'Using default: better-sqlite3. ' +
46
+ 'Valid options: better-sqlite3, sqljs');
47
+ return 'better-sqlite3';
48
+ }
49
+ /**
50
+ * Create database driver from environment configuration
51
+ *
52
+ * Convenience function that reads MEMORY_DB_DRIVER from environment
53
+ * and creates the appropriate driver instance.
54
+ *
55
+ * @param config - Driver configuration
56
+ * @returns DbDriver instance
57
+ */
58
+ export function createDriverFromEnv(config) {
59
+ const driverType = getDriverTypeFromEnv();
60
+ console.error(`[INFO] Using database driver: ${driverType}`);
61
+ return createDriver(driverType, config);
62
+ }
63
+ //# sourceMappingURL=driver-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver-factory.js","sourceRoot":"","sources":["../../src/database/driver-factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAuBtD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,MAAoB;IACjE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB;YACnB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhE,KAAK,OAAO;YACV,mDAAmD;YACnD,OAAO,iBAAiB,EAAE,CAAC;QAE7B;YACE,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,IAAI;gBAClC,4CAA4C;gBAC5C,6DAA6D,CAChE,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,CAAC,UAAU;IACrC,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAElD,IAAI,UAAU,KAAK,gBAAgB,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC9D,OAAO,UAAwB,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,KAAK,CACX,2CAA2C,SAAS,KAAK;QACvD,iCAAiC;QACjC,sCAAsC,CACzC,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAoB;IACtD,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,OAAO,CAAC,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;IAE7D,OAAO,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * Database schema definitions and migrations for Memory MCP
3
3
  */
4
- import type Database from 'better-sqlite3';
4
+ import type { DbDriver } from './db-driver.js';
5
5
  export declare const SCHEMA_VERSION = 3;
6
6
  /**
7
7
  * Initialize database schema
8
8
  */
9
- export declare function initializeSchema(db: Database.Database): void;
9
+ export declare function initializeSchema(db: DbDriver): void;
10
10
  /**
11
11
  * Create optimized views for common queries
12
12
  */
13
- export declare function createViews(db: Database.Database): void;
13
+ export declare function createViews(db: DbDriver): void;
14
14
  /**
15
15
  * Optimize database for performance
16
16
  */
17
- export declare function optimizeDatabase(db: Database.Database): void;
17
+ export declare function optimizeDatabase(db: DbDriver): void;
18
18
  /**
19
19
  * Get database statistics
20
20
  */
@@ -29,5 +29,5 @@ export interface DatabaseStats {
29
29
  memory_avg_importance: number;
30
30
  oldest_memory_age_days: number;
31
31
  }
32
- export declare function getDatabaseStats(db: Database.Database): DatabaseStats;
32
+ export declare function getDatabaseStats(db: DbDriver): DatabaseStats;
33
33
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAqB5D;AAwND;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CA8BvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAU5D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAsCrE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAqBnD;AAwND;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CA8B9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAUnD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,aAAa,CAsC5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,8BAA8B;IAC9B,EAAE,CAAC,IAAI,CAAC;;;;;GAKP,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,cAAc,GAAG,EAAE;SACtB,OAAO,CAAC,kEAAkE,CAAC;SAC3E,KAAK,EAAE;SACP,GAAG,EAAwB,CAAC;IAE/B,IAAI,CAAC,cAAc,IAAI,cAAc,GAAG,cAAc,EAAE,CAAC;QACvD,eAAe,CAAC,EAAE,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,EAAY,EAAE,WAAmB;IACxD,MAAM,UAAU,GAAG;QACjB,8BAA8B;QAC9B,CAAC,EAAY,EAAE,EAAE;YACf,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkEP,CAAC,CAAC;YAEH,mBAAmB;YACnB,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAC9E,CAAC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,CAAC,EAAY,EAAE,EAAE;YACf,6DAA6D;YAC7D,EAAE,CAAC,IAAI,CAAC;;OAEP,CAAC,CAAC;YAEH,iDAAiD;YACjD,EAAE,CAAC,IAAI,CAAC;;OAEP,CAAC,CAAC;YAEH,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,EAGjE,CAAC;YAEH,MAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;YAEjF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,yDAAyD;gBACzD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC7B,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC5D,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBACpD,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACvC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;gBACpD,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,+FAA+F;YAC/F,MAAM,aAAa,GAAG,EAAE;iBACrB,OAAO,CAAC,qDAAqD,CAAC;iBAC9D,KAAK,EAAE;iBACP,GAAG,EAAY,CAAC;YAEnB,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,uBAAuB,aAAa,qCAAqC,CAC1E,CAAC;YACJ,CAAC;YAGD,mBAAmB;YACnB,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAC9E,CAAC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,CAAC,EAAY,EAAE,EAAE;YACf,mEAAmE;YACnE,EAAE,CAAC,IAAI,CAAC;;;;;;;OAOP,CAAC,CAAC;YAEH,4CAA4C;YAC5C,EAAE,CAAC,IAAI,CAAC;;;OAGP,CAAC,CAAC;YAEH,iDAAiD;YACjD,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCP,CAAC,CAAC;YAEH,sDAAsD;YACtD,4DAA4D;YAC5D,4CAA4C;YAE5C,mBAAmB;YACnB,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,CAC9E,CAAC,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,mCAAmC;IACnC,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;gBAClB,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAY;IACtC,2CAA2C;IAC3C,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;GAUP,CAAC,CAAC;IAEH,gCAAgC;IAChC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;GAcP,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,wCAAwC;IACxC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpB,0BAA0B;IAC1B,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,6CAA6C;IAC9E,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,2BAA2B;IAC9D,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa;IAC/C,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,wBAAwB;IAC1D,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC,yBAAyB;AACjE,CAAC;AAiBD,MAAM,UAAU,gBAAgB,CAAC,EAAY;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,MAAM,KAAK,GAAG;QACZ,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAY;QACnF,eAAe,EAAE,EAAE;aAChB,OAAO,CAAC,+FAA+F,CAAC;aACxG,KAAK,EAAE;aACP,GAAG,CAAC,GAAG,CAAW;QACrB,gBAAgB,EAAE,EAAE;aACjB,OAAO,CAAC,oDAAoD,CAAC;aAC7D,KAAK,EAAE;aACP,GAAG,EAAY;QAClB,gBAAgB,EAAE,EAAE;aACjB,OAAO,CAAC,mGAAmG,CAAC;aAC5G,KAAK,EAAE;aACP,GAAG,CAAC,GAAG,CAAW;QACrB,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAY;QACnF,wBAAwB,EAAE,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAY;QAC/F,mBAAmB,EAAE,EAAE;aACpB,OAAO,CAAC,oFAAoF,CAAC;aAC7F,KAAK,EAAE;aACP,GAAG,EAAY;QAClB,qBAAqB,EAClB,EAAE;aACA,OAAO,CAAC,2DAA2D,CAAC;aACpE,KAAK,EAAE;aACP,GAAG,EAAa,IAAI,CAAC;QAC1B,sBAAsB,EAAE,CAAC,GAAG,EAAE;YAC5B,MAAM,MAAM,GAAG,EAAE;iBACd,OAAO,CAAC,2DAA2D,CAAC;iBACpE,KAAK,EAAE;iBACP,GAAG,EAAmB,CAAC;YAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,EAAE;KACL,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SqlJsDriver - Stub adapter for sql.js (NOT YET FUNCTIONAL)
3
+ *
4
+ * This is a placeholder implementation to demonstrate the pluggable driver architecture.
5
+ * sql.js is an in-memory SQLite implementation compiled to WebAssembly, useful for:
6
+ * - Browser environments
7
+ * - Serverless functions with ephemeral filesystems
8
+ * - Testing with isolated in-memory databases
9
+ *
10
+ * TODO: Implement actual sql.js integration when needed
11
+ * - Install sql.js: npm install sql.js
12
+ * - Handle async initialization (sql.js Database constructor is async)
13
+ * - Map sql.js Statement API to PreparedStatement interface
14
+ * - Handle parameter binding differences
15
+ * - Implement transaction support
16
+ */
17
+ import type { DbDriver, PreparedStatement } from './db-driver.js';
18
+ /**
19
+ * Stub adapter for sql.js Database
20
+ * All methods throw NotImplementedError
21
+ *
22
+ * When implementing:
23
+ * 1. Install sql.js: npm install sql.js
24
+ * 2. Import: import initSqlJs from 'sql.js'
25
+ * 3. Initialize async: const SQL = await initSqlJs()
26
+ * 4. Create database: const db = new SQL.Database()
27
+ * 5. Wrap sql.js Statement API to match PreparedStatement interface
28
+ * 6. Handle exec() for multi-statement SQL
29
+ * 7. Implement pragma() using PRAGMA statements
30
+ * 8. Wrap transactions (sql.js doesn't have explicit transaction API)
31
+ */
32
+ export declare class SqlJsDriver implements DbDriver {
33
+ /**
34
+ * Placeholder constructor
35
+ * Real implementation would accept sql.js Database instance
36
+ */
37
+ constructor();
38
+ prepare<T = unknown>(sql: string): PreparedStatement<T>;
39
+ exec(_sql: string): void;
40
+ pragma(_pragma: string): unknown;
41
+ transaction<T>(_fn: () => T): () => T;
42
+ close(): void;
43
+ }
44
+ /**
45
+ * Stub factory function for SqlJsDriver
46
+ *
47
+ * @throws Error - Always throws, as sql.js is not implemented
48
+ */
49
+ export declare function createSqlJsDriver(): SqlJsDriver;
50
+ //# sourceMappingURL=sqljs-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqljs-driver.d.ts","sourceRoot":"","sources":["../../src/database/sqljs-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAa,MAAM,gBAAgB,CAAC;AAsC7E;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,YAAW,QAAQ;IAC1C;;;OAGG;;IAKH,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAKvD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQhC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAQrC,KAAK,IAAI,IAAI;CAOd;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAc/C"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * SqlJsDriver - Stub adapter for sql.js (NOT YET FUNCTIONAL)
3
+ *
4
+ * This is a placeholder implementation to demonstrate the pluggable driver architecture.
5
+ * sql.js is an in-memory SQLite implementation compiled to WebAssembly, useful for:
6
+ * - Browser environments
7
+ * - Serverless functions with ephemeral filesystems
8
+ * - Testing with isolated in-memory databases
9
+ *
10
+ * TODO: Implement actual sql.js integration when needed
11
+ * - Install sql.js: npm install sql.js
12
+ * - Handle async initialization (sql.js Database constructor is async)
13
+ * - Map sql.js Statement API to PreparedStatement interface
14
+ * - Handle parameter binding differences
15
+ * - Implement transaction support
16
+ */
17
+ /**
18
+ * Stub PreparedStatement for sql.js
19
+ * All methods throw NotImplementedError
20
+ */
21
+ class SqlJsStatementStub {
22
+ sql;
23
+ constructor(sql) {
24
+ this.sql = sql;
25
+ }
26
+ run(..._params) {
27
+ throw new Error(`SqlJsDriver.run() not implemented. SQL: ${this.sql}\n` +
28
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.');
29
+ }
30
+ get(..._params) {
31
+ throw new Error(`SqlJsDriver.get() not implemented. SQL: ${this.sql}\n` +
32
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.');
33
+ }
34
+ all(..._params) {
35
+ throw new Error(`SqlJsDriver.all() not implemented. SQL: ${this.sql}\n` +
36
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.');
37
+ }
38
+ pluck() {
39
+ throw new Error(`SqlJsDriver.pluck() not implemented. SQL: ${this.sql}\n` +
40
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.');
41
+ }
42
+ }
43
+ /**
44
+ * Stub adapter for sql.js Database
45
+ * All methods throw NotImplementedError
46
+ *
47
+ * When implementing:
48
+ * 1. Install sql.js: npm install sql.js
49
+ * 2. Import: import initSqlJs from 'sql.js'
50
+ * 3. Initialize async: const SQL = await initSqlJs()
51
+ * 4. Create database: const db = new SQL.Database()
52
+ * 5. Wrap sql.js Statement API to match PreparedStatement interface
53
+ * 6. Handle exec() for multi-statement SQL
54
+ * 7. Implement pragma() using PRAGMA statements
55
+ * 8. Wrap transactions (sql.js doesn't have explicit transaction API)
56
+ */
57
+ export class SqlJsDriver {
58
+ /**
59
+ * Placeholder constructor
60
+ * Real implementation would accept sql.js Database instance
61
+ */
62
+ constructor() {
63
+ // When implementing, accept sql.js Database instance as parameter
64
+ }
65
+ prepare(sql) {
66
+ // Stub: return throwing statement wrapper
67
+ return new SqlJsStatementStub(sql);
68
+ }
69
+ exec(_sql) {
70
+ throw new Error('SqlJsDriver.exec() not implemented.\n' +
71
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.\n' +
72
+ 'sql.js supports exec() for multi-statement SQL.');
73
+ }
74
+ pragma(_pragma) {
75
+ throw new Error('SqlJsDriver.pragma() not implemented.\n' +
76
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.\n' +
77
+ 'sql.js supports PRAGMA statements via exec() or run().');
78
+ }
79
+ transaction(_fn) {
80
+ throw new Error('SqlJsDriver.transaction() not implemented.\n' +
81
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.\n' +
82
+ 'sql.js transactions can be implemented using BEGIN/COMMIT/ROLLBACK statements.');
83
+ }
84
+ close() {
85
+ throw new Error('SqlJsDriver.close() not implemented.\n' +
86
+ 'To use sql.js driver, implement SqlJsDriver according to sql.js API documentation.\n' +
87
+ 'sql.js Database has a close() method to free memory.');
88
+ }
89
+ }
90
+ /**
91
+ * Stub factory function for SqlJsDriver
92
+ *
93
+ * @throws Error - Always throws, as sql.js is not implemented
94
+ */
95
+ export function createSqlJsDriver() {
96
+ throw new Error('createSqlJsDriver() not implemented.\n' +
97
+ 'To use sql.js driver:\n' +
98
+ '1. Install: npm install sql.js\n' +
99
+ '2. Initialize: const SQL = await initSqlJs()\n' +
100
+ '3. Create DB: const db = new SQL.Database()\n' +
101
+ '4. Wrap in SqlJsDriver: return new SqlJsDriver(db)\n\n' +
102
+ 'sql.js is useful for:\n' +
103
+ '- Browser environments\n' +
104
+ '- Serverless functions\n' +
105
+ '- In-memory testing\n\n' +
106
+ 'For now, use MEMORY_DB_DRIVER=better-sqlite3 (default)');
107
+ }
108
+ //# sourceMappingURL=sqljs-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqljs-driver.js","sourceRoot":"","sources":["../../src/database/sqljs-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;GAGG;AACH,MAAM,kBAAkB;IACF;IAApB,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEnC,GAAG,CAAC,GAAG,OAAkB;QACvB,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,GAAG,IAAI;YACrD,oFAAoF,CACvF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,GAAG,OAAkB;QACvB,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,GAAG,IAAI;YACrD,oFAAoF,CACvF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,GAAG,OAAkB;QACvB,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,GAAG,IAAI;YACrD,oFAAoF,CACvF,CAAC;IACJ,CAAC;IAED,KAAK;QACH,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,CAAC,GAAG,IAAI;YACvD,oFAAoF,CACvF,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,WAAW;IACtB;;;OAGG;IACH;QACE,kEAAkE;IACpE,CAAC;IAED,OAAO,CAAc,GAAW;QAC9B,0CAA0C;QAC1C,OAAO,IAAI,kBAAkB,CAAI,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,IAAY;QACf,MAAM,IAAI,KAAK,CACb,uCAAuC;YACrC,sFAAsF;YACtF,iDAAiD,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAe;QACpB,MAAM,IAAI,KAAK,CACb,yCAAyC;YACvC,sFAAsF;YACtF,wDAAwD,CAC3D,CAAC;IACJ,CAAC;IAED,WAAW,CAAI,GAAY;QACzB,MAAM,IAAI,KAAK,CACb,8CAA8C;YAC5C,sFAAsF;YACtF,gFAAgF,CACnF,CAAC;IACJ,CAAC;IAED,KAAK;QACH,MAAM,IAAI,KAAK,CACb,wCAAwC;YACtC,sFAAsF;YACtF,sDAAsD,CACzD,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,KAAK,CACb,wCAAwC;QACtC,yBAAyB;QACzB,kCAAkC;QAClC,gDAAgD;QAChD,+CAA+C;QAC/C,wDAAwD;QACxD,yBAAyB;QACzB,0BAA0B;QAC1B,0BAA0B;QAC1B,yBAAyB;QACzB,wDAAwD,CAC3D,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -16,13 +16,14 @@ import { memoryForget } from './tools/memory-forget.js';
16
16
  const config = {
17
17
  databasePath: process.env['MEMORY_DB_PATH'] || './memory.db',
18
18
  defaultTTLDays: parseInt(process.env['DEFAULT_TTL_DAYS'] || '90'),
19
+ databaseDriver: process.env['MEMORY_DB_DRIVER'] || 'better-sqlite3',
19
20
  };
20
21
  /**
21
22
  * Initialize MCP server
22
23
  */
23
24
  const server = new Server({
24
25
  name: '@whenmoon-afk/memory-mcp',
25
- version: '2.1.1',
26
+ version: '2.2.0',
26
27
  }, {
27
28
  capabilities: {
28
29
  tools: {},
@@ -202,6 +203,7 @@ async function main() {
202
203
  // Log startup info to stderr (not stdout, which is used for MCP protocol)
203
204
  console.error('Memory MCP v2.0 server started');
204
205
  console.error(`Database: ${config.databasePath}`);
206
+ console.error(`Driver: ${config.databaseDriver}`);
205
207
  }
206
208
  catch (error) {
207
209
  console.error('Failed to start server:', error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
  * Full-text search implementation using SQLite FTS5
3
3
  * Replaces vector embeddings with lightweight keyword/phrase matching
4
4
  */
5
- import type Database from 'better-sqlite3';
5
+ import type { DbDriver } from '../database/db-driver.js';
6
6
  import type { MemorySearchResult, SearchOptionsInternal } from '../types/index.js';
7
7
  /**
8
8
  * Perform full-text search on memories using FTS5
9
9
  * Returns: { results: MemorySearchResult[], totalCount: number }
10
10
  */
11
- export declare function semanticSearch(db: Database.Database, options: SearchOptionsInternal): {
11
+ export declare function semanticSearch(db: DbDriver, options: SearchOptionsInternal): {
12
12
  results: MemorySearchResult[];
13
13
  totalCount: number;
14
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-search.d.ts","sourceRoot":"","sources":["../../src/search/semantic-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAEV,kBAAkB,EAClB,qBAAqB,EAKtB,MAAM,mBAAmB,CAAC;AA2B3B;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,qBAAqB,GAC7B;IAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmDvD"}
1
+ {"version":3,"file":"semantic-search.d.ts","sourceRoot":"","sources":["../../src/search/semantic-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAEV,kBAAkB,EAClB,qBAAqB,EAKtB,MAAM,mBAAmB,CAAC;AA2B3B;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,qBAAqB,GAC7B;IAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmDvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../src/search/semantic-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-search.js","sourceRoot":"","sources":["../../src/search/semantic-search.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Memory forget tool - Soft delete memories
3
3
  */
4
- import type Database from 'better-sqlite3';
4
+ import type { DbDriver } from '../database/db-driver.js';
5
5
  import type { ForgetResponse } from '../types/index.js';
6
6
  /**
7
7
  * Forget (soft delete) a memory
8
8
  */
9
- export declare function memoryForget(db: Database.Database, id: string, reason?: string): Promise<ForgetResponse>;
9
+ export declare function memoryForget(db: DbDriver, id: string, reason?: string): Promise<ForgetResponse>;
10
10
  //# sourceMappingURL=memory-forget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-forget.d.ts","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;GAEG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC,CAwCzB"}
1
+ {"version":3,"file":"memory-forget.d.ts","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;GAEG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC,CAwCzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAqB,EACrB,EAAU,EACV,MAAe;IAEf,yBAAyB;IACzB,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,yDAAyD,CAAC;SAClE,GAAG,CAAC,EAAE,CAA+B,CAAC;IAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;IACzE,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC;IAC1B,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEtE,2BAA2B;IAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,EAAE,CAAC,OAAO,CACR;;;;GAID,CACA,CAAC,GAAG,CACH,YAAY,EACZ,EAAE,EACF,QAAQ,EACR,WAAW,EACX,MAAM,EACN,MAAM,IAAI,yBAAyB,EACnC,IAAI,EACJ,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,6CAA6C,MAAM,IAAI,eAAe,EAAE;KAClF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAY,EACZ,EAAU,EACV,MAAe;IAEf,yBAAyB;IACzB,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,yDAAyD,CAAC;SAClE,GAAG,CAAC,EAAE,CAA+B,CAAC;IAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,UAAU,EAAE,+BAA+B,CAAC,CAAC;IACzE,CAAC;IAED,gCAAgC;IAChC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC;IAC1B,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEtE,2BAA2B;IAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxC,EAAE,CAAC,OAAO,CACR;;;;GAID,CACA,CAAC,GAAG,CACH,YAAY,EACZ,EAAE,EACF,QAAQ,EACR,WAAW,EACX,MAAM,EACN,MAAM,IAAI,yBAAyB,EACnC,IAAI,EACJ,iBAAiB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,6CAA6C,MAAM,IAAI,eAAe,EAAE;KAClF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -2,11 +2,11 @@
2
2
  * Memory recall tool - Token-aware semantic search
3
3
  * v3.0: Dual-response pattern (index + details) for skill-like progressive loading
4
4
  */
5
- import type Database from 'better-sqlite3';
5
+ import type { DbDriver } from '../database/db-driver.js';
6
6
  import type { SearchOptions, RecallResponse } from '../types/index.js';
7
7
  /**
8
8
  * Recall memories using semantic search with intelligent token budgeting
9
9
  * Returns: index (all matches as summaries) + details (top matches with full content)
10
10
  */
11
- export declare function memoryRecall(db: Database.Database, options: SearchOptions): Promise<RecallResponse>;
11
+ export declare function memoryRecall(db: DbDriver, options: SearchOptions): Promise<RecallResponse>;
12
12
  //# sourceMappingURL=memory-recall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-recall.d.ts","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,aAAa,EAEb,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAwGzB"}
1
+ {"version":3,"file":"memory-recall.d.ts","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EACV,aAAa,EAEb,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAM3B;;;GAGG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAwGzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@
2
2
  * Memory store tool - Store or update memories with auto-extraction
3
3
  * v2.0: Merged create + update functionality with summary generation
4
4
  */
5
- import type Database from 'better-sqlite3';
5
+ import type { DbDriver } from '../database/db-driver.js';
6
6
  import type { MemoryInput, StandardMemory } from '../types/index.js';
7
7
  /**
8
8
  * Store or update a memory
9
9
  * If input.id is provided, updates existing memory
10
10
  * If input.id is not provided, creates new memory
11
11
  */
12
- export declare function memoryStore(db: Database.Database, input: MemoryInput): Promise<StandardMemory>;
12
+ export declare function memoryStore(db: DbDriver, input: MemoryInput): Promise<StandardMemory>;
13
13
  //# sourceMappingURL=memory-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8CrF;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,cAAc,CAAC,CASzB"}
1
+ {"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAkB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8CrF;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,cAAc,CAAC,CASzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"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"}
package/install.js CHANGED
@@ -13,6 +13,25 @@ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
13
13
  const __filename = fileURLToPath(import.meta.url);
14
14
  const __dirname = dirname(__filename);
15
15
 
16
+ /**
17
+ * Get platform-specific database path
18
+ */
19
+ function getDbPath() {
20
+ const plat = platform();
21
+
22
+ switch (plat) {
23
+ case 'darwin': // macOS
24
+ return join(homedir(), '.claude-memories', 'memory.db');
25
+
26
+ case 'win32': // Windows
27
+ return join(process.env.APPDATA || join(homedir(), 'AppData', 'Roaming'), 'claude-memories', 'memory.db');
28
+
29
+ default: // Linux and others
30
+ const dataHome = process.env.XDG_DATA_HOME || join(homedir(), '.local', 'share');
31
+ return join(dataHome, 'claude-memories', 'memory.db');
32
+ }
33
+ }
34
+
16
35
  /**
17
36
  * Get Claude Desktop config path based on platform
18
37
  */
@@ -35,15 +54,18 @@ function getClaudeConfigPath() {
35
54
  /**
36
55
  * Get platform-specific MCP server configuration
37
56
  */
38
- function getMcpServerConfig() {
57
+ function getMcpServerConfig(dbPath) {
39
58
  // Get the absolute path to the installed package
40
- const packageRoot = dirname(__dirname);
41
- const serverPath = join(packageRoot, 'dist', 'index.js');
59
+ // __dirname is already the package root (e.g., .../node_modules/@whenmoon-afk/memory-mcp/)
60
+ const serverPath = join(__dirname, 'dist', 'index.js');
42
61
 
43
62
  // All platforms use node directly with the server path
44
63
  return {
45
64
  command: 'node',
46
- args: [serverPath]
65
+ args: [serverPath],
66
+ env: {
67
+ MEMORY_DB_PATH: dbPath
68
+ }
47
69
  };
48
70
  }
49
71
 
@@ -56,6 +78,25 @@ function install() {
56
78
  const configPath = getClaudeConfigPath();
57
79
  const configDir = dirname(configPath);
58
80
 
81
+ const dbPath = getDbPath();
82
+ const dbDir = dirname(dbPath);
83
+
84
+ // Show paths to user
85
+ console.log('šŸ“ Paths:');
86
+ console.log(` Config: ${configPath}`);
87
+ console.log(` Database: ${dbPath}\n`);
88
+
89
+ // Ensure database directory exists
90
+ if (!existsSync(dbDir)) {
91
+ console.log(`šŸ“ Creating database directory: ${dbDir}`);
92
+ try {
93
+ mkdirSync(dbDir, { recursive: true });
94
+ } catch (error) {
95
+ console.error(`āŒ Failed to create database directory: ${error.message}`);
96
+ process.exit(1);
97
+ }
98
+ }
99
+
59
100
  // Ensure config directory exists
60
101
  if (!existsSync(configDir)) {
61
102
  console.log(`šŸ“ Creating config directory: ${configDir}`);
@@ -100,7 +141,7 @@ function install() {
100
141
  }
101
142
 
102
143
  // Add or update memory server configuration
103
- const serverConfig = getMcpServerConfig();
144
+ const serverConfig = getMcpServerConfig(dbPath);
104
145
  const serverExists = config.mcpServers.memory !== undefined;
105
146
 
106
147
  config.mcpServers.memory = serverConfig;
@@ -127,8 +168,9 @@ function install() {
127
168
  console.log('2. The memory server will be available automatically');
128
169
  console.log('3. Try asking Claude to "store a memory" or "recall memories about..."');
129
170
 
130
- console.log('\nšŸ“ Configuration Location:');
131
- console.log(` ${configPath}`);
171
+ console.log('\nšŸ“ Configuration Locations:');
172
+ console.log(` Claude config: ${configPath}`);
173
+ console.log(` Memory database: ${dbPath}`);
132
174
 
133
175
  console.log('\n✨ Installation complete! Enjoy your persistent AI memory!\n');
134
176
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whenmoon-afk/memory-mcp",
3
- "version": "2.1.1",
3
+ "version": "2.2.0",
4
4
  "description": "Brain-inspired memory for AI agents - MCP server",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -14,6 +14,7 @@
14
14
  "LICENSE"
15
15
  ],
16
16
  "scripts": {
17
+ "start": "node dist/index.js",
17
18
  "dev": "tsx watch src/index.ts",
18
19
  "build": "tsc",
19
20
  "prepare": "npm run build",