@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 CHANGED
@@ -21,7 +21,11 @@ On exit: AI compresses transcript → .memex/memex.db (SQLite)
21
21
 
22
22
  memex resume claude
23
23
 
24
- Memory injected as first message agent has full context
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
- Start a new session with full context automatically restored. Memex injects your project memory as the first message so the agent immediately understands where things stand.
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
- The agent receives a structured context block covering:
180
+ Claude gets a brief "where we left off" summary immediately, then calls MCP tools on demand:
177
181
 
178
- - What the project does and its tech stack
179
- - What you were working on last session
180
- - Pending tasks and key decisions
181
- - Gotchasmistakes and dead ends to avoid repeating
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
- No more re-explaining. No more lost momentum.
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.2.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 injectedViaClauldeMd = false;
155
+ let injectedViaClaudeMd = false;
146
156
  let originalClaudeMd = null;
157
+ let wroteProjectMcpJson = false;
147
158
  if (memory) {
148
- (0, compressor_js_1.writeResumeFile)(memory, resumeFilePath);
149
- if (command === "claude") {
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
- fs.readFileSync(resumeFilePath, "utf-8"),
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
- injectedViaClauldeMd = true;
162
- console.log(chalk_1.default.dim(` Context injected ${claudeMdPath}`));
163
- console.log(chalk_1.default.dim(" Claude reads this on startup — it will acknowledge the context when it starts\n"));
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
- console.log(chalk_1.default.dim(` Context written to: ${resumeFilePath}\n`));
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: !injectedViaClauldeMd && memory
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
- if (injectedViaClauldeMd) {
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,2CAA6B;AAC7B,uCAAyB;AACzB,gEAA2E;AAC3E,0DAAoD;AACpD,0DAA6F;AAC7F,gDAQ2B;AAC3B,2CAAwC;AACxC,qDAQ8B;AAE9B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,6CAA6C,CAAC;KAC1D,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,UAAU,EAAE,sEAAsE,CAAC;KAC/F,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;IACjC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO;IAEtD,MAAM,MAAM,GACV,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAC7B,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAC3E,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,0EAA0E,CAC3E,CACF,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,QAAQ,CAAC,WAAW,EAAE,sBAAsB,EAAE,QAAQ,CAAC;KACvD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,yCAAyC,EAAE,EAAE,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAElD,IAAI,IAAA,uBAAY,EAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAA,qBAAU,EAAC,WAAW,CAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CACP,kCAAkC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,EAAE,CAClF,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,YAAY,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;SAAM,CAAC;QACN,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAA,0BAAa,EAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,iCAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAAC,MAAM,EAAE;YACvC,OAAO;YACP,IAAI;YACJ,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QAEH,MAAM,cAAc,CAClB,MAAM,CAAC,UAAU,EACjB,WAAW,EACX,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,oBAAoB,EAAE,EAC7B,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,cAAc,CAClB,UAAU,EACV,WAAW,EACX,MAAM,CAAC,UAAU,EAAE,EACnB,MAAM,CAAC,oBAAoB,EAAE,EAC7B,SAAS,CACV,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,oDAAoD,CAAC;KACjE,QAAQ,CAAC,WAAW,EAAE,sBAAsB,EAAE,QAAQ,CAAC;KACvD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,yCAAyC,EAAE,EAAE,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAElE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,uEAAuE,CACxE,CACF,CAAC;QACF,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CACP,IAAA,gCAAqB,EAAC,MAAM,CAAC;aAC1B,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,CACd,CACF,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;IAE3C,IAAI,MAAM,EAAE,CAAC;QACX,IAAA,+BAAe,EAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAExC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC5C,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC;gBACxC,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,YAAY,GAAG;gBACnB,8BAA8B;gBAC9B,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC;gBACxC,4BAA4B;gBAC5B,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjE,oBAAoB,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,cAAc,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAA,0BAAa,EAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,iCAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAAC,MAAM,EAAE;YACvC,OAAO;YACP,IAAI;YACJ,GAAG,EAAE,WAAW;YAChB,aAAa,EAAE,CAAC,oBAAoB,IAAI,MAAM;gBAC5C,CAAC,CAAC,wBAAwB,cAAc,2EAA2E;gBACnH,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,cAAc,CAClB,MAAM,CAAC,UAAU,EACjB,WAAW,EACX,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,oBAAoB,EAAE,EAC7B,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,cAAc,CAClB,UAAU,EACV,WAAW,EACX,MAAM,CAAC,UAAU,EAAE,EACnB,MAAM,CAAC,oBAAoB,EAAE,EAC7B,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAA,qBAAU,EAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAC5E,CAAC;QACF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CACT,IAAA,gCAAqB,EAAC,MAAM,CAAC;SAC1B,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACpB,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAA,yBAAY,EAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,CAC9D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,EAAE,IAAI,CAAC;KAC7D,MAAM,CAAC,OAAO,EAAE,mCAAmC,EAAE,KAAK,CAAC;KAC3D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG;QAC1B,CAAC,CAAC,IAAA,yBAAY,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC;QACpC,CAAC,CAAC,IAAA,yBAAY,EAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAEzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAC5E,CAAC;QACF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAEjE,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ;YACzB,CAAC,CAAC,cAAc,CACZ,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAClE;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;YACvB,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE5B,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,MAAM,EAAE,CAC1F,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,CAAC,EAAU,EAAE,OAAO,EAAE,EAAE;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,IAAA,uBAAU,EAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CACzE,CAAC;IACF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CACvE,CAAC;QACF,MAAM,EAAE,GACN,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,eAAe,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC;QAE/E,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,KAAK,GACT,IAAI,CAAC,IAAI,KAAK,MAAM;gBAClB,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC;gBACtB,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,IAAI,CAAC,OAAO;iBACT,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;iBACtB,IAAI,CAAC,IAAI,CAAC,CACd,CACF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,KAAK,CAAC;KACpD,MAAM,CAAC,CAAC,KAAa,EAAE,OAAO,EAAE,EAAE;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG;QACzB,CAAC,CAAC,IAAA,2BAAc,EAAC,EAAE,EAAE,KAAK,CAAC;QAC3B,CAAC,CAAC,IAAA,2BAAc,EAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAE3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,0BAA0B,KAAK,MAAM,CAAC,CACpD,CAAC;QACF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,KAAK,KAAK,CAAC,CAAC,CAAC;IAEpE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CACT,KAAK,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAC/E,CAAC;QACF,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,QAAQ,eAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,oDAAoD,CAAC,CACnF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,gDAAgD,EAAE,KAAK,CAAC;KAClF,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;IAE1C,IAAI,CAAC,IAAA,uBAAY,EAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,IAAA,sBAAW,EAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/C,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,OAAO,CAAC,YAAY;QAClB,CAAC,CAAC,0DAA0D;QAC5D,CAAC,CAAC,uBAAuB,CAC5B,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,iFAAiF;AACjF,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;IAEpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,EAAE;SACb,WAAW,CAAC,WAAW,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SACnC,IAAI,EAAE,CAAC;IAEV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,KAAK;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAChF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,0CAA0C,CAAC;KACvD,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,EAAE,IAAI,CAAC;KACpD,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAClE,MAAM,CAAC,CAAC,IAAY,EAAE,OAAO,EAAE,EAAE;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;IAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,8BAA8B,QAAQ,oBAAoB,CAAC,CACtE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,eAAe,OAAO,0BAA0B,QAAQ,UAAU,CAAC,CAChF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gFAAgF;AAChF,KAAK,UAAU,cAAc,CAC3B,UAAkB,EAClB,WAAmB,EACnB,OAAe,EACf,oBAAwC,EAAE,EAC1C,SAAkB;IAElB,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAe,EAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;QACjC,IAAA,qBAAU,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEjC,+CAA+C;QAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;YACpE,IAAA,4BAAe,EAAC,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,CAAC,OAAO,CACb,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC7B,eAAK,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC,CAC9D,CAAC;QACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YAC1D,eAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjD,eAAK,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,MAAM,IAAI,CAAC,CAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAI,GAAa,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,uBAAuB,OAAO,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AAC5B,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,MAAc;IAC3C,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACpE,CAAC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC"}
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,2 @@
1
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
+ export declare function registerTools(server: Server, projectPath: string): void;
@@ -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":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"compressor.js","sourceRoot":"","sources":["../../src/memory/compressor.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -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;
@@ -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":"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"}
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.2.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",