@memextend/claude-code 0.2.0 → 0.3.2

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.
@@ -6,7 +6,7 @@ import { readFile } from 'fs/promises';
6
6
  import { join, basename } from 'path';
7
7
  import { homedir } from 'os';
8
8
  import { execSync } from 'child_process';
9
- import { SQLiteStorage, LanceDBStorage, TranscriptParser, formatCaptureContent, isTextCapture, isToolCapture, createEmbedFunction, cosineSimilarity } from '@memextend/core';
9
+ import { SQLiteStorage, SQLiteVecStorage, TranscriptParser, formatCaptureContent, isTextCapture, isToolCapture, createEmbedFunction, cosineSimilarity } from '@memextend/core';
10
10
  import { log, logError } from './logger.js';
11
11
  const MEMEXTEND_DIR = join(homedir(), '.memextend');
12
12
  const CONFIG_PATH = join(MEMEXTEND_DIR, 'config.json');
@@ -63,7 +63,7 @@ async function main() {
63
63
  const projectId = getProjectId(input.cwd);
64
64
  // Initialize storage
65
65
  const sqlite = new SQLiteStorage(DB_PATH);
66
- const lancedb = await LanceDBStorage.create(VECTORS_PATH);
66
+ const vectorStore = await SQLiteVecStorage.create(VECTORS_PATH);
67
67
  // Ensure project is registered
68
68
  const project = sqlite.getProject(projectId);
69
69
  if (!project) {
@@ -112,13 +112,13 @@ async function main() {
112
112
  sqlite.insertMemory(memory);
113
113
  // Generate and store embedding
114
114
  const vector = await embedder.embed(content);
115
- await lancedb.insertVector(memoryId, vector);
115
+ await vectorStore.insertVector(memoryId, vector);
116
116
  }
117
117
  // Deduplicate highly similar memories to save space
118
118
  const dedupeOnPrune = config.storage?.deduplicateOnPrune ?? true;
119
119
  const dedupeThreshold = config.retrieval?.deduplicationThreshold ?? 0.85;
120
120
  if (dedupeOnPrune) {
121
- const dedupedIds = await deduplicateStoredMemories(sqlite, lancedb, projectId, dedupeThreshold);
121
+ const dedupedIds = await deduplicateStoredMemories(sqlite, vectorStore, projectId, dedupeThreshold);
122
122
  if (dedupedIds.length > 0) {
123
123
  log('Stop', `Deduplicated ${dedupedIds.length} similar memories`);
124
124
  }
@@ -137,13 +137,13 @@ async function main() {
137
137
  log('Stop', `Pruned ${pruneResult.deleted} old memories to stay within limits`);
138
138
  // Also delete from vector store
139
139
  for (const id of pruneResult.deletedIds) {
140
- await lancedb.deleteVector(id);
140
+ await vectorStore.deleteVector(id);
141
141
  }
142
142
  }
143
143
  }
144
144
  // Close storage and embedder
145
145
  sqlite.close();
146
- await lancedb.close();
146
+ await vectorStore.close();
147
147
  await embedder.close();
148
148
  log('Stop', `SUCCESS: Saved ${captures.length} memories`);
149
149
  outputResult({ continue: true, suppressOutput: true });
@@ -186,7 +186,7 @@ function outputResult(result) {
186
186
  * Deduplicate stored memories by removing older ones that are highly similar to newer ones.
187
187
  * Uses cosine similarity on embeddings. Keeps the newest memory when duplicates found.
188
188
  */
189
- async function deduplicateStoredMemories(sqlite, lancedb, projectId, threshold) {
189
+ async function deduplicateStoredMemories(sqlite, vectorStore, projectId, threshold) {
190
190
  const deletedIds = [];
191
191
  // Get all memories for this project, sorted by date (newest first)
192
192
  const memories = sqlite.getRecentMemories(projectId, 0, 0); // 0 = unlimited
@@ -194,7 +194,7 @@ async function deduplicateStoredMemories(sqlite, lancedb, projectId, threshold)
194
194
  return deletedIds;
195
195
  // Get vectors for all memories
196
196
  const memoryIds = memories.map(m => m.id);
197
- const vectors = await lancedb.getVectorsByIds(memoryIds);
197
+ const vectors = await vectorStore.getVectorsByIds(memoryIds);
198
198
  if (vectors.size < 2)
199
199
  return deletedIds;
200
200
  // Track which memories to keep (newest first wins)
@@ -222,7 +222,7 @@ async function deduplicateStoredMemories(sqlite, lancedb, projectId, threshold)
222
222
  else {
223
223
  // Delete this duplicate
224
224
  sqlite.deleteMemory(memory.id);
225
- await lancedb.deleteVector(memory.id);
225
+ await vectorStore.deleteVector(memory.id);
226
226
  deletedIds.push(memory.id);
227
227
  }
228
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,8CAA8C;AAE9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAa5C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AACvD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAElD,KAAK,UAAU,IAAI;IACjB,wBAAwB;IACxB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,KAAK,GAAc,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,oCAAoC;QACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;YACtC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;YAC5C,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,cAAc;QACd,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAElC,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzE,gEAAgE;QAChE,+FAA+F;QAC/F,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YACvC,kBAAkB,EAAE,MAAM,CAAC,OAAO,EAAE,kBAAkB,IAAI,KAAK;YAC/D,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,mBAAmB,IAAI,IAAI;YAChE,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,IAAI,IAAI;SAC3D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACjC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;QAC7D,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;QACxD,GAAG,CAAC,MAAM,EAAE,SAAS,QAAQ,CAAC,MAAM,mBAAmB,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1G,iBAAiB;QACjB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEhE,+BAA+B;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,aAAa,CAAC;gBACnB,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBACzB,IAAI,EAAE,KAAK,CAAC,GAAG;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAED,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAExD,gCAAgC;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;YAE9B,IAAI,MAAc,CAAC;YAEnB,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG;oBACP,EAAE,EAAE,QAAQ;oBACZ,SAAS;oBACT,OAAO;oBACP,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,KAAK,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI;iBACf,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG;oBACP,EAAE,EAAE,QAAQ;oBACZ,SAAS;oBACT,OAAO;oBACP,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,OAAO,CAAC,IAAI;oBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,KAAK,CAAC,UAAU;oBAC3B,QAAQ,EAAE;wBACR,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBAC5C;iBACF,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE5B,+BAA+B;YAC/B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,oDAAoD;QACpD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,kBAAkB,IAAI,IAAI,CAAC;QACjE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,sBAAsB,IAAI,IAAI,CAAC;QAEzE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,MAAM,yBAAyB,CAChD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,CAChD,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,MAAM,EAAE,gBAAgB,UAAU,CAAC,MAAM,mBAAmB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,uFAAuF;QACvF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,qBAAqB,IAAI,KAAK,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAC,gBAAgB;QAExE,IAAI,aAAa,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC;gBACvC,aAAa;gBACb,QAAQ;gBACR,SAAS;aACV,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,MAAM,EAAE,UAAU,WAAW,CAAC,OAAO,qCAAqC,CAAC,CAAC;gBAEhF,gCAAgC;gBAChC,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;oBACxC,MAAM,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEvB,GAAG,CAAC,MAAM,EAAE,kBAAkB,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;QAC1D,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACrD,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,+BAA+B,EAAE;YACxD,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB;IACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,yBAAyB,CACtC,MAAqB,EACrB,WAA6B,EAC7B,SAAiB,EACjB,SAAiB;IAEjB,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,mEAAmE;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAE5E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAE3C,+BAA+B;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAE7D,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAExC,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,WAAW,GAA4C,EAAE,CAAC;IAEhE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;YAC5C,SAAS;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,UAAU,GAAG,SAAS,EAAE,CAAC;gBAC3B,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -13731,6 +13731,7 @@ var SQLiteStorage = class {
13731
13731
  constructor(dbPath) {
13732
13732
  this.db = new import_better_sqlite3.default(dbPath);
13733
13733
  this.db.pragma("journal_mode = WAL");
13734
+ this.db.pragma("busy_timeout = 5000");
13734
13735
  this.initialize();
13735
13736
  }
13736
13737
  initialize() {
@@ -14084,122 +14085,138 @@ var SQLiteStorage = class {
14084
14085
  };
14085
14086
  }
14086
14087
  close() {
14088
+ try {
14089
+ this.db.pragma("wal_checkpoint(TRUNCATE)");
14090
+ } catch {
14091
+ }
14087
14092
  this.db.close();
14088
14093
  }
14089
14094
  };
14090
14095
 
14091
- // ../../core/dist/storage/lancedb.js
14092
- var lancedb = __toESM(require("@lancedb/lancedb"), 1);
14093
- var LanceDBStorage = class _LanceDBStorage {
14096
+ // ../../core/dist/storage/sqlite-vec.js
14097
+ var import_better_sqlite32 = __toESM(require("better-sqlite3"), 1);
14098
+ var sqliteVec = __toESM(require("sqlite-vec"), 1);
14099
+ var SQLiteVecStorage = class _SQLiteVecStorage {
14094
14100
  db;
14095
- table = null;
14096
- tableName = "memories";
14101
+ tableName = "memory_vectors";
14097
14102
  dimensions = 384;
14098
14103
  constructor(db) {
14099
14104
  this.db = db;
14100
14105
  }
14101
14106
  static async create(dbPath) {
14102
- const db = await lancedb.connect(dbPath);
14103
- const storage = new _LanceDBStorage(db);
14104
- await storage.initialize();
14107
+ let actualPath = dbPath;
14108
+ if (dbPath.endsWith("vectors") || dbPath.endsWith("vectors/")) {
14109
+ actualPath = dbPath.replace(/\/?$/, ".db");
14110
+ }
14111
+ const db = new import_better_sqlite32.default(actualPath);
14112
+ sqliteVec.load(db);
14113
+ db.pragma("journal_mode = WAL");
14114
+ db.pragma("busy_timeout = 5000");
14115
+ const storage = new _SQLiteVecStorage(db);
14116
+ storage.initialize();
14105
14117
  return storage;
14106
14118
  }
14107
- async initialize() {
14108
- const tableNames = await this.db.tableNames();
14109
- if (tableNames.includes(this.tableName)) {
14110
- this.table = await this.db.openTable(this.tableName);
14111
- }
14119
+ initialize() {
14120
+ this.db.exec(`
14121
+ CREATE VIRTUAL TABLE IF NOT EXISTS ${this.tableName} USING vec0(
14122
+ id TEXT PRIMARY KEY,
14123
+ vector FLOAT[${this.dimensions}]
14124
+ )
14125
+ `);
14112
14126
  }
14113
14127
  async insertVector(id, vector) {
14114
14128
  if (vector.length !== this.dimensions) {
14115
14129
  throw new Error(`Vector must have ${this.dimensions} dimensions, got ${vector.length}`);
14116
14130
  }
14117
- const data = [{ id, vector }];
14118
- if (!this.table) {
14119
- this.table = await this.db.createTable(this.tableName, data);
14120
- } else {
14121
- await this.table.add(data);
14122
- }
14123
- await this.optimize();
14131
+ const float32 = new Float32Array(vector);
14132
+ const vectorBuffer = Buffer.from(float32.buffer);
14133
+ const stmt = this.db.prepare(`
14134
+ INSERT OR REPLACE INTO ${this.tableName} (id, vector)
14135
+ VALUES (?, ?)
14136
+ `);
14137
+ stmt.run(id, vectorBuffer);
14124
14138
  }
14125
14139
  async insertVectors(items) {
14126
- for (const item of items) {
14127
- if (item.vector.length !== this.dimensions) {
14128
- throw new Error(`Vector must have ${this.dimensions} dimensions, got ${item.vector.length}`);
14140
+ const stmt = this.db.prepare(`
14141
+ INSERT OR REPLACE INTO ${this.tableName} (id, vector)
14142
+ VALUES (?, ?)
14143
+ `);
14144
+ const insertMany = this.db.transaction((items2) => {
14145
+ for (const item of items2) {
14146
+ if (item.vector.length !== this.dimensions) {
14147
+ throw new Error(`Vector must have ${this.dimensions} dimensions, got ${item.vector.length}`);
14148
+ }
14149
+ const float32 = new Float32Array(item.vector);
14150
+ const vectorBuffer = Buffer.from(float32.buffer);
14151
+ stmt.run(item.id, vectorBuffer);
14129
14152
  }
14130
- }
14131
- if (!this.table) {
14132
- this.table = await this.db.createTable(this.tableName, items);
14133
- } else {
14134
- await this.table.add(items);
14135
- }
14136
- await this.optimize();
14153
+ });
14154
+ insertMany(items);
14137
14155
  }
14138
14156
  async search(vector, limit = 10) {
14139
- if (!this.table) {
14157
+ if (vector.length !== this.dimensions) {
14158
+ throw new Error(`Query vector must have ${this.dimensions} dimensions, got ${vector.length}`);
14159
+ }
14160
+ const count = await this.getVectorCount();
14161
+ if (count === 0) {
14140
14162
  return [];
14141
14163
  }
14142
14164
  const effectiveLimit = limit > 0 ? limit : 100;
14143
- const results = await this.table.vectorSearch(vector).limit(effectiveLimit).toArray();
14144
- return results.map((row) => ({
14165
+ const float32 = new Float32Array(vector);
14166
+ const vectorBuffer = Buffer.from(float32.buffer);
14167
+ const stmt = this.db.prepare(`
14168
+ SELECT id, distance
14169
+ FROM ${this.tableName}
14170
+ WHERE vector MATCH ?
14171
+ AND k = ?
14172
+ ORDER BY distance
14173
+ `);
14174
+ const rows = stmt.all(vectorBuffer, effectiveLimit);
14175
+ return rows.map((row) => ({
14145
14176
  id: row.id,
14146
- score: 1 - row._distance
14147
- // Convert distance to similarity
14177
+ score: 1 / (1 + row.distance)
14148
14178
  }));
14149
14179
  }
14150
14180
  async deleteVector(id) {
14151
- if (!this.table)
14152
- return;
14153
- const sanitizedId = id.replace(/'/g, "''");
14154
- await this.table.delete(`id = '${sanitizedId}'`);
14181
+ const stmt = this.db.prepare(`DELETE FROM ${this.tableName} WHERE id = ?`);
14182
+ stmt.run(id);
14155
14183
  }
14156
14184
  async getVectorCount() {
14157
- if (!this.table)
14158
- return 0;
14159
- return await this.table.countRows();
14185
+ const stmt = this.db.prepare(`SELECT COUNT(*) as count FROM ${this.tableName}`);
14186
+ const result = stmt.get();
14187
+ return result.count;
14160
14188
  }
14161
14189
  async getVectorsByIds(ids) {
14162
14190
  const result = /* @__PURE__ */ new Map();
14163
- if (!this.table || ids.length === 0)
14191
+ if (ids.length === 0)
14164
14192
  return result;
14165
14193
  const BATCH_SIZE = 100;
14166
- try {
14167
- for (let i = 0; i < ids.length; i += BATCH_SIZE) {
14168
- const batch = ids.slice(i, i + BATCH_SIZE);
14169
- const sanitizedIds = batch.map((id) => id.replace(/'/g, "''"));
14170
- const filter = sanitizedIds.map((id) => `id = '${id}'`).join(" OR ");
14171
- const rows = await this.table.query().where(filter).toArray();
14172
- for (const row of rows) {
14173
- result.set(row.id, row.vector);
14174
- }
14194
+ for (let i = 0; i < ids.length; i += BATCH_SIZE) {
14195
+ const batch = ids.slice(i, i + BATCH_SIZE);
14196
+ const placeholders = batch.map(() => "?").join(",");
14197
+ const stmt = this.db.prepare(`
14198
+ SELECT id, vector FROM ${this.tableName}
14199
+ WHERE id IN (${placeholders})
14200
+ `);
14201
+ const rows = stmt.all(...batch);
14202
+ for (const row of rows) {
14203
+ const vector = Array.from(new Float32Array(row.vector));
14204
+ result.set(row.id, vector);
14175
14205
  }
14176
- } catch {
14177
14206
  }
14178
14207
  return result;
14179
14208
  }
14180
14209
  async close() {
14181
- }
14182
- /**
14183
- * Optimize the LanceDB table to reduce storage.
14184
- * This compacts files, prunes old versions, and optimizes indices.
14185
- * Should be called periodically (e.g., after many inserts or on cleanup command).
14186
- *
14187
- * @param cleanupOlderThan - Date before which old versions should be pruned (default: now)
14188
- */
14189
- async optimize(cleanupOlderThan) {
14190
- if (!this.table)
14191
- return null;
14192
14210
  try {
14193
- const table = this.table;
14194
- const stats = await table.optimize({ cleanupOlderThan: cleanupOlderThan ?? /* @__PURE__ */ new Date() });
14195
- return {
14196
- compacted: stats?.compaction?.filesRemoved ?? 0,
14197
- pruned: stats?.prune?.versionsRemoved ?? 0
14198
- };
14199
- } catch (error2) {
14200
- console.error("[memextend] LanceDB optimize failed:", error2);
14201
- return null;
14211
+ this.db.pragma("wal_checkpoint(TRUNCATE)");
14212
+ } catch {
14202
14213
  }
14214
+ this.db.close();
14215
+ }
14216
+ // No optimize needed - SQLite handles this automatically!
14217
+ async optimize() {
14218
+ this.db.exec("VACUUM");
14219
+ return { compacted: 0, pruned: 0 };
14203
14220
  }
14204
14221
  };
14205
14222
 
@@ -14335,12 +14352,12 @@ async function createEmbedFunction(modelsDir) {
14335
14352
  // ../../core/dist/memory/retrieve.js
14336
14353
  var MemoryRetriever = class {
14337
14354
  sqlite;
14338
- lancedb;
14355
+ vectorStore;
14339
14356
  embed;
14340
14357
  options;
14341
- constructor(sqlite2, lancedb3, embed, options = {}) {
14358
+ constructor(sqlite2, vectorStore2, embed, options = {}) {
14342
14359
  this.sqlite = sqlite2;
14343
- this.lancedb = lancedb3;
14360
+ this.vectorStore = vectorStore2;
14344
14361
  this.embed = embed;
14345
14362
  this.options = {
14346
14363
  defaultLimit: options.defaultLimit ?? 0,
@@ -14358,12 +14375,12 @@ var MemoryRetriever = class {
14358
14375
  return this.sqlite.searchFTS(query, limit);
14359
14376
  }
14360
14377
  /**
14361
- * Vector similarity search using LanceDB
14378
+ * Vector similarity search
14362
14379
  */
14363
14380
  async vectorSearch(query, options = {}) {
14364
14381
  const limit = options.limit ?? this.options.defaultLimit;
14365
14382
  const queryVector = await this.embed(query);
14366
- const vectorResults = await this.lancedb.search(queryVector, limit * 2);
14383
+ const vectorResults = await this.vectorStore.search(queryVector, limit * 2);
14367
14384
  const results = [];
14368
14385
  for (const vr of vectorResults) {
14369
14386
  const memory = this.sqlite.getMemory(vr.id);
@@ -14497,25 +14514,25 @@ var DB_PATH = (0, import_path2.join)(MEMEXTEND_DIR, "memextend.db");
14497
14514
  var VECTORS_PATH = (0, import_path2.join)(MEMEXTEND_DIR, "vectors");
14498
14515
  var MODELS_PATH = (0, import_path2.join)(MEMEXTEND_DIR, "models");
14499
14516
  var sqlite = null;
14500
- var lancedb2 = null;
14517
+ var vectorStore = null;
14501
14518
  var retriever = null;
14502
14519
  var embedder = null;
14503
14520
  async function getStorage() {
14504
- if (!sqlite || !lancedb2 || !retriever || !embedder) {
14521
+ if (!sqlite || !vectorStore || !retriever || !embedder) {
14505
14522
  if (!(0, import_fs2.existsSync)(DB_PATH)) {
14506
14523
  throw new Error("memextend not initialized. Run `memextend init` first.");
14507
14524
  }
14508
14525
  sqlite = new SQLiteStorage(DB_PATH);
14509
- lancedb2 = await LanceDBStorage.create(VECTORS_PATH);
14526
+ vectorStore = await SQLiteVecStorage.create(VECTORS_PATH);
14510
14527
  embedder = await createEmbedFunction(MODELS_PATH);
14511
- retriever = new MemoryRetriever(sqlite, lancedb2, embedder.embedQuery);
14528
+ retriever = new MemoryRetriever(sqlite, vectorStore, embedder.embedQuery);
14512
14529
  }
14513
- return { sqlite, lancedb: lancedb2, retriever, embedder };
14530
+ return { sqlite, vectorStore, retriever, embedder };
14514
14531
  }
14515
14532
  var server = new Server(
14516
14533
  {
14517
14534
  name: "memextend",
14518
- version: "0.2.0"
14535
+ version: "0.3.2"
14519
14536
  },
14520
14537
  {
14521
14538
  capabilities: {
@@ -14630,7 +14647,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
14630
14647
  ${formatted}` }] };
14631
14648
  }
14632
14649
  case "memextend_save": {
14633
- const { sqlite: sqlite2, lancedb: lancedb3, embedder: embedder2 } = await getStorage();
14650
+ const { sqlite: sqlite2, vectorStore: vectorStore2, embedder: embedder2 } = await getStorage();
14634
14651
  const content = args?.content;
14635
14652
  const projectIdArg = args?.projectId;
14636
14653
  if (!projectIdArg || projectIdArg.trim() === "") {
@@ -14669,7 +14686,7 @@ ${formatted}` }] };
14669
14686
  metadata: null
14670
14687
  });
14671
14688
  const vector = await embedder2.embed(content);
14672
- await lancedb3.insertVector(memoryId, vector);
14689
+ await vectorStore2.insertVector(memoryId, vector);
14673
14690
  return { content: [{ type: "text", text: `Memory saved to "${projectName}" with ID: ${memoryId}` }] };
14674
14691
  }
14675
14692
  case "memextend_save_global": {
@@ -14692,20 +14709,20 @@ ${formatted}` }] };
14692
14709
  return { content: [{ type: "text", text: `Global ${type} saved: "${content}"` }] };
14693
14710
  }
14694
14711
  case "memextend_forget": {
14695
- const { sqlite: sqlite2, lancedb: lancedb3 } = await getStorage();
14712
+ const { sqlite: sqlite2, vectorStore: vectorStore2 } = await getStorage();
14696
14713
  const memoryId = args?.memoryId;
14697
14714
  const deleted = sqlite2.deleteMemory(memoryId);
14698
14715
  if (deleted) {
14699
- await lancedb3.deleteVector(memoryId);
14716
+ await vectorStore2.deleteVector(memoryId);
14700
14717
  return { content: [{ type: "text", text: `Memory ${memoryId} deleted.` }] };
14701
14718
  } else {
14702
14719
  return { content: [{ type: "text", text: `Memory ${memoryId} not found.` }] };
14703
14720
  }
14704
14721
  }
14705
14722
  case "memextend_status": {
14706
- const { sqlite: sqlite2, lancedb: lancedb3, embedder: embedder2 } = await getStorage();
14723
+ const { sqlite: sqlite2, vectorStore: vectorStore2, embedder: embedder2 } = await getStorage();
14707
14724
  const memoryCount = sqlite2.getMemoryCount();
14708
- const vectorCount = await lancedb3.getVectorCount();
14725
+ const vectorCount = await vectorStore2.getVectorCount();
14709
14726
  const detected = getCurrentProjectId2();
14710
14727
  return {
14711
14728
  content: [{
@@ -8,7 +8,7 @@ import { existsSync } from 'fs';
8
8
  import { join, basename } from 'path';
9
9
  import { homedir } from 'os';
10
10
  import { execSync } from 'child_process';
11
- import { SQLiteStorage, LanceDBStorage, MemoryRetriever, createEmbedFunction } from '@memextend/core';
11
+ import { SQLiteStorage, SQLiteVecStorage, MemoryRetriever, createEmbedFunction } from '@memextend/core';
12
12
  /**
13
13
  * Get the current project ID based on working directory.
14
14
  * Tries multiple methods to determine the project context.
@@ -75,24 +75,24 @@ const VECTORS_PATH = join(MEMEXTEND_DIR, 'vectors');
75
75
  const MODELS_PATH = join(MEMEXTEND_DIR, 'models');
76
76
  // Lazy-loaded storage instances
77
77
  let sqlite = null;
78
- let lancedb = null;
78
+ let vectorStore = null;
79
79
  let retriever = null;
80
80
  let embedder = null;
81
81
  async function getStorage() {
82
- if (!sqlite || !lancedb || !retriever || !embedder) {
82
+ if (!sqlite || !vectorStore || !retriever || !embedder) {
83
83
  if (!existsSync(DB_PATH)) {
84
84
  throw new Error('memextend not initialized. Run `memextend init` first.');
85
85
  }
86
86
  sqlite = new SQLiteStorage(DB_PATH);
87
- lancedb = await LanceDBStorage.create(VECTORS_PATH);
87
+ vectorStore = await SQLiteVecStorage.create(VECTORS_PATH);
88
88
  embedder = await createEmbedFunction(MODELS_PATH);
89
- retriever = new MemoryRetriever(sqlite, lancedb, embedder.embedQuery);
89
+ retriever = new MemoryRetriever(sqlite, vectorStore, embedder.embedQuery);
90
90
  }
91
- return { sqlite, lancedb, retriever, embedder };
91
+ return { sqlite, vectorStore, retriever, embedder };
92
92
  }
93
93
  const server = new Server({
94
94
  name: 'memextend',
95
- version: '0.2.0',
95
+ version: MEMEXTEND_VERSION,
96
96
  }, {
97
97
  capabilities: {
98
98
  tools: {},
@@ -205,7 +205,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
205
205
  return { content: [{ type: 'text', text: `Found ${results.length} memories:\n\n${formatted}` }] };
206
206
  }
207
207
  case 'memextend_save': {
208
- const { sqlite, lancedb, embedder } = await getStorage();
208
+ const { sqlite, vectorStore, embedder } = await getStorage();
209
209
  const content = args?.content;
210
210
  const projectIdArg = args?.projectId;
211
211
  // Validate projectId is provided
@@ -249,7 +249,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
249
249
  metadata: null,
250
250
  });
251
251
  const vector = await embedder.embed(content);
252
- await lancedb.insertVector(memoryId, vector);
252
+ await vectorStore.insertVector(memoryId, vector);
253
253
  return { content: [{ type: 'text', text: `Memory saved to "${projectName}" with ID: ${memoryId}` }] };
254
254
  }
255
255
  case 'memextend_save_global': {
@@ -273,12 +273,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
273
273
  return { content: [{ type: 'text', text: `Global ${type} saved: "${content}"` }] };
274
274
  }
275
275
  case 'memextend_forget': {
276
- const { sqlite, lancedb } = await getStorage();
276
+ const { sqlite, vectorStore } = await getStorage();
277
277
  const memoryId = args?.memoryId;
278
278
  const deleted = sqlite.deleteMemory(memoryId);
279
279
  if (deleted) {
280
280
  // Also delete the vector embedding
281
- await lancedb.deleteVector(memoryId);
281
+ await vectorStore.deleteVector(memoryId);
282
282
  return { content: [{ type: 'text', text: `Memory ${memoryId} deleted.` }] };
283
283
  }
284
284
  else {
@@ -286,9 +286,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
286
286
  }
287
287
  }
288
288
  case 'memextend_status': {
289
- const { sqlite, lancedb, embedder } = await getStorage();
289
+ const { sqlite, vectorStore, embedder } = await getStorage();
290
290
  const memoryCount = sqlite.getMemoryCount();
291
- const vectorCount = await lancedb.getVectorCount();
291
+ const vectorCount = await vectorStore.getVectorCount();
292
292
  // Debug: show project detection info
293
293
  const detected = getCurrentProjectId();
294
294
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,8CAA8C;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtG;;;GAGG;AACH,SAAS,mBAAmB;IAC1B,oEAAoE;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;IAExF,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,4DAA4D;QAC5D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,+BAA+B,EAAE;gBACxD,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,OAAO;aACd,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;gBACtB,IAAI,EAAE,MAAM;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,+BAA+B,EAAE;gBACxD,GAAG;gBACH,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACnE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,OAAO;aACd,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC/D,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC;gBACnB,IAAI,EAAE,GAAG;aACV,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO;QACL,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACpD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAElD,gCAAgC;AAChC,IAAI,MAAM,GAAyB,IAAI,CAAC;AACxC,IAAI,OAAO,GAA0B,IAAI,CAAC;AAC1C,IAAI,SAAS,GAA2B,IAAI,CAAC;AAC7C,IAAI,QAAQ,GAA2D,IAAI,CAAC;AAE5E,KAAK,UAAU,UAAU;IAMvB,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACpD,QAAQ,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAClD,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO;QACL,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,2TAA2T;gBACxU,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,8DAA8D;yBAC5E;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,wCAAwC;yBACtD;qBACF;oBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,iYAAiY;gBAC9Y,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,4BAA4B;yBAC1C;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,mGAAmG;yBACjH;qBACF;oBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;iBACnC;aACF;YACD;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,WAAW,EAAE,oEAAoE;gBACjF,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,6CAA6C;yBAC3D;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;4BACvC,WAAW,EAAE,uBAAuB;yBACrC;qBACF;oBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;iBAC9B;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,gCAAgC;yBAC9C;qBACF;oBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACvB;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,6CAA6C;gBAC1D,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;iBACf;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,oBAAoB;AACpB,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,IAAI,CAAC;QACH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;gBACpC,MAAM,KAAK,GAAI,IAAI,EAAE,KAAgB,IAAI,CAAC,CAAC;gBAE3C,yCAAyC;gBACzC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEtE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC,EAAE,CAAC;gBACzF,CAAC;gBAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACrC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;oBAC/D,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,CAAC,MAAM,iBAAiB,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;YACpG,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;gBACxC,MAAM,YAAY,GAAG,IAAI,EAAE,SAAmB,CAAC;gBAE/C,iCAAiC;gBACjC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4FAA4F,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC5J,CAAC;gBAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;gBAExC,8EAA8E;gBAC9E,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAE5D,IAAI,SAAiB,CAAC;gBACtB,IAAI,cAAc,EAAE,CAAC;oBACnB,6DAA6D;oBAC7D,SAAS,GAAG,cAAc,CAAC,EAAE,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,wCAAwC;oBACxC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9F,MAAM,CAAC,aAAa,CAAC;wBACnB,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,EAAE,EAAE,6BAA6B;wBACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;gBAED,mBAAmB;gBACnB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mDAAmD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACnH,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;oBAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACzG,CAAC;gBAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;gBAC9B,MAAM,CAAC,YAAY,CAAC;oBAClB,EAAE,EAAE,QAAQ;oBACZ,SAAS;oBACT,OAAO;oBACP,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,SAAS,EAAE,IAAI;oBACf,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAE7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,WAAW,cAAc,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;YACxG,CAAC;YAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAyC,CAAC;gBAE7D,mBAAmB;gBACnB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3G,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;oBAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACtH,CAAC;gBAED,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,mBAAmB,CAAC;oBACzB,EAAE,EAAE,SAAS;oBACb,GAAG,EAAE,IAAI;oBACT,OAAO;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBAEH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,IAAI,YAAY,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;YACrF,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;gBAE1C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,OAAO,EAAE,CAAC;oBACZ,mCAAmC;oBACnC,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBACrC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,QAAQ,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,QAAQ,aAAa,EAAE,CAAC,EAAE,CAAC;gBAChF,CAAC;YACH,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;gBACzD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;gBAEnD,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;gBAEvC,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE;oBACE,WAAW;uBACR,WAAW;2BACP,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB;cAC3D,OAAO;aACR,YAAY;;;iBAGR,QAAQ,CAAC,EAAE;mBACT,QAAQ,CAAC,IAAI;mBACb,QAAQ,CAAC,IAAI,IAAI,QAAQ;aAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW;oBACvB,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;yBAChC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,WAAW;mBAChD,OAAO,CAAC,GAAG,EAAE,EAAE;yBACvB,CAAC;iBACH,CAAC;YACJ,CAAC;YAED;gBACE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACzE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memextend/claude-code",
3
- "version": "0.2.0",
3
+ "version": "0.3.2",
4
4
  "description": "Claude Code adapter for memextend - hooks and MCP server for persistent AI memory",
5
5
  "author": "ZodTTD LLC <repo@zodttd.com>",
6
6
  "license": "MIT",
@@ -13,7 +13,7 @@
13
13
  "test": "vitest run"
14
14
  },
15
15
  "dependencies": {
16
- "@memextend/core": "^0.2.0",
16
+ "@memextend/core": "^0.3.2",
17
17
  "@modelcontextprotocol/sdk": "^1.0.0"
18
18
  },
19
19
  "repository": {
@@ -5,18 +5,26 @@ import { build } from 'esbuild';
5
5
  import { join, dirname } from 'path';
6
6
  import { fileURLToPath } from 'url';
7
7
  import { mkdir } from 'fs/promises';
8
+ import { readFileSync } from 'fs';
8
9
 
9
10
  const __dirname = dirname(fileURLToPath(import.meta.url));
10
11
  const srcDir = join(__dirname, '..', 'src');
11
12
  const distDir = join(__dirname, '..', 'dist');
12
13
 
14
+ // Read version from root package.json
15
+ const rootPkg = JSON.parse(readFileSync(join(__dirname, '..', '..', '..', '..', 'package.json'), 'utf-8'));
16
+ const version = rootPkg.version;
17
+
13
18
  const commonOptions = {
14
19
  bundle: true,
15
20
  platform: 'node',
16
21
  target: 'node18',
17
22
  format: 'cjs',
18
- external: ['better-sqlite3', 'node-llama-cpp', '@lancedb/lancedb'],
23
+ external: ['better-sqlite3', 'node-llama-cpp', 'sqlite-vec'],
19
24
  logLevel: 'warning',
25
+ define: {
26
+ 'MEMEXTEND_VERSION': JSON.stringify(version),
27
+ },
20
28
  };
21
29
 
22
30
  async function buildHooks() {