From 6bf90a1d68c1bbc2fc7e071a9484cee0d6f3761a Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Tue, 24 Mar 2026 13:45:18 -0700 Subject: [PATCH] fix(test): stabilize memory vector dedupe assertion --- src/memory/manager.vector-dedupe.test.ts | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/memory/manager.vector-dedupe.test.ts b/src/memory/manager.vector-dedupe.test.ts index 1fbc034ad5e..c40339a5e6b 100644 --- a/src/memory/manager.vector-dedupe.test.ts +++ b/src/memory/manager.vector-dedupe.test.ts @@ -87,15 +87,6 @@ describe("memory vector dedupe", () => { ).db; db.exec("CREATE TABLE IF NOT EXISTS chunks_vec (id TEXT PRIMARY KEY, embedding BLOB)"); - const sqlSeen: string[] = []; - const originalPrepare = db.prepare.bind(db); - db.prepare = (sql: string) => { - if (sql.includes("chunks_vec")) { - sqlSeen.push(sql); - } - return originalPrepare(sql); - }; - ( manager as unknown as { ensureVectorReady: (dims?: number) => Promise } ).ensureVectorReady = async () => true; @@ -110,12 +101,21 @@ describe("memory vector dedupe", () => { } ).indexFile(entry, { source: "memory" }); - const deleteIndex = sqlSeen.findIndex((sql) => - sql.includes("DELETE FROM chunks_vec WHERE id = ?"), - ); - const insertIndex = sqlSeen.findIndex((sql) => sql.includes("INSERT INTO chunks_vec")); - expect(deleteIndex).toBeGreaterThan(-1); - expect(insertIndex).toBeGreaterThan(-1); - expect(deleteIndex).toBeLessThan(insertIndex); + db.exec(` + CREATE TRIGGER IF NOT EXISTS fail_if_vector_row_not_deleted + BEFORE INSERT ON chunks_vec + WHEN EXISTS (SELECT 1 FROM chunks_vec WHERE id = NEW.id) + BEGIN + SELECT RAISE(FAIL, 'vector row not deleted before insert'); + END; + `); + + await expect( + ( + manager as unknown as { + indexFile: (entry: unknown, options: { source: "memory" }) => Promise; + } + ).indexFile(entry, { source: "memory" }), + ).resolves.toBeUndefined(); }); });