@patravishek/memex 0.2.0 → 0.3.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 +49 -8
- package/dist/cli.js +99 -11
- package/dist/cli.js.map +1 -1
- package/dist/mcp/config.d.ts +32 -0
- package/dist/mcp/config.js +112 -0
- package/dist/mcp/config.js.map +1 -0
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +31 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +2 -0
- package/dist/mcp/tools.js +232 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/memory/compressor.d.ts +7 -0
- package/dist/memory/compressor.js +30 -0
- package/dist/memory/compressor.js.map +1 -1
- package/dist/storage/db.js +19 -0
- package/dist/storage/db.js.map +1 -1
- package/dist/storage/queries.d.ts +13 -0
- package/dist/storage/queries.js +19 -0
- package/dist/storage/queries.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -21,7 +21,11 @@ On exit: AI compresses transcript → .memex/memex.db (SQLite)
|
|
|
21
21
|
↓
|
|
22
22
|
memex resume claude
|
|
23
23
|
↓
|
|
24
|
-
|
|
24
|
+
Short CLAUDE.md hint written + .mcp.json generated
|
|
25
|
+
↓
|
|
26
|
+
Claude starts, auto-connects to `memex serve` (stdio subprocess)
|
|
27
|
+
↓
|
|
28
|
+
Claude calls get_context(), get_gotchas(), save_observation()... on demand
|
|
25
29
|
```
|
|
26
30
|
|
|
27
31
|
Memory is **project-scoped** — tied to the directory you run Memex from. Each project has its own independent SQLite database at `.memex/memex.db`. Session recording uses the macOS built-in `script` command — no native dependencies or compilation required.
|
|
@@ -167,20 +171,23 @@ On exit, you'll see:
|
|
|
167
171
|
|
|
168
172
|
### `memex resume [command]`
|
|
169
173
|
|
|
170
|
-
|
|
174
|
+
Resume with full context automatically restored. By default Memex uses **MCP mode** for Claude: a short hint is written to `CLAUDE.md` (~500 chars, no performance warning) and `.mcp.json` is generated so Claude auto-connects to `memex serve` as a subprocess on startup.
|
|
171
175
|
|
|
172
176
|
```bash
|
|
173
177
|
memex resume claude
|
|
174
178
|
```
|
|
175
179
|
|
|
176
|
-
|
|
180
|
+
Claude gets a brief "where we left off" summary immediately, then calls MCP tools on demand:
|
|
177
181
|
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
+
- `get_context()` — project summary, stack, focus
|
|
183
|
+
- `get_gotchas()` — pitfalls to avoid before touching sensitive code
|
|
184
|
+
- `search_sessions("auth bug")` — search past session history
|
|
185
|
+
- `save_observation("gotcha", "...")` — save discoveries mid-session
|
|
182
186
|
|
|
183
|
-
|
|
187
|
+
```bash
|
|
188
|
+
# Fall back to full CLAUDE.md context dump (v0.1 behaviour)
|
|
189
|
+
memex resume claude --no-mcp
|
|
190
|
+
```
|
|
184
191
|
|
|
185
192
|
---
|
|
186
193
|
|
|
@@ -279,6 +286,40 @@ Example output:
|
|
|
279
286
|
|
|
280
287
|
---
|
|
281
288
|
|
|
289
|
+
### `memex serve`
|
|
290
|
+
|
|
291
|
+
Start the Memex MCP server in stdio mode. Claude Code and other MCP-compatible agents launch this automatically as a subprocess — you rarely need to run it manually.
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
memex serve
|
|
295
|
+
memex serve --project /path/to/project
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### `memex setup-mcp`
|
|
299
|
+
|
|
300
|
+
Generate a `.mcp.json` file in the current project so Claude always has Memex tools available, even without `memex resume`. Commit the file to share with your team.
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
# Write .mcp.json in the current project directory
|
|
304
|
+
memex setup-mcp
|
|
305
|
+
|
|
306
|
+
# Write to ~/.claude/mcp.json — applies to every Claude session globally
|
|
307
|
+
memex setup-mcp --global
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
This generates:
|
|
311
|
+
|
|
312
|
+
```json
|
|
313
|
+
{
|
|
314
|
+
"mcpServers": {
|
|
315
|
+
"memex": {
|
|
316
|
+
"command": "memex",
|
|
317
|
+
"args": ["serve", "--project", "/abs/path/to/project"]
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
282
323
|
### `memex prune [days]`
|
|
283
324
|
|
|
284
325
|
Delete session records older than N days (default: 30). Raw JSONL log files in `.memex/sessions/` are not touched — remove those separately if needed.
|
package/dist/cli.js
CHANGED
|
@@ -45,6 +45,8 @@ const fs = __importStar(require("fs"));
|
|
|
45
45
|
const session_logger_js_1 = require("./core/session-logger.js");
|
|
46
46
|
const pty_wrapper_js_1 = require("./core/pty-wrapper.js");
|
|
47
47
|
const compressor_js_1 = require("./memory/compressor.js");
|
|
48
|
+
const server_js_1 = require("./mcp/server.js");
|
|
49
|
+
const config_js_1 = require("./mcp/config.js");
|
|
48
50
|
const store_js_1 = require("./memory/store.js");
|
|
49
51
|
const db_js_1 = require("./storage/db.js");
|
|
50
52
|
const queries_js_1 = require("./storage/queries.js");
|
|
@@ -52,7 +54,7 @@ const program = new commander_1.Command();
|
|
|
52
54
|
program
|
|
53
55
|
.name("memex")
|
|
54
56
|
.description("Persistent memory for any AI terminal agent")
|
|
55
|
-
.version("0.
|
|
57
|
+
.version("0.3.0")
|
|
56
58
|
.addHelpText("afterAll", "\n npm: @patravishek/memex | https://github.com/patravishek/memex")
|
|
57
59
|
.hook("preAction", (thisCommand) => {
|
|
58
60
|
const aiCommands = ["start", "resume", "compress"];
|
|
@@ -123,11 +125,19 @@ program
|
|
|
123
125
|
.argument("[command]", "Agent command to run", "claude")
|
|
124
126
|
.option("-p, --project <path>", "Project directory", process.cwd())
|
|
125
127
|
.option("--args <args>", "Extra args to pass to the agent command", "")
|
|
128
|
+
.option("--no-mcp", "Disable MCP mode: inject full context via CLAUDE.md instead (v0.1 behaviour)", false)
|
|
126
129
|
.action(async (command, options) => {
|
|
127
130
|
const projectPath = path.resolve(options.project);
|
|
128
131
|
const memexDir = (0, store_js_1.getMemexDir)(projectPath);
|
|
129
132
|
const memory = (0, store_js_1.loadMemory)(projectPath);
|
|
133
|
+
// MCP mode: on by default for Claude, off for other agents or when --no-mcp passed.
|
|
134
|
+
// In MCP mode we write a short hint (~500 chars) to CLAUDE.md + generate .mcp.json.
|
|
135
|
+
// The full memory dump is served on demand via MCP tools.
|
|
136
|
+
const useMcp = command === "claude" && options.mcp !== false;
|
|
130
137
|
console.log(chalk_1.default.bold.magenta("\n memex — resuming session\n"));
|
|
138
|
+
if (useMcp) {
|
|
139
|
+
console.log(chalk_1.default.dim(" Mode: MCP (context served on demand via tools)\n"));
|
|
140
|
+
}
|
|
131
141
|
if (!memory) {
|
|
132
142
|
console.log(chalk_1.default.yellow(" No memory found for this project. Starting fresh session instead.\n"));
|
|
133
143
|
(0, store_js_1.initMemory)(projectPath);
|
|
@@ -142,28 +152,54 @@ program
|
|
|
142
152
|
}
|
|
143
153
|
const claudeMdPath = path.join(projectPath, "CLAUDE.md");
|
|
144
154
|
const resumeFilePath = path.join(memexDir, "RESUME.md");
|
|
145
|
-
let
|
|
155
|
+
let injectedViaClaudeMd = false;
|
|
146
156
|
let originalClaudeMd = null;
|
|
157
|
+
let wroteProjectMcpJson = false;
|
|
147
158
|
if (memory) {
|
|
148
|
-
(
|
|
149
|
-
|
|
159
|
+
if (useMcp) {
|
|
160
|
+
// ── MCP mode: short hint in CLAUDE.md + .mcp.json in project root ──
|
|
150
161
|
originalClaudeMd = fs.existsSync(claudeMdPath)
|
|
151
162
|
? fs.readFileSync(claudeMdPath, "utf-8")
|
|
152
163
|
: null;
|
|
164
|
+
const hint = (0, compressor_js_1.buildMcpHint)(memory);
|
|
153
165
|
const memexSection = [
|
|
154
166
|
"<!-- MEMEX_CONTEXT_START -->",
|
|
155
|
-
|
|
167
|
+
hint,
|
|
156
168
|
"<!-- MEMEX_CONTEXT_END -->",
|
|
157
169
|
"",
|
|
158
170
|
].join("\n");
|
|
159
171
|
const existing = originalClaudeMd ? `\n\n${originalClaudeMd}` : "";
|
|
160
172
|
fs.writeFileSync(claudeMdPath, memexSection + existing, "utf-8");
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
173
|
+
injectedViaClaudeMd = true;
|
|
174
|
+
// Generate .mcp.json so Claude launches `memex serve` automatically
|
|
175
|
+
const mcpJsonPath = (0, config_js_1.writeMcpJson)(projectPath, projectPath);
|
|
176
|
+
wroteProjectMcpJson = true;
|
|
177
|
+
console.log(chalk_1.default.dim(` Context hint injected → ${claudeMdPath}`) + chalk_1.default.dim(` (${hint.length} chars)`));
|
|
178
|
+
console.log(chalk_1.default.dim(` MCP config written → ${mcpJsonPath}`));
|
|
179
|
+
console.log(chalk_1.default.dim(" Claude will auto-connect to Memex tools on startup\n"));
|
|
164
180
|
}
|
|
165
181
|
else {
|
|
166
|
-
|
|
182
|
+
// ── Legacy mode: full context dump into CLAUDE.md / RESUME.md ──
|
|
183
|
+
(0, compressor_js_1.writeResumeFile)(memory, resumeFilePath);
|
|
184
|
+
if (command === "claude") {
|
|
185
|
+
originalClaudeMd = fs.existsSync(claudeMdPath)
|
|
186
|
+
? fs.readFileSync(claudeMdPath, "utf-8")
|
|
187
|
+
: null;
|
|
188
|
+
const memexSection = [
|
|
189
|
+
"<!-- MEMEX_CONTEXT_START -->",
|
|
190
|
+
fs.readFileSync(resumeFilePath, "utf-8"),
|
|
191
|
+
"<!-- MEMEX_CONTEXT_END -->",
|
|
192
|
+
"",
|
|
193
|
+
].join("\n");
|
|
194
|
+
const existing = originalClaudeMd ? `\n\n${originalClaudeMd}` : "";
|
|
195
|
+
fs.writeFileSync(claudeMdPath, memexSection + existing, "utf-8");
|
|
196
|
+
injectedViaClaudeMd = true;
|
|
197
|
+
console.log(chalk_1.default.dim(` Context injected → ${claudeMdPath}`));
|
|
198
|
+
console.log(chalk_1.default.dim(" Claude reads this on startup — it will acknowledge the context when it starts\n"));
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
console.log(chalk_1.default.dim(` Context written to: ${resumeFilePath}\n`));
|
|
202
|
+
}
|
|
167
203
|
}
|
|
168
204
|
}
|
|
169
205
|
const db = (0, db_js_1.getDb)(memexDir);
|
|
@@ -175,7 +211,7 @@ program
|
|
|
175
211
|
command,
|
|
176
212
|
args,
|
|
177
213
|
cwd: projectPath,
|
|
178
|
-
injectOnReady: !
|
|
214
|
+
injectOnReady: !injectedViaClaudeMd && memory
|
|
179
215
|
? `Please read the file ${resumeFilePath} to restore context from our previous sessions, then ask how to continue.`
|
|
180
216
|
: undefined,
|
|
181
217
|
injectDelayMs: 3000,
|
|
@@ -189,7 +225,8 @@ program
|
|
|
189
225
|
}
|
|
190
226
|
}
|
|
191
227
|
finally {
|
|
192
|
-
|
|
228
|
+
// Restore CLAUDE.md and clean up temp files
|
|
229
|
+
if (injectedViaClaudeMd) {
|
|
193
230
|
if (originalClaudeMd === null) {
|
|
194
231
|
fs.rmSync(claudeMdPath, { force: true });
|
|
195
232
|
}
|
|
@@ -197,10 +234,61 @@ program
|
|
|
197
234
|
fs.writeFileSync(claudeMdPath, originalClaudeMd, "utf-8");
|
|
198
235
|
}
|
|
199
236
|
}
|
|
237
|
+
// Remove the session-scoped .mcp.json (keep it only if setup-mcp was used)
|
|
238
|
+
if (wroteProjectMcpJson) {
|
|
239
|
+
(0, config_js_1.removeMcpJson)(projectPath);
|
|
240
|
+
}
|
|
200
241
|
if (fs.existsSync(resumeFilePath))
|
|
201
242
|
fs.unlinkSync(resumeFilePath);
|
|
202
243
|
}
|
|
203
244
|
});
|
|
245
|
+
// ─── memex serve ──────────────────────────────────────────────────────────────
|
|
246
|
+
program
|
|
247
|
+
.command("serve")
|
|
248
|
+
.description("Start the Memex MCP server (stdio transport) for an agent to connect to")
|
|
249
|
+
.option("-p, --project <path>", "Project directory", process.cwd())
|
|
250
|
+
.action(async (options) => {
|
|
251
|
+
const projectPath = path.resolve(options.project);
|
|
252
|
+
// MCP server communicates over stdio — no console output after this point
|
|
253
|
+
// or it will corrupt the JSON-RPC framing.
|
|
254
|
+
await (0, server_js_1.startMcpServer)(projectPath);
|
|
255
|
+
});
|
|
256
|
+
// ─── memex setup-mcp ──────────────────────────────────────────────────────────
|
|
257
|
+
program
|
|
258
|
+
.command("setup-mcp")
|
|
259
|
+
.description("Generate .mcp.json so Claude Code auto-connects to Memex on startup")
|
|
260
|
+
.option("-p, --project <path>", "Project directory", process.cwd())
|
|
261
|
+
.option("--global", "Write to ~/.claude/mcp.json (applies to all Claude sessions)", false)
|
|
262
|
+
.action((options) => {
|
|
263
|
+
const projectPath = path.resolve(options.project);
|
|
264
|
+
let filePath;
|
|
265
|
+
if (options.global) {
|
|
266
|
+
filePath = (0, config_js_1.writeGlobalMcpJson)(projectPath);
|
|
267
|
+
console.log(chalk_1.default.green(`\n Global MCP config written → ${filePath}`));
|
|
268
|
+
console.log(chalk_1.default.dim(" Claude will use Memex tools in every session.\n"));
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
filePath = (0, config_js_1.writeMcpJson)(projectPath, projectPath);
|
|
272
|
+
console.log(chalk_1.default.green(`\n MCP config written → ${filePath}`));
|
|
273
|
+
console.log(chalk_1.default.dim(" Commit this file to share Memex with your team.\n"));
|
|
274
|
+
}
|
|
275
|
+
console.log(chalk_1.default.bold(" Available tools once connected:"));
|
|
276
|
+
const tools = [
|
|
277
|
+
["get_context", "Project summary, stack, current focus"],
|
|
278
|
+
["get_tasks", "Pending tasks"],
|
|
279
|
+
["get_decisions", "Key architectural decisions"],
|
|
280
|
+
["get_gotchas", "Pitfalls to avoid"],
|
|
281
|
+
["get_important_files", "Files worth knowing about"],
|
|
282
|
+
["get_recent_conversation", "Last N conversation turns"],
|
|
283
|
+
["search_sessions", "Full-text search across session history"],
|
|
284
|
+
["get_session", "Full detail of any past session"],
|
|
285
|
+
["save_observation", "Save notes, tasks, decisions mid-session"],
|
|
286
|
+
];
|
|
287
|
+
for (const [name, desc] of tools) {
|
|
288
|
+
console.log(` ${chalk_1.default.cyan(name.padEnd(28))} ${chalk_1.default.dim(desc)}`);
|
|
289
|
+
}
|
|
290
|
+
console.log();
|
|
291
|
+
});
|
|
204
292
|
// ─── memex status ─────────────────────────────────────────────────────────────
|
|
205
293
|
program
|
|
206
294
|
.command("status")
|
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,32 @@
|
|
|
1
|
+
export interface McpConfig {
|
|
2
|
+
mcpServers: Record<string, McpServerEntry>;
|
|
3
|
+
}
|
|
4
|
+
export interface McpServerEntry {
|
|
5
|
+
command: string;
|
|
6
|
+
args: string[];
|
|
7
|
+
env?: Record<string, string>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Build the MCP server entry for Memex.
|
|
11
|
+
* Uses the globally installed `memex` binary with the project path baked in,
|
|
12
|
+
* so Claude Code always reads from the correct project's DB regardless of cwd.
|
|
13
|
+
*/
|
|
14
|
+
export declare function buildMemexEntry(projectPath: string): McpServerEntry;
|
|
15
|
+
/**
|
|
16
|
+
* Write (or merge into) a .mcp.json file at the given directory.
|
|
17
|
+
* If the file already exists, the memex entry is added/replaced while
|
|
18
|
+
* all other server entries are preserved.
|
|
19
|
+
*/
|
|
20
|
+
export declare function writeMcpJson(dir: string, projectPath: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Remove the memex entry from a .mcp.json file.
|
|
23
|
+
* If it was the only entry, deletes the file entirely.
|
|
24
|
+
*/
|
|
25
|
+
export declare function removeMcpJson(dir: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Path to the global Claude MCP config file (~/.claude/mcp.json).
|
|
28
|
+
* Writing here makes Memex available in every Claude session, regardless
|
|
29
|
+
* of which project is open.
|
|
30
|
+
*/
|
|
31
|
+
export declare function globalMcpConfigPath(): string;
|
|
32
|
+
export declare function writeGlobalMcpJson(projectPath: string): string;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.buildMemexEntry = buildMemexEntry;
|
|
37
|
+
exports.writeMcpJson = writeMcpJson;
|
|
38
|
+
exports.removeMcpJson = removeMcpJson;
|
|
39
|
+
exports.globalMcpConfigPath = globalMcpConfigPath;
|
|
40
|
+
exports.writeGlobalMcpJson = writeGlobalMcpJson;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const os = __importStar(require("os"));
|
|
44
|
+
/**
|
|
45
|
+
* Build the MCP server entry for Memex.
|
|
46
|
+
* Uses the globally installed `memex` binary with the project path baked in,
|
|
47
|
+
* so Claude Code always reads from the correct project's DB regardless of cwd.
|
|
48
|
+
*/
|
|
49
|
+
function buildMemexEntry(projectPath) {
|
|
50
|
+
return {
|
|
51
|
+
command: "memex",
|
|
52
|
+
args: ["serve", "--project", projectPath],
|
|
53
|
+
env: {},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Write (or merge into) a .mcp.json file at the given directory.
|
|
58
|
+
* If the file already exists, the memex entry is added/replaced while
|
|
59
|
+
* all other server entries are preserved.
|
|
60
|
+
*/
|
|
61
|
+
function writeMcpJson(dir, projectPath) {
|
|
62
|
+
const filePath = path.join(dir, ".mcp.json");
|
|
63
|
+
let existing = { mcpServers: {} };
|
|
64
|
+
if (fs.existsSync(filePath)) {
|
|
65
|
+
try {
|
|
66
|
+
existing = JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
67
|
+
existing.mcpServers ??= {};
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Malformed existing file — start fresh
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
existing.mcpServers["memex"] = buildMemexEntry(projectPath);
|
|
74
|
+
fs.writeFileSync(filePath, JSON.stringify(existing, null, 2) + "\n", "utf-8");
|
|
75
|
+
return filePath;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Remove the memex entry from a .mcp.json file.
|
|
79
|
+
* If it was the only entry, deletes the file entirely.
|
|
80
|
+
*/
|
|
81
|
+
function removeMcpJson(dir) {
|
|
82
|
+
const filePath = path.join(dir, ".mcp.json");
|
|
83
|
+
if (!fs.existsSync(filePath))
|
|
84
|
+
return;
|
|
85
|
+
try {
|
|
86
|
+
const config = JSON.parse(fs.readFileSync(filePath, "utf-8"));
|
|
87
|
+
delete config.mcpServers?.["memex"];
|
|
88
|
+
if (Object.keys(config.mcpServers ?? {}).length === 0) {
|
|
89
|
+
fs.rmSync(filePath, { force: true });
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
fs.writeFileSync(filePath, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
fs.rmSync(filePath, { force: true });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Path to the global Claude MCP config file (~/.claude/mcp.json).
|
|
101
|
+
* Writing here makes Memex available in every Claude session, regardless
|
|
102
|
+
* of which project is open.
|
|
103
|
+
*/
|
|
104
|
+
function globalMcpConfigPath() {
|
|
105
|
+
return path.join(os.homedir(), ".claude", "mcp.json");
|
|
106
|
+
}
|
|
107
|
+
function writeGlobalMcpJson(projectPath) {
|
|
108
|
+
const dir = path.join(os.homedir(), ".claude");
|
|
109
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
110
|
+
return writeMcpJson(dir, projectPath);
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Start the Memex MCP server for a given project path.
|
|
3
|
+
*
|
|
4
|
+
* Transport: stdio — the agent (e.g. Claude Code) launches this as a subprocess
|
|
5
|
+
* and communicates over stdin/stdout. All I/O stays on the local machine.
|
|
6
|
+
*/
|
|
7
|
+
export declare function startMcpServer(projectPath: string): Promise<void>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startMcpServer = startMcpServer;
|
|
4
|
+
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
5
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
6
|
+
const tools_js_1 = require("./tools.js");
|
|
7
|
+
/**
|
|
8
|
+
* Start the Memex MCP server for a given project path.
|
|
9
|
+
*
|
|
10
|
+
* Transport: stdio — the agent (e.g. Claude Code) launches this as a subprocess
|
|
11
|
+
* and communicates over stdin/stdout. All I/O stays on the local machine.
|
|
12
|
+
*/
|
|
13
|
+
async function startMcpServer(projectPath) {
|
|
14
|
+
const server = new index_js_1.Server({ name: "memex", version: "0.3.0" }, {
|
|
15
|
+
capabilities: {
|
|
16
|
+
tools: {},
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
(0, tools_js_1.registerTools)(server, projectPath);
|
|
20
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
21
|
+
await server.connect(transport);
|
|
22
|
+
process.on("SIGTERM", async () => {
|
|
23
|
+
await server.close();
|
|
24
|
+
process.exit(0);
|
|
25
|
+
});
|
|
26
|
+
process.on("SIGINT", async () => {
|
|
27
|
+
await server.close();
|
|
28
|
+
process.exit(0);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";;AAUA,wCAwBC;AAlCD,wEAAmE;AACnE,wEAAiF;AACjF,yCAA2C;AAE3C;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,WAAmB;IACtD,MAAM,MAAM,GAAG,IAAI,iBAAM,CACvB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EACnC;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,IAAA,wBAAa,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerTools = registerTools;
|
|
4
|
+
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
5
|
+
const db_js_1 = require("../storage/db.js");
|
|
6
|
+
const queries_js_1 = require("../storage/queries.js");
|
|
7
|
+
const store_js_1 = require("../memory/store.js");
|
|
8
|
+
// ─── Tool manifest ────────────────────────────────────────────────────────────
|
|
9
|
+
const TOOLS = [
|
|
10
|
+
{
|
|
11
|
+
name: "get_context",
|
|
12
|
+
description: "Get the full project summary: name, description, tech stack, and current focus. Call this first when starting work.",
|
|
13
|
+
inputSchema: { type: "object", properties: {}, required: [] },
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: "get_tasks",
|
|
17
|
+
description: "Get all pending tasks for this project, including any saved mid-session via save_observation.",
|
|
18
|
+
inputSchema: { type: "object", properties: {}, required: [] },
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: "get_decisions",
|
|
22
|
+
description: "Get key architectural and design decisions made on this project, with reasoning.",
|
|
23
|
+
inputSchema: { type: "object", properties: {}, required: [] },
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: "get_gotchas",
|
|
27
|
+
description: "Get known pitfalls, mistakes, and things to avoid. Always check before touching sensitive areas.",
|
|
28
|
+
inputSchema: { type: "object", properties: {}, required: [] },
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: "get_important_files",
|
|
32
|
+
description: "Get the list of important files and what each one does.",
|
|
33
|
+
inputSchema: { type: "object", properties: {}, required: [] },
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "get_recent_conversation",
|
|
37
|
+
description: "Get recent conversation turns from the last session. Useful for understanding exactly where things left off.",
|
|
38
|
+
inputSchema: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {
|
|
41
|
+
limit: {
|
|
42
|
+
type: "number",
|
|
43
|
+
description: "Max turns to return (default: 10, max: 50)",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
required: [],
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "search_sessions",
|
|
51
|
+
description: "Full-text search across all past session summaries. Use to find when a bug was fixed, decision was made, or feature was implemented.",
|
|
52
|
+
inputSchema: {
|
|
53
|
+
type: "object",
|
|
54
|
+
properties: {
|
|
55
|
+
query: {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: "Search query (keywords or phrases)",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
required: ["query"],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "get_session",
|
|
65
|
+
description: "Get full details of a specific past session by ID, including its summary and all conversation turns.",
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: "object",
|
|
68
|
+
properties: {
|
|
69
|
+
id: {
|
|
70
|
+
type: "number",
|
|
71
|
+
description: "Session ID (use search_sessions to find relevant IDs)",
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
required: ["id"],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "save_observation",
|
|
79
|
+
description: "Save an important observation mid-session. Records tasks, decisions, gotchas, or notes permanently without waiting for end-of-session compression.",
|
|
80
|
+
inputSchema: {
|
|
81
|
+
type: "object",
|
|
82
|
+
properties: {
|
|
83
|
+
type: {
|
|
84
|
+
type: "string",
|
|
85
|
+
enum: ["note", "task", "decision", "gotcha"],
|
|
86
|
+
description: "Type: note (general), task (todo item), decision (architectural choice), gotcha (pitfall to avoid)",
|
|
87
|
+
},
|
|
88
|
+
content: {
|
|
89
|
+
type: "string",
|
|
90
|
+
description: "The observation to save",
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
required: ["type", "content"],
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
];
|
|
97
|
+
// ─── Handler ──────────────────────────────────────────────────────────────────
|
|
98
|
+
function registerTools(server, projectPath) {
|
|
99
|
+
const db = () => (0, db_js_1.getDb)((0, store_js_1.getMemexDir)(projectPath));
|
|
100
|
+
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
101
|
+
tools: TOOLS,
|
|
102
|
+
}));
|
|
103
|
+
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (req) => {
|
|
104
|
+
const { name, arguments: args = {} } = req.params;
|
|
105
|
+
const text = await dispatch(name, args, projectPath, db);
|
|
106
|
+
return { content: [{ type: "text", text }] };
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
// ─── Dispatch ─────────────────────────────────────────────────────────────────
|
|
110
|
+
async function dispatch(name, args, projectPath, db) {
|
|
111
|
+
switch (name) {
|
|
112
|
+
case "get_context": {
|
|
113
|
+
const memory = (0, queries_js_1.getProject)(db(), projectPath);
|
|
114
|
+
if (!memory)
|
|
115
|
+
return "No memory found. Run `memex start` first.";
|
|
116
|
+
const lines = [`Project: ${memory.projectName}`, `Path: ${memory.projectPath}`];
|
|
117
|
+
if (memory.description)
|
|
118
|
+
lines.push(`\nDescription:\n${memory.description}`);
|
|
119
|
+
if (memory.stack.length)
|
|
120
|
+
lines.push(`\nStack: ${memory.stack.join(", ")}`);
|
|
121
|
+
if (memory.currentFocus)
|
|
122
|
+
lines.push(`\nCurrent focus: ${memory.currentFocus}`);
|
|
123
|
+
if (memory.lastUpdated)
|
|
124
|
+
lines.push(`\nMemory last updated: ${new Date(memory.lastUpdated).toLocaleString()}`);
|
|
125
|
+
return lines.join("\n");
|
|
126
|
+
}
|
|
127
|
+
case "get_tasks": {
|
|
128
|
+
const memory = (0, queries_js_1.getProject)(db(), projectPath);
|
|
129
|
+
const obs = (0, queries_js_1.getObservations)(db(), projectPath, "task");
|
|
130
|
+
const tasks = [
|
|
131
|
+
...(memory?.pendingTasks ?? []),
|
|
132
|
+
...obs.map((o) => `[saved ${new Date(o.created_at).toLocaleDateString()}] ${o.content}`),
|
|
133
|
+
];
|
|
134
|
+
if (tasks.length === 0)
|
|
135
|
+
return "No pending tasks recorded.";
|
|
136
|
+
return tasks.map((t) => `• ${t}`).join("\n");
|
|
137
|
+
}
|
|
138
|
+
case "get_decisions": {
|
|
139
|
+
const memory = (0, queries_js_1.getProject)(db(), projectPath);
|
|
140
|
+
const obs = (0, queries_js_1.getObservations)(db(), projectPath, "decision");
|
|
141
|
+
const decisions = [
|
|
142
|
+
...(memory?.keyDecisions ?? []).map((d) => `• ${d.decision}\n Reason: ${d.reason}`),
|
|
143
|
+
...obs.map((o) => `• [saved ${new Date(o.created_at).toLocaleDateString()}] ${o.content}`),
|
|
144
|
+
];
|
|
145
|
+
if (decisions.length === 0)
|
|
146
|
+
return "No key decisions recorded yet.";
|
|
147
|
+
return decisions.join("\n\n");
|
|
148
|
+
}
|
|
149
|
+
case "get_gotchas": {
|
|
150
|
+
const memory = (0, queries_js_1.getProject)(db(), projectPath);
|
|
151
|
+
const obs = (0, queries_js_1.getObservations)(db(), projectPath, "gotcha");
|
|
152
|
+
const gotchas = [
|
|
153
|
+
...(memory?.gotchas ?? []),
|
|
154
|
+
...obs.map((o) => `[saved ${new Date(o.created_at).toLocaleDateString()}] ${o.content}`),
|
|
155
|
+
];
|
|
156
|
+
if (gotchas.length === 0)
|
|
157
|
+
return "No gotchas recorded yet.";
|
|
158
|
+
return gotchas.map((g) => `⚠ ${g}`).join("\n");
|
|
159
|
+
}
|
|
160
|
+
case "get_important_files": {
|
|
161
|
+
const memory = (0, queries_js_1.getProject)(db(), projectPath);
|
|
162
|
+
const files = memory?.importantFiles ?? [];
|
|
163
|
+
if (files.length === 0)
|
|
164
|
+
return "No important files recorded yet.";
|
|
165
|
+
return files.map((f) => `${f.filePath}\n ${f.purpose}`).join("\n\n");
|
|
166
|
+
}
|
|
167
|
+
case "get_recent_conversation": {
|
|
168
|
+
const limit = Math.min(Number(args.limit ?? 10), 50);
|
|
169
|
+
const latest = (0, queries_js_1.listSessions)(db(), projectPath, 1)[0];
|
|
170
|
+
if (!latest)
|
|
171
|
+
return "No previous session found.";
|
|
172
|
+
const turns = (0, queries_js_1.getTurns)(db(), latest.id).slice(-limit);
|
|
173
|
+
if (turns.length === 0)
|
|
174
|
+
return "No conversation turns recorded for the last session.";
|
|
175
|
+
const formatted = turns
|
|
176
|
+
.map((t) => {
|
|
177
|
+
const label = t.role === "user" ? "Human" : "Assistant";
|
|
178
|
+
const time = new Date(t.ts).toLocaleTimeString();
|
|
179
|
+
return `[${time}] ${label}:\n${t.content}`;
|
|
180
|
+
})
|
|
181
|
+
.join("\n\n---\n\n");
|
|
182
|
+
return `Last session (#${latest.id}, ${new Date(latest.started_at).toLocaleDateString()}):\n\n${formatted}`;
|
|
183
|
+
}
|
|
184
|
+
case "search_sessions": {
|
|
185
|
+
const query = String(args.query ?? "");
|
|
186
|
+
if (!query)
|
|
187
|
+
return "query is required.";
|
|
188
|
+
const results = (0, queries_js_1.searchSessions)(db(), query, projectPath);
|
|
189
|
+
if (results.length === 0)
|
|
190
|
+
return `No sessions matched "${query}".`;
|
|
191
|
+
const lines = results.map((r) => {
|
|
192
|
+
const date = new Date(r.started_at).toLocaleDateString();
|
|
193
|
+
return `Session #${r.id} (${date}, ${r.agent}):\n ${r.snippet}`;
|
|
194
|
+
});
|
|
195
|
+
return `${results.length} result(s) for "${query}":\n\n${lines.join("\n\n")}`;
|
|
196
|
+
}
|
|
197
|
+
case "get_session": {
|
|
198
|
+
const id = Number(args.id);
|
|
199
|
+
if (!id)
|
|
200
|
+
return "id is required.";
|
|
201
|
+
const session = (0, queries_js_1.getSession)(db(), id);
|
|
202
|
+
if (!session)
|
|
203
|
+
return `Session #${id} not found.`;
|
|
204
|
+
const lines = [
|
|
205
|
+
`Session #${session.id}`,
|
|
206
|
+
`Date: ${new Date(session.started_at).toLocaleString()}`,
|
|
207
|
+
`Agent: ${session.agent}`,
|
|
208
|
+
];
|
|
209
|
+
if (session.summary)
|
|
210
|
+
lines.push(`\nSummary:\n${session.summary}`);
|
|
211
|
+
if (session.turns.length > 0) {
|
|
212
|
+
lines.push(`\nConversation (${session.turns.length} turns):`);
|
|
213
|
+
for (const turn of session.turns) {
|
|
214
|
+
const label = turn.role === "user" ? "Human" : "Assistant";
|
|
215
|
+
lines.push(`\n${label}: ${turn.content}`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return lines.join("\n");
|
|
219
|
+
}
|
|
220
|
+
case "save_observation": {
|
|
221
|
+
const type = String(args.type ?? "note");
|
|
222
|
+
const content = String(args.content ?? "").trim();
|
|
223
|
+
if (!content)
|
|
224
|
+
return "content is required.";
|
|
225
|
+
const id = (0, queries_js_1.saveObservation)(db(), projectPath, type, content, undefined, "agent");
|
|
226
|
+
return `Saved ${type} #${id}: "${content.slice(0, 80)}${content.length > 80 ? "…" : ""}"`;
|
|
227
|
+
}
|
|
228
|
+
default:
|
|
229
|
+
return `Unknown tool: ${name}`;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":";;AAyHA,sCAYC;AApID,iEAI4C;AAC5C,4CAAyC;AACzC,sDAS+B;AAC/B,iDAAiD;AAEjD,iFAAiF;AAEjF,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,qHAAqH;QACvH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,+FAA+F;QACjG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,kFAAkF;QACpF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,kGAAkG;QACpG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KAC9D;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,8GAA8G;QAChH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,sIAAsI;QACxI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,sGAAsG;QACxG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACrE;aACF;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,oJAAoJ;QACtJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC;oBAC5C,WAAW,EACT,oGAAoG;iBACvG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yBAAyB;iBACvC;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B;KACF;CACO,CAAC;AAEX,iFAAiF;AAEjF,SAAgB,aAAa,CAAC,MAAc,EAAE,WAAmB;IAC/D,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,IAAA,aAAK,EAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC,CAAC;IAEjD,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAA0C;KAClD,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,GAAG,EAA2B,EAAE;QACrF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,IAA+B,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACpF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,QAAQ,CACrB,IAAY,EACZ,IAA6B,EAC7B,WAAmB,EACnB,EAAkC;IAElC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM;gBAAE,OAAO,2CAA2C,CAAC;YAEhE,MAAM,KAAK,GAAG,CAAC,YAAY,MAAM,CAAC,WAAW,EAAE,EAAE,YAAY,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACnF,IAAI,MAAM,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5E,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3E,IAAI,MAAM,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,WAAW;gBACpB,KAAK,CAAC,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAA,4BAAe,EAAC,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,KAAK,GAAG;gBACZ,GAAG,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC;gBAC/B,GAAG,GAAG,CAAC,GAAG,CACR,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAC7E;aACF,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,4BAA4B,CAAC;YAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAA,4BAAe,EAAC,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG;gBAChB,GAAG,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,eAAe,CAAC,CAAC,MAAM,EAAE,CAChD;gBACD,GAAG,GAAG,CAAC,GAAG,CACR,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAC/E;aACF,CAAC;YACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,gCAAgC,CAAC;YACpE,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAA,4BAAe,EAAC,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG;gBACd,GAAG,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC1B,GAAG,GAAG,CAAC,GAAG,CACR,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAC7E;aACF,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,0BAA0B,CAAC;YAC5D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,kCAAkC,CAAC;YAClE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAA,yBAAY,EAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM;gBAAE,OAAO,4BAA4B,CAAC;YAEjD,MAAM,KAAK,GAAG,IAAA,qBAAQ,EAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,sDAAsD,CAAC;YAEtF,MAAM,SAAS,GAAG,KAAK;iBACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACjD,OAAO,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7C,CAAC,CAAC;iBACD,IAAI,CAAC,aAAa,CAAC,CAAC;YAEvB,OAAO,kBAAkB,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,SAAS,SAAS,EAAE,CAAC;QAC9G,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK;gBAAE,OAAO,oBAAoB,CAAC;YACxC,MAAM,OAAO,GAAG,IAAA,2BAAc,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,wBAAwB,KAAK,IAAI,CAAC;YACnE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBACzD,OAAO,YAAY,CAAC,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YACnE,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,OAAO,CAAC,MAAM,mBAAmB,KAAK,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,EAAE;gBAAE,OAAO,iBAAiB,CAAC;YAClC,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO;gBAAE,OAAO,YAAY,EAAE,aAAa,CAAC;YAEjD,MAAM,KAAK,GAAG;gBACZ,YAAY,OAAO,CAAC,EAAE,EAAE;gBACxB,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,EAAE;gBACzD,UAAU,OAAO,CAAC,KAAK,EAAE;aAC1B,CAAC;YACF,IAAI,OAAO,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;gBAC9D,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAoB,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,OAAO;gBAAE,OAAO,sBAAsB,CAAC;YAC5C,MAAM,EAAE,GAAG,IAAA,4BAAe,EAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACjF,OAAO,SAAS,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5F,CAAC;QAED;YACE,OAAO,iBAAiB,IAAI,EAAE,CAAC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { ProjectMemory } from "./store.js";
|
|
2
2
|
export declare function compressSession(transcript: string, projectPath: string, logFile: string): Promise<ProjectMemory>;
|
|
3
3
|
export declare function buildResumePrompt(memory: ProjectMemory): string;
|
|
4
|
+
/**
|
|
5
|
+
* Build a short (~500 char) CLAUDE.md hint used when MCP mode is active.
|
|
6
|
+
* Instead of dumping everything, it tells Claude where it left off and
|
|
7
|
+
* instructs it to use MCP tools for full context. This eliminates the
|
|
8
|
+
* "Large CLAUDE.md will impact performance" warning entirely.
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildMcpHint(memory: ProjectMemory): string;
|
|
4
11
|
export declare function writeResumeFile(memory: ProjectMemory, filePath: string): void;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compressSession = compressSession;
|
|
4
4
|
exports.buildResumePrompt = buildResumePrompt;
|
|
5
|
+
exports.buildMcpHint = buildMcpHint;
|
|
5
6
|
exports.writeResumeFile = writeResumeFile;
|
|
6
7
|
const provider_js_1 = require("../ai/provider.js");
|
|
7
8
|
const store_js_1 = require("./store.js");
|
|
@@ -123,6 +124,35 @@ function buildResumePrompt(memory) {
|
|
|
123
124
|
sections.join("\n\n"),
|
|
124
125
|
].join("\n");
|
|
125
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Build a short (~500 char) CLAUDE.md hint used when MCP mode is active.
|
|
129
|
+
* Instead of dumping everything, it tells Claude where it left off and
|
|
130
|
+
* instructs it to use MCP tools for full context. This eliminates the
|
|
131
|
+
* "Large CLAUDE.md will impact performance" warning entirely.
|
|
132
|
+
*/
|
|
133
|
+
function buildMcpHint(memory) {
|
|
134
|
+
const lastSession = memory.recentSessions.at(-1);
|
|
135
|
+
const lastDate = lastSession
|
|
136
|
+
? new Date(lastSession.date).toLocaleDateString()
|
|
137
|
+
: null;
|
|
138
|
+
const lines = [
|
|
139
|
+
"# Memex — Session Context (MCP mode)",
|
|
140
|
+
"",
|
|
141
|
+
"> Full memory is available via MCP tools. Use them to retrieve context on demand.",
|
|
142
|
+
"",
|
|
143
|
+
"---",
|
|
144
|
+
"",
|
|
145
|
+
`**Project:** ${memory.projectName}`,
|
|
146
|
+
];
|
|
147
|
+
if (memory.currentFocus) {
|
|
148
|
+
lines.push(`**Current focus:** ${memory.currentFocus}`);
|
|
149
|
+
}
|
|
150
|
+
if (lastSession) {
|
|
151
|
+
lines.push(`**Last session (${lastDate}):** ${lastSession.summary}`);
|
|
152
|
+
}
|
|
153
|
+
lines.push("", "**When you start:**", "1. Call `get_context()` for the full project summary", "2. Call `get_gotchas()` before touching any sensitive areas", "3. Use `search_sessions(\"<topic>\")` to find relevant past work", "4. Call `save_observation(type, content)` to record anything important mid-session");
|
|
154
|
+
return lines.join("\n");
|
|
155
|
+
}
|
|
126
156
|
/**
|
|
127
157
|
* Write resume context to a markdown file so it can be read cleanly
|
|
128
158
|
* without being piped through stdin (which causes formatting issues).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":";;AAiBA,0CAmFC;AAED,8CA6CC;AAYD,0CAuCC;
|
|
1
|
+
{"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/db.js
CHANGED
|
@@ -144,5 +144,24 @@ function runMigrations(db) {
|
|
|
144
144
|
INSERT INTO schema_version VALUES (1);
|
|
145
145
|
`);
|
|
146
146
|
}
|
|
147
|
+
if (currentVersion < 2) {
|
|
148
|
+
db.exec(`
|
|
149
|
+
-- Mid-session observations saved by the agent or user via MCP save_observation tool.
|
|
150
|
+
-- Surfaced immediately by get_* tools and rolled into memory on next compression.
|
|
151
|
+
CREATE TABLE IF NOT EXISTS observations (
|
|
152
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
153
|
+
project_path TEXT NOT NULL,
|
|
154
|
+
session_id INTEGER,
|
|
155
|
+
type TEXT NOT NULL DEFAULT 'note', -- note | task | decision | gotcha
|
|
156
|
+
content TEXT NOT NULL,
|
|
157
|
+
source TEXT NOT NULL DEFAULT 'agent', -- agent | user
|
|
158
|
+
created_at TEXT NOT NULL,
|
|
159
|
+
FOREIGN KEY (project_path) REFERENCES project(path),
|
|
160
|
+
FOREIGN KEY (session_id) REFERENCES sessions(id) ON DELETE SET NULL
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
INSERT INTO schema_version VALUES (2);
|
|
164
|
+
`);
|
|
165
|
+
}
|
|
147
166
|
}
|
|
148
167
|
//# sourceMappingURL=db.js.map
|
package/dist/storage/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sBAgBC;AAED,0BAMC;AAnCD,oEAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AAEzB,IAAI,GAAG,GAA6B,IAAI,CAAC;AACzC,IAAI,OAAO,GAAkB,IAAI,CAAC;AAElC;;;GAGG;AACH,SAAgB,KAAK,CAAC,QAAgB;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE/C,IAAI,GAAG,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAE1C,IAAI,GAAG;QAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAErB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,GAAG,GAAG,IAAI,wBAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,GAAG,MAAM,CAAC;IAEjB,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACjC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEhC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,OAAO;IACrB,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,GAAG,IAAI,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAqB;IAC1C,EAAE,CAAC,IAAI,CAAC;;;;GAIP,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN,kEAAkE,CACnE;SACA,GAAG,EAAqC,CAAC;IAC5C,MAAM,cAAc,GAAG,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC;IAEzC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+DP,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sBAgBC;AAED,0BAMC;AAnCD,oEAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AAEzB,IAAI,GAAG,GAA6B,IAAI,CAAC;AACzC,IAAI,OAAO,GAAkB,IAAI,CAAC;AAElC;;;GAGG;AACH,SAAgB,KAAK,CAAC,QAAgB;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE/C,IAAI,GAAG,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAE1C,IAAI,GAAG;QAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAErB,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,GAAG,GAAG,IAAI,wBAAQ,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,GAAG,MAAM,CAAC;IAEjB,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACjC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEhC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,OAAO;IACrB,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,GAAG,IAAI,CAAC;QACX,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAqB;IAC1C,EAAE,CAAC,IAAI,CAAC;;;;GAIP,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN,kEAAkE,CACnE;SACA,GAAG,EAAqC,CAAC;IAC5C,MAAM,cAAc,GAAG,GAAG,EAAE,OAAO,IAAI,CAAC,CAAC;IAEzC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+DP,CAAC,CAAC;IACL,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;KAgBP,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -36,3 +36,16 @@ export declare function migrateFromJson(db: Database.Database, memory: ProjectMe
|
|
|
36
36
|
* Raw JSONL log files are NOT deleted — callers handle that separately.
|
|
37
37
|
*/
|
|
38
38
|
export declare function pruneOldSessions(db: Database.Database, projectPath: string, keepDays: number): number;
|
|
39
|
+
export type ObservationType = "note" | "task" | "decision" | "gotcha";
|
|
40
|
+
export interface ObservationRow {
|
|
41
|
+
id: number;
|
|
42
|
+
project_path: string;
|
|
43
|
+
session_id: number | null;
|
|
44
|
+
type: ObservationType;
|
|
45
|
+
content: string;
|
|
46
|
+
source: "agent" | "user";
|
|
47
|
+
created_at: string;
|
|
48
|
+
}
|
|
49
|
+
export declare function saveObservation(db: Database.Database, projectPath: string, type: ObservationType, content: string, sessionId?: number, source?: "agent" | "user"): number;
|
|
50
|
+
export declare function getObservations(db: Database.Database, projectPath: string, type?: ObservationType): ObservationRow[];
|
|
51
|
+
export declare function clearObservations(db: Database.Database, projectPath: string): void;
|
package/dist/storage/queries.js
CHANGED
|
@@ -45,6 +45,9 @@ exports.getTurns = getTurns;
|
|
|
45
45
|
exports.searchSessions = searchSessions;
|
|
46
46
|
exports.migrateFromJson = migrateFromJson;
|
|
47
47
|
exports.pruneOldSessions = pruneOldSessions;
|
|
48
|
+
exports.saveObservation = saveObservation;
|
|
49
|
+
exports.getObservations = getObservations;
|
|
50
|
+
exports.clearObservations = clearObservations;
|
|
48
51
|
const path = __importStar(require("path"));
|
|
49
52
|
// ─── Project ─────────────────────────────────────────────────────────────────
|
|
50
53
|
function getProject(db, projectPath) {
|
|
@@ -259,6 +262,22 @@ function pruneOldSessions(db, projectPath, keepDays) {
|
|
|
259
262
|
.run(projectPath, cutoff);
|
|
260
263
|
return result.changes;
|
|
261
264
|
}
|
|
265
|
+
function saveObservation(db, projectPath, type, content, sessionId, source = "agent") {
|
|
266
|
+
const result = db.prepare(`
|
|
267
|
+
INSERT INTO observations (project_path, session_id, type, content, source, created_at)
|
|
268
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
269
|
+
`).run(projectPath, sessionId ?? null, type, content, source, new Date().toISOString());
|
|
270
|
+
return result.lastInsertRowid;
|
|
271
|
+
}
|
|
272
|
+
function getObservations(db, projectPath, type) {
|
|
273
|
+
if (type) {
|
|
274
|
+
return db.prepare("SELECT * FROM observations WHERE project_path = ? AND type = ? ORDER BY created_at DESC").all(projectPath, type);
|
|
275
|
+
}
|
|
276
|
+
return db.prepare("SELECT * FROM observations WHERE project_path = ? ORDER BY created_at DESC").all(projectPath);
|
|
277
|
+
}
|
|
278
|
+
function clearObservations(db, projectPath) {
|
|
279
|
+
db.prepare("DELETE FROM observations WHERE project_path = ?").run(projectPath);
|
|
280
|
+
}
|
|
262
281
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
263
282
|
function parseJson(raw, fallback) {
|
|
264
283
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/storage/queries.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,gCAsCC;AAED,sCAwCC;AAED,sCAeC;AAED,sCAQC;AAID,sCAsBC;AAED,0CA2BC;AAED,oCAgBC;AAED,gCAUC;AAED,4BASC;AAID,wCAgCC;AAQD,0CAgCC;AAQD,4CAwBC;
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/storage/queries.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patravishek/memex",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Persistent memory for any AI terminal agent — Claude, GPT, Aider and more",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -44,13 +44,15 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@anthropic-ai/sdk": "^0.36.3",
|
|
47
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
47
48
|
"better-sqlite3": "^12.6.2",
|
|
48
49
|
"chalk": "^4.1.2",
|
|
49
50
|
"commander": "^12.1.0",
|
|
50
51
|
"dotenv": "^16.4.7",
|
|
51
52
|
"openai": "^4.77.0",
|
|
52
53
|
"ora": "^5.4.1",
|
|
53
|
-
"strip-ansi": "^6.0.1"
|
|
54
|
+
"strip-ansi": "^6.0.1",
|
|
55
|
+
"zod": "^3.25.76"
|
|
54
56
|
},
|
|
55
57
|
"devDependencies": {
|
|
56
58
|
"@types/better-sqlite3": "^7.6.13",
|