claude-session-continuity-mcp 1.17.0 → 1.17.1

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
@@ -1,6 +1,6 @@
1
1
  # claude-session-continuity-mcp
2
2
 
3
- > **Never re-explain your project to your AI coding agent again.** 100% local session memory for **Claude Code & OpenAI Codex CLI** — auto context injection, semantic search, and error→solution recall. Zero config, zero API cost.
3
+ > **Never re-explain your project to your AI coding agent again.** 100% local session memory for **Claude Code, OpenAI Codex CLI & Google Gemini CLI** — auto context injection, semantic search, and error→solution recall. Zero config, zero API cost.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/claude-session-continuity-mcp.svg)](https://www.npmjs.com/package/claude-session-continuity-mcp)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/claude-session-continuity-mcp.svg)](https://www.npmjs.com/package/claude-session-continuity-mcp)
@@ -26,7 +26,7 @@ Every new Claude Code session:
26
26
 
27
27
  ## The Solution
28
28
 
29
- **Fully automatic.** Lifecycle hooks handle everything without manual calls — on **Claude Code** and **OpenAI Codex CLI**, sharing one local memory so context carries across both:
29
+ **Fully automatic.** Lifecycle hooks handle everything without manual calls — on **Claude Code**, **OpenAI Codex CLI**, and **Google Gemini CLI**, sharing one local memory so context carries across all three:
30
30
 
31
31
  ```bash
32
32
  # Session start → Auto-loads relevant context + recent session history
@@ -90,7 +90,7 @@ There's also a great class of **local search** tools (e.g. [ctx](https://github.
90
90
  | **How you use it** | **Automatic** — context appears on session start, no command | You (or the agent) run a search query |
91
91
  | **Compaction** | **PreCompact hook re-injects a handover** → 0 context re-explained after a compact | Not its job (it's a search index) |
92
92
  | **Best at** | *Never losing your thread* across sessions & compacts, hands-off | *Finding* a specific past decision/command on demand |
93
- | **Coverage** | Claude Code + Codex CLI (where auto-injection is possible) | Often 30+ agents indexed for search |
93
+ | **Coverage** | Claude Code + Codex CLI + Gemini CLI (where auto-injection is possible) | Often 30+ agents indexed for search |
94
94
 
95
95
  Use search when you want to *look something up*. Use this when you want your context to *follow you* without asking.
96
96
 
@@ -136,6 +136,12 @@ not this tool. Session continuity still works via the saved history.
136
136
 
137
137
  ## Quick Start
138
138
 
139
+ > **Requires Node.js 22+.** The native `better-sqlite3` dependency only ships
140
+ > prebuilt binaries for Node 22, 24, and 26 (the currently supported lines —
141
+ > Node 18 and 20 are both end-of-life). On older Node it falls back to compiling
142
+ > from source, which fails without build tools. Node 22 and up install cleanly
143
+ > with no compiler needed.
144
+
139
145
  ### Recommended: Global Installation
140
146
 
141
147
  ```bash
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/index.js CHANGED
File without changes
package/dist/schemas.d.ts CHANGED
@@ -21,15 +21,15 @@ export declare const ContextUpdateSchema: z.ZodObject<{
21
21
  project: string;
22
22
  currentState: string;
23
23
  verification?: "passed" | "failed" | undefined;
24
- recentFiles?: string[] | undefined;
25
24
  blockers?: string | undefined;
25
+ recentFiles?: string[] | undefined;
26
26
  architectureDecision?: string | undefined;
27
27
  }, {
28
28
  project: string;
29
29
  currentState: string;
30
30
  verification?: "passed" | "failed" | undefined;
31
- recentFiles?: string[] | undefined;
32
31
  blockers?: string | undefined;
32
+ recentFiles?: string[] | undefined;
33
33
  architectureDecision?: string | undefined;
34
34
  }>;
35
35
  export declare const MemoryStoreSchema: z.ZodObject<{
@@ -40,15 +40,15 @@ export declare const MemoryStoreSchema: z.ZodObject<{
40
40
  importance: z.ZodDefault<z.ZodNumber>;
41
41
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
42
  }, "strip", z.ZodTypeAny, {
43
- type: "error" | "observation" | "decision" | "learning" | "pattern" | "preference";
44
43
  content: string;
44
+ type: "pattern" | "observation" | "decision" | "learning" | "error" | "preference";
45
45
  importance: number;
46
46
  project?: string | undefined;
47
47
  tags?: string[] | undefined;
48
48
  metadata?: Record<string, unknown> | undefined;
49
49
  }, {
50
- type: "error" | "observation" | "decision" | "learning" | "pattern" | "preference";
51
50
  content: string;
51
+ type: "pattern" | "observation" | "decision" | "learning" | "error" | "preference";
52
52
  project?: string | undefined;
53
53
  tags?: string[] | undefined;
54
54
  importance?: number | undefined;
@@ -63,20 +63,20 @@ export declare const MemorySearchSchema: z.ZodObject<{
63
63
  minImportance: z.ZodDefault<z.ZodNumber>;
64
64
  detail: z.ZodDefault<z.ZodBoolean>;
65
65
  }, "strip", z.ZodTypeAny, {
66
- limit: number;
67
66
  query: string;
68
- minImportance: number;
67
+ limit: number;
69
68
  semantic: boolean;
69
+ minImportance: number;
70
70
  detail: boolean;
71
71
  project?: string | undefined;
72
- type?: "error" | "observation" | "decision" | "learning" | "pattern" | "preference" | undefined;
72
+ type?: "pattern" | "observation" | "decision" | "learning" | "error" | "preference" | undefined;
73
73
  }, {
74
74
  query: string;
75
75
  project?: string | undefined;
76
- type?: "error" | "observation" | "decision" | "learning" | "pattern" | "preference" | undefined;
77
76
  limit?: number | undefined;
78
- minImportance?: number | undefined;
79
77
  semantic?: boolean | undefined;
78
+ type?: "pattern" | "observation" | "decision" | "learning" | "error" | "preference" | undefined;
79
+ minImportance?: number | undefined;
80
80
  detail?: boolean | undefined;
81
81
  }>;
82
82
  export declare const MemoryGetSchema: z.ZodObject<{
@@ -103,30 +103,30 @@ export declare const TaskManageSchema: z.ZodObject<{
103
103
  status: z.ZodOptional<z.ZodEnum<["pending", "in_progress", "done", "blocked"]>>;
104
104
  }, "strip", z.ZodTypeAny, {
105
105
  project: string;
106
- action: "update" | "list" | "add" | "complete";
107
- title?: string | undefined;
108
- status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
106
+ action: "update" | "add" | "list" | "complete";
109
107
  description?: string | undefined;
108
+ title?: string | undefined;
110
109
  taskId?: number | undefined;
111
110
  priority?: number | undefined;
111
+ status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
112
112
  }, {
113
113
  project: string;
114
- action: "update" | "list" | "add" | "complete";
115
- title?: string | undefined;
116
- status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
114
+ action: "update" | "add" | "list" | "complete";
117
115
  description?: string | undefined;
116
+ title?: string | undefined;
118
117
  taskId?: number | undefined;
119
118
  priority?: number | undefined;
119
+ status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
120
120
  }>;
121
121
  export declare const VerifySchema: z.ZodObject<{
122
122
  project: z.ZodString;
123
123
  gates: z.ZodDefault<z.ZodArray<z.ZodEnum<["build", "test", "lint"]>, "many">>;
124
124
  }, "strip", z.ZodTypeAny, {
125
125
  project: string;
126
- gates: ("build" | "test" | "lint")[];
126
+ gates: ("test" | "build" | "lint")[];
127
127
  }, {
128
128
  project: string;
129
- gates?: ("build" | "test" | "lint")[] | undefined;
129
+ gates?: ("test" | "build" | "lint")[] | undefined;
130
130
  }>;
131
131
  export declare const LearnSchema: z.ZodObject<{
132
132
  project: z.ZodString;
@@ -145,32 +145,32 @@ export declare const LearnSchema: z.ZodObject<{
145
145
  toVersion: z.ZodOptional<z.ZodString>;
146
146
  }, "strip", z.ZodTypeAny, {
147
147
  project: string;
148
- type: "decision" | "pattern" | "dependency" | "fix";
149
148
  content: string;
149
+ type: "fix" | "pattern" | "decision" | "dependency";
150
+ solution?: string | undefined;
151
+ action?: "remove" | "add" | "upgrade" | "downgrade" | undefined;
152
+ dependency?: string | undefined;
150
153
  reason?: string | undefined;
151
- alternatives?: string[] | undefined;
152
154
  files?: string[] | undefined;
153
- solution?: string | undefined;
155
+ alternatives?: string[] | undefined;
154
156
  preventionTip?: string | undefined;
155
157
  example?: string | undefined;
156
158
  appliesTo?: string | undefined;
157
- dependency?: string | undefined;
158
- action?: "add" | "remove" | "upgrade" | "downgrade" | undefined;
159
159
  fromVersion?: string | undefined;
160
160
  toVersion?: string | undefined;
161
161
  }, {
162
162
  project: string;
163
- type: "decision" | "pattern" | "dependency" | "fix";
164
163
  content: string;
164
+ type: "fix" | "pattern" | "decision" | "dependency";
165
+ solution?: string | undefined;
166
+ action?: "remove" | "add" | "upgrade" | "downgrade" | undefined;
167
+ dependency?: string | undefined;
165
168
  reason?: string | undefined;
166
- alternatives?: string[] | undefined;
167
169
  files?: string[] | undefined;
168
- solution?: string | undefined;
170
+ alternatives?: string[] | undefined;
169
171
  preventionTip?: string | undefined;
170
172
  example?: string | undefined;
171
173
  appliesTo?: string | undefined;
172
- dependency?: string | undefined;
173
- action?: "add" | "remove" | "upgrade" | "downgrade" | undefined;
174
174
  fromVersion?: string | undefined;
175
175
  toVersion?: string | undefined;
176
176
  }>;
@@ -210,15 +210,15 @@ export declare const ToolSchemas: {
210
210
  project: string;
211
211
  currentState: string;
212
212
  verification?: "passed" | "failed" | undefined;
213
- recentFiles?: string[] | undefined;
214
213
  blockers?: string | undefined;
214
+ recentFiles?: string[] | undefined;
215
215
  architectureDecision?: string | undefined;
216
216
  }, {
217
217
  project: string;
218
218
  currentState: string;
219
219
  verification?: "passed" | "failed" | undefined;
220
- recentFiles?: string[] | undefined;
221
220
  blockers?: string | undefined;
221
+ recentFiles?: string[] | undefined;
222
222
  architectureDecision?: string | undefined;
223
223
  }>;
224
224
  readonly memory_store: z.ZodObject<{
@@ -229,15 +229,15 @@ export declare const ToolSchemas: {
229
229
  importance: z.ZodDefault<z.ZodNumber>;
230
230
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
231
231
  }, "strip", z.ZodTypeAny, {
232
- type: "error" | "observation" | "decision" | "learning" | "pattern" | "preference";
233
232
  content: string;
233
+ type: "pattern" | "observation" | "decision" | "learning" | "error" | "preference";
234
234
  importance: number;
235
235
  project?: string | undefined;
236
236
  tags?: string[] | undefined;
237
237
  metadata?: Record<string, unknown> | undefined;
238
238
  }, {
239
- type: "error" | "observation" | "decision" | "learning" | "pattern" | "preference";
240
239
  content: string;
240
+ type: "pattern" | "observation" | "decision" | "learning" | "error" | "preference";
241
241
  project?: string | undefined;
242
242
  tags?: string[] | undefined;
243
243
  importance?: number | undefined;
@@ -252,20 +252,20 @@ export declare const ToolSchemas: {
252
252
  minImportance: z.ZodDefault<z.ZodNumber>;
253
253
  detail: z.ZodDefault<z.ZodBoolean>;
254
254
  }, "strip", z.ZodTypeAny, {
255
- limit: number;
256
255
  query: string;
257
- minImportance: number;
256
+ limit: number;
258
257
  semantic: boolean;
258
+ minImportance: number;
259
259
  detail: boolean;
260
260
  project?: string | undefined;
261
- type?: "error" | "observation" | "decision" | "learning" | "pattern" | "preference" | undefined;
261
+ type?: "pattern" | "observation" | "decision" | "learning" | "error" | "preference" | undefined;
262
262
  }, {
263
263
  query: string;
264
264
  project?: string | undefined;
265
- type?: "error" | "observation" | "decision" | "learning" | "pattern" | "preference" | undefined;
266
265
  limit?: number | undefined;
267
- minImportance?: number | undefined;
268
266
  semantic?: boolean | undefined;
267
+ type?: "pattern" | "observation" | "decision" | "learning" | "error" | "preference" | undefined;
268
+ minImportance?: number | undefined;
269
269
  detail?: boolean | undefined;
270
270
  }>;
271
271
  readonly memory_get: z.ZodObject<{
@@ -293,30 +293,30 @@ export declare const ToolSchemas: {
293
293
  status: z.ZodOptional<z.ZodEnum<["pending", "in_progress", "done", "blocked"]>>;
294
294
  }, "strip", z.ZodTypeAny, {
295
295
  project: string;
296
- action: "update" | "list" | "add" | "complete";
297
- title?: string | undefined;
298
- status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
296
+ action: "update" | "add" | "list" | "complete";
299
297
  description?: string | undefined;
298
+ title?: string | undefined;
300
299
  taskId?: number | undefined;
301
300
  priority?: number | undefined;
301
+ status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
302
302
  }, {
303
303
  project: string;
304
- action: "update" | "list" | "add" | "complete";
305
- title?: string | undefined;
306
- status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
304
+ action: "update" | "add" | "list" | "complete";
307
305
  description?: string | undefined;
306
+ title?: string | undefined;
308
307
  taskId?: number | undefined;
309
308
  priority?: number | undefined;
309
+ status?: "pending" | "in_progress" | "done" | "blocked" | undefined;
310
310
  }>;
311
311
  readonly verify: z.ZodObject<{
312
312
  project: z.ZodString;
313
313
  gates: z.ZodDefault<z.ZodArray<z.ZodEnum<["build", "test", "lint"]>, "many">>;
314
314
  }, "strip", z.ZodTypeAny, {
315
315
  project: string;
316
- gates: ("build" | "test" | "lint")[];
316
+ gates: ("test" | "build" | "lint")[];
317
317
  }, {
318
318
  project: string;
319
- gates?: ("build" | "test" | "lint")[] | undefined;
319
+ gates?: ("test" | "build" | "lint")[] | undefined;
320
320
  }>;
321
321
  readonly learn: z.ZodObject<{
322
322
  project: z.ZodString;
@@ -335,32 +335,32 @@ export declare const ToolSchemas: {
335
335
  toVersion: z.ZodOptional<z.ZodString>;
336
336
  }, "strip", z.ZodTypeAny, {
337
337
  project: string;
338
- type: "decision" | "pattern" | "dependency" | "fix";
339
338
  content: string;
339
+ type: "fix" | "pattern" | "decision" | "dependency";
340
+ solution?: string | undefined;
341
+ action?: "remove" | "add" | "upgrade" | "downgrade" | undefined;
342
+ dependency?: string | undefined;
340
343
  reason?: string | undefined;
341
- alternatives?: string[] | undefined;
342
344
  files?: string[] | undefined;
343
- solution?: string | undefined;
345
+ alternatives?: string[] | undefined;
344
346
  preventionTip?: string | undefined;
345
347
  example?: string | undefined;
346
348
  appliesTo?: string | undefined;
347
- dependency?: string | undefined;
348
- action?: "add" | "remove" | "upgrade" | "downgrade" | undefined;
349
349
  fromVersion?: string | undefined;
350
350
  toVersion?: string | undefined;
351
351
  }, {
352
352
  project: string;
353
- type: "decision" | "pattern" | "dependency" | "fix";
354
353
  content: string;
354
+ type: "fix" | "pattern" | "decision" | "dependency";
355
+ solution?: string | undefined;
356
+ action?: "remove" | "add" | "upgrade" | "downgrade" | undefined;
357
+ dependency?: string | undefined;
355
358
  reason?: string | undefined;
356
- alternatives?: string[] | undefined;
357
359
  files?: string[] | undefined;
358
- solution?: string | undefined;
360
+ alternatives?: string[] | undefined;
359
361
  preventionTip?: string | undefined;
360
362
  example?: string | undefined;
361
363
  appliesTo?: string | undefined;
362
- dependency?: string | undefined;
363
- action?: "add" | "remove" | "upgrade" | "downgrade" | undefined;
364
364
  fromVersion?: string | undefined;
365
365
  toVersion?: string | undefined;
366
366
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-session-continuity-mcp",
3
- "version": "1.17.0",
3
+ "version": "1.17.1",
4
4
  "description": "Session continuity for Claude Code, OpenAI Codex CLI & Google Gemini CLI - never re-explain your project again. 100% local, zero config, auto context injection.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,8 +21,6 @@
21
21
  "test": "vitest run",
22
22
  "test:watch": "vitest",
23
23
  "test:coverage": "vitest run --coverage",
24
- "dashboard": "node dist/dashboard.js",
25
- "dashboard:v2": "node dist/dashboard-v2.js",
26
24
  "postinstall": "node dist/hooks/install.js install 2>/dev/null || true",
27
25
  "prepublishOnly": "npm run build && npm test"
28
26
  },
@@ -62,7 +60,7 @@
62
60
  "LICENSE"
63
61
  ],
64
62
  "engines": {
65
- "node": ">=18.0.0"
63
+ "node": ">=22.0.0"
66
64
  },
67
65
  "dependencies": {
68
66
  "@modelcontextprotocol/sdk": "^1.0.0",
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Project Manager MCP Dashboard v2
4
- * Modern dashboard with:
5
- * - Tailwind-inspired design (CSS-only, no build step)
6
- * - Real-time updates
7
- * - Project timeline view
8
- * - Memory graph visualization
9
- * - Context snapshot viewer
10
- */
11
- export {};