@memextend/claude-code 0.1.9 → 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/dist/hooks/pre-compact.cjs +133 -81
- package/dist/hooks/pre-compact.js +9 -9
- package/dist/hooks/pre-compact.js.map +1 -1
- package/dist/hooks/session-start.cjs +134 -82
- package/dist/hooks/session-start.js +5 -5
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/hooks/stop.cjs +133 -81
- package/dist/hooks/stop.js +9 -9
- package/dist/hooks/stop.js.map +1 -1
- package/dist/mcp/server.cjs +142 -90
- package/dist/mcp/server.js +13 -13
- package/dist/mcp/server.js.map +1 -1
- package/package.json +2 -2
- package/scripts/build-hooks.js +1 -1
|
@@ -394,116 +394,168 @@ var SQLiteStorage = class {
|
|
|
394
394
|
}
|
|
395
395
|
};
|
|
396
396
|
|
|
397
|
-
// ../../core/dist/storage/
|
|
398
|
-
var
|
|
399
|
-
|
|
397
|
+
// ../../core/dist/storage/sqlite-vec.js
|
|
398
|
+
var import_better_sqlite32 = __toESM(require("better-sqlite3"), 1);
|
|
399
|
+
|
|
400
|
+
// ../../../node_modules/sqlite-vec/index.mjs
|
|
401
|
+
var import_node_path = require("node:path");
|
|
402
|
+
var import_node_url = require("node:url");
|
|
403
|
+
var import_node_process = require("node:process");
|
|
404
|
+
var import_node_fs = require("node:fs");
|
|
405
|
+
var import_meta = {};
|
|
406
|
+
var BASE_PACKAGE_NAME = "sqlite-vec";
|
|
407
|
+
var ENTRYPOINT_BASE_NAME = "vec0";
|
|
408
|
+
var supportedPlatforms = [["macos", "aarch64"], ["macos", "x86_64"], ["windows", "x86_64"], ["linux", "x86_64"], ["linux", "aarch64"]];
|
|
409
|
+
var invalidPlatformErrorMessage = `Unsupported platform for ${BASE_PACKAGE_NAME}, on a ${import_node_process.platform}-${import_node_process.arch} machine. Supported platforms are (${supportedPlatforms.map(([p, a]) => `${p}-${a}`).join(",")}). Consult the ${BASE_PACKAGE_NAME} NPM package README for details.`;
|
|
410
|
+
var extensionNotFoundErrorMessage = (packageName) => `Loadble extension for ${BASE_PACKAGE_NAME} not found. Was the ${packageName} package installed?`;
|
|
411
|
+
function validPlatform(platform2, arch2) {
|
|
412
|
+
return supportedPlatforms.find(([p, a]) => platform2 == p && arch2 === a) !== null;
|
|
413
|
+
}
|
|
414
|
+
function extensionSuffix(platform2) {
|
|
415
|
+
if (platform2 === "win32")
|
|
416
|
+
return "dll";
|
|
417
|
+
if (platform2 === "darwin")
|
|
418
|
+
return "dylib";
|
|
419
|
+
return "so";
|
|
420
|
+
}
|
|
421
|
+
function platformPackageName(platform2, arch2) {
|
|
422
|
+
const os = platform2 === "win32" ? "windows" : platform2;
|
|
423
|
+
return `${BASE_PACKAGE_NAME}-${os}-${arch2}`;
|
|
424
|
+
}
|
|
425
|
+
function getLoadablePath() {
|
|
426
|
+
if (!validPlatform(import_node_process.platform, import_node_process.arch)) {
|
|
427
|
+
throw new Error(
|
|
428
|
+
invalidPlatformErrorMessage
|
|
429
|
+
);
|
|
430
|
+
}
|
|
431
|
+
const packageName = platformPackageName(import_node_process.platform, import_node_process.arch);
|
|
432
|
+
const loadablePath = (0, import_node_path.join)(
|
|
433
|
+
(0, import_node_url.fileURLToPath)(new URL((0, import_node_path.join)("."), import_meta.url)),
|
|
434
|
+
"..",
|
|
435
|
+
packageName,
|
|
436
|
+
`${ENTRYPOINT_BASE_NAME}.${extensionSuffix(import_node_process.platform)}`
|
|
437
|
+
);
|
|
438
|
+
if (!(0, import_node_fs.statSync)(loadablePath, { throwIfNoEntry: false })) {
|
|
439
|
+
throw new Error(extensionNotFoundErrorMessage(packageName));
|
|
440
|
+
}
|
|
441
|
+
return loadablePath;
|
|
442
|
+
}
|
|
443
|
+
function load(db) {
|
|
444
|
+
db.loadExtension(getLoadablePath());
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
// ../../core/dist/storage/sqlite-vec.js
|
|
448
|
+
var SQLiteVecStorage = class _SQLiteVecStorage {
|
|
400
449
|
db;
|
|
401
|
-
|
|
402
|
-
tableName = "memories";
|
|
450
|
+
tableName = "memory_vectors";
|
|
403
451
|
dimensions = 384;
|
|
404
452
|
constructor(db) {
|
|
405
453
|
this.db = db;
|
|
406
454
|
}
|
|
407
455
|
static async create(dbPath) {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
456
|
+
let actualPath = dbPath;
|
|
457
|
+
if (dbPath.endsWith("vectors") || dbPath.endsWith("vectors/")) {
|
|
458
|
+
actualPath = dbPath.replace(/\/?$/, ".db");
|
|
459
|
+
}
|
|
460
|
+
const db = new import_better_sqlite32.default(actualPath);
|
|
461
|
+
load(db);
|
|
462
|
+
const storage = new _SQLiteVecStorage(db);
|
|
463
|
+
storage.initialize();
|
|
411
464
|
return storage;
|
|
412
465
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
466
|
+
initialize() {
|
|
467
|
+
this.db.exec(`
|
|
468
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS ${this.tableName} USING vec0(
|
|
469
|
+
id TEXT PRIMARY KEY,
|
|
470
|
+
vector FLOAT[${this.dimensions}]
|
|
471
|
+
)
|
|
472
|
+
`);
|
|
418
473
|
}
|
|
419
474
|
async insertVector(id, vector) {
|
|
420
475
|
if (vector.length !== this.dimensions) {
|
|
421
476
|
throw new Error(`Vector must have ${this.dimensions} dimensions, got ${vector.length}`);
|
|
422
477
|
}
|
|
423
|
-
const
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
478
|
+
const float32 = new Float32Array(vector);
|
|
479
|
+
const vectorBuffer = Buffer.from(float32.buffer);
|
|
480
|
+
const stmt = this.db.prepare(`
|
|
481
|
+
INSERT OR REPLACE INTO ${this.tableName} (id, vector)
|
|
482
|
+
VALUES (?, ?)
|
|
483
|
+
`);
|
|
484
|
+
stmt.run(id, vectorBuffer);
|
|
429
485
|
}
|
|
430
486
|
async insertVectors(items) {
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
487
|
+
const stmt = this.db.prepare(`
|
|
488
|
+
INSERT OR REPLACE INTO ${this.tableName} (id, vector)
|
|
489
|
+
VALUES (?, ?)
|
|
490
|
+
`);
|
|
491
|
+
const insertMany = this.db.transaction((items2) => {
|
|
492
|
+
for (const item of items2) {
|
|
493
|
+
if (item.vector.length !== this.dimensions) {
|
|
494
|
+
throw new Error(`Vector must have ${this.dimensions} dimensions, got ${item.vector.length}`);
|
|
495
|
+
}
|
|
496
|
+
const float32 = new Float32Array(item.vector);
|
|
497
|
+
const vectorBuffer = Buffer.from(float32.buffer);
|
|
498
|
+
stmt.run(item.id, vectorBuffer);
|
|
434
499
|
}
|
|
435
|
-
}
|
|
436
|
-
|
|
437
|
-
this.table = await this.db.createTable(this.tableName, items);
|
|
438
|
-
} else {
|
|
439
|
-
await this.table.add(items);
|
|
440
|
-
}
|
|
500
|
+
});
|
|
501
|
+
insertMany(items);
|
|
441
502
|
}
|
|
442
503
|
async search(vector, limit = 10) {
|
|
443
|
-
if (
|
|
444
|
-
|
|
504
|
+
if (vector.length !== this.dimensions) {
|
|
505
|
+
throw new Error(`Query vector must have ${this.dimensions} dimensions, got ${vector.length}`);
|
|
445
506
|
}
|
|
446
507
|
const effectiveLimit = limit > 0 ? limit : 100;
|
|
447
|
-
const
|
|
448
|
-
|
|
508
|
+
const float32 = new Float32Array(vector);
|
|
509
|
+
const vectorBuffer = Buffer.from(float32.buffer);
|
|
510
|
+
const stmt = this.db.prepare(`
|
|
511
|
+
SELECT id, distance
|
|
512
|
+
FROM ${this.tableName}
|
|
513
|
+
WHERE vector MATCH ?
|
|
514
|
+
ORDER BY distance
|
|
515
|
+
LIMIT ?
|
|
516
|
+
`);
|
|
517
|
+
const rows = stmt.all(vectorBuffer, effectiveLimit);
|
|
518
|
+
return rows.map((row) => ({
|
|
449
519
|
id: row.id,
|
|
450
|
-
score: 1
|
|
451
|
-
// Convert distance to similarity
|
|
520
|
+
score: 1 / (1 + row.distance)
|
|
452
521
|
}));
|
|
453
522
|
}
|
|
454
523
|
async deleteVector(id) {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
const sanitizedId = id.replace(/'/g, "''");
|
|
458
|
-
await this.table.delete(`id = '${sanitizedId}'`);
|
|
524
|
+
const stmt = this.db.prepare(`DELETE FROM ${this.tableName} WHERE id = ?`);
|
|
525
|
+
stmt.run(id);
|
|
459
526
|
}
|
|
460
527
|
async getVectorCount() {
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
return
|
|
528
|
+
const stmt = this.db.prepare(`SELECT COUNT(*) as count FROM ${this.tableName}`);
|
|
529
|
+
const result = stmt.get();
|
|
530
|
+
return result.count;
|
|
464
531
|
}
|
|
465
532
|
async getVectorsByIds(ids) {
|
|
466
533
|
const result = /* @__PURE__ */ new Map();
|
|
467
|
-
if (
|
|
534
|
+
if (ids.length === 0)
|
|
468
535
|
return result;
|
|
469
536
|
const BATCH_SIZE = 100;
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
537
|
+
for (let i = 0; i < ids.length; i += BATCH_SIZE) {
|
|
538
|
+
const batch = ids.slice(i, i + BATCH_SIZE);
|
|
539
|
+
const placeholders = batch.map(() => "?").join(",");
|
|
540
|
+
const stmt = this.db.prepare(`
|
|
541
|
+
SELECT id, vector FROM ${this.tableName}
|
|
542
|
+
WHERE id IN (${placeholders})
|
|
543
|
+
`);
|
|
544
|
+
const rows = stmt.all(...batch);
|
|
545
|
+
for (const row of rows) {
|
|
546
|
+
const vector = Array.from(new Float32Array(row.vector));
|
|
547
|
+
result.set(row.id, vector);
|
|
479
548
|
}
|
|
480
|
-
} catch {
|
|
481
549
|
}
|
|
482
550
|
return result;
|
|
483
551
|
}
|
|
484
552
|
async close() {
|
|
553
|
+
this.db.close();
|
|
485
554
|
}
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
*
|
|
491
|
-
* @param cleanupOlderThan - Date before which old versions should be pruned (default: now)
|
|
492
|
-
*/
|
|
493
|
-
async optimize(cleanupOlderThan) {
|
|
494
|
-
if (!this.table)
|
|
495
|
-
return null;
|
|
496
|
-
try {
|
|
497
|
-
const table = this.table;
|
|
498
|
-
const stats = await table.optimize({ cleanupOlderThan: cleanupOlderThan ?? /* @__PURE__ */ new Date() });
|
|
499
|
-
return {
|
|
500
|
-
compacted: stats?.compaction?.filesRemoved ?? 0,
|
|
501
|
-
pruned: stats?.prune?.versionsRemoved ?? 0
|
|
502
|
-
};
|
|
503
|
-
} catch (error) {
|
|
504
|
-
console.error("[memextend] LanceDB optimize failed:", error);
|
|
505
|
-
return null;
|
|
506
|
-
}
|
|
555
|
+
// No optimize needed - SQLite handles this automatically!
|
|
556
|
+
async optimize() {
|
|
557
|
+
this.db.exec("VACUUM");
|
|
558
|
+
return { compacted: 0, pruned: 0 };
|
|
507
559
|
}
|
|
508
560
|
};
|
|
509
561
|
|
|
@@ -992,7 +1044,7 @@ async function main() {
|
|
|
992
1044
|
log("PreCompact", `Found ${captures.length} captures to save`, { reasoning: reasoningCount, tools: toolCount });
|
|
993
1045
|
const projectId = getProjectId2(input.cwd);
|
|
994
1046
|
const sqlite = new SQLiteStorage(DB_PATH);
|
|
995
|
-
const
|
|
1047
|
+
const vectorStore = await SQLiteVecStorage.create(VECTORS_PATH);
|
|
996
1048
|
const project = sqlite.getProject(projectId);
|
|
997
1049
|
if (!project) {
|
|
998
1050
|
sqlite.insertProject({
|
|
@@ -1043,7 +1095,7 @@ async function main() {
|
|
|
1043
1095
|
}
|
|
1044
1096
|
sqlite.insertMemory(memory);
|
|
1045
1097
|
const vector = await embedder.embed(content);
|
|
1046
|
-
await
|
|
1098
|
+
await vectorStore.insertVector(memoryId, vector);
|
|
1047
1099
|
sessionState.capturedIds.push(contentHash);
|
|
1048
1100
|
capturedCount++;
|
|
1049
1101
|
}
|
|
@@ -1052,7 +1104,7 @@ async function main() {
|
|
|
1052
1104
|
if (dedupeOnPrune) {
|
|
1053
1105
|
const dedupedIds = await deduplicateStoredMemories(
|
|
1054
1106
|
sqlite,
|
|
1055
|
-
|
|
1107
|
+
vectorStore,
|
|
1056
1108
|
projectId,
|
|
1057
1109
|
dedupeThreshold
|
|
1058
1110
|
);
|
|
@@ -1071,7 +1123,7 @@ async function main() {
|
|
|
1071
1123
|
if (pruneResult.deleted > 0) {
|
|
1072
1124
|
log("PreCompact", `Pruned ${pruneResult.deleted} old memories to stay within limits`);
|
|
1073
1125
|
for (const id of pruneResult.deletedIds) {
|
|
1074
|
-
await
|
|
1126
|
+
await vectorStore.deleteVector(id);
|
|
1075
1127
|
}
|
|
1076
1128
|
}
|
|
1077
1129
|
}
|
|
@@ -1079,7 +1131,7 @@ async function main() {
|
|
|
1079
1131
|
captureState[input.session_id] = sessionState;
|
|
1080
1132
|
await saveCaptureState(captureState);
|
|
1081
1133
|
sqlite.close();
|
|
1082
|
-
await
|
|
1134
|
+
await vectorStore.close();
|
|
1083
1135
|
await embedder.close();
|
|
1084
1136
|
if (capturedCount > 0) {
|
|
1085
1137
|
log("PreCompact", `SUCCESS: Captured ${capturedCount} memories before ${input.trigger} compaction`, {
|
|
@@ -1120,13 +1172,13 @@ async function loadConfig() {
|
|
|
1120
1172
|
function outputResult(result) {
|
|
1121
1173
|
console.log(JSON.stringify(result));
|
|
1122
1174
|
}
|
|
1123
|
-
async function deduplicateStoredMemories(sqlite,
|
|
1175
|
+
async function deduplicateStoredMemories(sqlite, vectorStore, projectId, threshold) {
|
|
1124
1176
|
const deletedIds = [];
|
|
1125
1177
|
const memories = sqlite.getRecentMemories(projectId, 0, 0);
|
|
1126
1178
|
if (memories.length < 2)
|
|
1127
1179
|
return deletedIds;
|
|
1128
1180
|
const memoryIds = memories.map((m) => m.id);
|
|
1129
|
-
const vectors = await
|
|
1181
|
+
const vectors = await vectorStore.getVectorsByIds(memoryIds);
|
|
1130
1182
|
if (vectors.size < 2)
|
|
1131
1183
|
return deletedIds;
|
|
1132
1184
|
const keepIds = /* @__PURE__ */ new Set();
|
|
@@ -1150,7 +1202,7 @@ async function deduplicateStoredMemories(sqlite, lancedb2, projectId, threshold)
|
|
|
1150
1202
|
keptVectors.push({ id: memory.id, vector });
|
|
1151
1203
|
} else {
|
|
1152
1204
|
sqlite.deleteMemory(memory.id);
|
|
1153
|
-
await
|
|
1205
|
+
await vectorStore.deleteVector(memory.id);
|
|
1154
1206
|
deletedIds.push(memory.id);
|
|
1155
1207
|
}
|
|
1156
1208
|
}
|
|
@@ -10,7 +10,7 @@ import { readFile } from 'fs/promises';
|
|
|
10
10
|
import { join, basename } from 'path';
|
|
11
11
|
import { homedir } from 'os';
|
|
12
12
|
import { execSync } from 'child_process';
|
|
13
|
-
import { SQLiteStorage,
|
|
13
|
+
import { SQLiteStorage, SQLiteVecStorage, TranscriptParser, formatCaptureContent, isTextCapture, isToolCapture, createEmbedFunction, cosineSimilarity } from '@memextend/core';
|
|
14
14
|
import { log, logError } from './logger.js';
|
|
15
15
|
const MEMEXTEND_DIR = join(homedir(), '.memextend');
|
|
16
16
|
const CONFIG_PATH = join(MEMEXTEND_DIR, 'config.json');
|
|
@@ -110,7 +110,7 @@ async function main() {
|
|
|
110
110
|
const projectId = getProjectId(input.cwd);
|
|
111
111
|
// Initialize storage
|
|
112
112
|
const sqlite = new SQLiteStorage(DB_PATH);
|
|
113
|
-
const
|
|
113
|
+
const vectorStore = await SQLiteVecStorage.create(VECTORS_PATH);
|
|
114
114
|
// Ensure project is registered
|
|
115
115
|
const project = sqlite.getProject(projectId);
|
|
116
116
|
if (!project) {
|
|
@@ -168,7 +168,7 @@ async function main() {
|
|
|
168
168
|
sqlite.insertMemory(memory);
|
|
169
169
|
// Generate and store embedding
|
|
170
170
|
const vector = await embedder.embed(content);
|
|
171
|
-
await
|
|
171
|
+
await vectorStore.insertVector(memoryId, vector);
|
|
172
172
|
sessionState.capturedIds.push(contentHash);
|
|
173
173
|
capturedCount++;
|
|
174
174
|
}
|
|
@@ -176,7 +176,7 @@ async function main() {
|
|
|
176
176
|
const dedupeOnPrune = config.storage?.deduplicateOnPrune ?? true;
|
|
177
177
|
const dedupeThreshold = config.retrieval?.deduplicationThreshold ?? 0.85;
|
|
178
178
|
if (dedupeOnPrune) {
|
|
179
|
-
const dedupedIds = await deduplicateStoredMemories(sqlite,
|
|
179
|
+
const dedupedIds = await deduplicateStoredMemories(sqlite, vectorStore, projectId, dedupeThreshold);
|
|
180
180
|
if (dedupedIds.length > 0) {
|
|
181
181
|
log('PreCompact', `Deduplicated ${dedupedIds.length} similar memories`);
|
|
182
182
|
}
|
|
@@ -195,7 +195,7 @@ async function main() {
|
|
|
195
195
|
log('PreCompact', `Pruned ${pruneResult.deleted} old memories to stay within limits`);
|
|
196
196
|
// Also delete from vector store
|
|
197
197
|
for (const id of pruneResult.deletedIds) {
|
|
198
|
-
await
|
|
198
|
+
await vectorStore.deleteVector(id);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
}
|
|
@@ -205,7 +205,7 @@ async function main() {
|
|
|
205
205
|
await saveCaptureState(captureState);
|
|
206
206
|
// Close storage and embedder
|
|
207
207
|
sqlite.close();
|
|
208
|
-
await
|
|
208
|
+
await vectorStore.close();
|
|
209
209
|
await embedder.close();
|
|
210
210
|
// Log for debugging
|
|
211
211
|
if (capturedCount > 0) {
|
|
@@ -255,7 +255,7 @@ function outputResult(result) {
|
|
|
255
255
|
* Deduplicate stored memories by removing older ones that are highly similar to newer ones.
|
|
256
256
|
* Uses cosine similarity on embeddings. Keeps the newest memory when duplicates found.
|
|
257
257
|
*/
|
|
258
|
-
async function deduplicateStoredMemories(sqlite,
|
|
258
|
+
async function deduplicateStoredMemories(sqlite, vectorStore, projectId, threshold) {
|
|
259
259
|
const deletedIds = [];
|
|
260
260
|
// Get all memories for this project, sorted by date (newest first)
|
|
261
261
|
const memories = sqlite.getRecentMemories(projectId, 0, 0); // 0 = unlimited
|
|
@@ -263,7 +263,7 @@ async function deduplicateStoredMemories(sqlite, lancedb, projectId, threshold)
|
|
|
263
263
|
return deletedIds;
|
|
264
264
|
// Get vectors for all memories
|
|
265
265
|
const memoryIds = memories.map(m => m.id);
|
|
266
|
-
const vectors = await
|
|
266
|
+
const vectors = await vectorStore.getVectorsByIds(memoryIds);
|
|
267
267
|
if (vectors.size < 2)
|
|
268
268
|
return deletedIds;
|
|
269
269
|
// Track which memories to keep (newest first wins)
|
|
@@ -291,7 +291,7 @@ async function deduplicateStoredMemories(sqlite, lancedb, projectId, threshold)
|
|
|
291
291
|
else {
|
|
292
292
|
// Delete this duplicate
|
|
293
293
|
sqlite.deleteMemory(memory.id);
|
|
294
|
-
await
|
|
294
|
+
await vectorStore.deleteVector(memory.id);
|
|
295
295
|
deletedIds.push(memory.id);
|
|
296
296
|
}
|
|
297
297
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-compact.js","sourceRoot":"","sources":["../../src/hooks/pre-compact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pre-compact.js","sourceRoot":"","sources":["../../src/hooks/pre-compact.ts"],"names":[],"mappings":"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"}
|