@ragpipe/plugin-supabase
Advanced tools
+6
-2
@@ -50,4 +50,5 @@ "use strict"; | ||
| content TEXT NOT NULL, | ||
| content_hash TEXT GENERATED ALWAYS AS (md5(content)) STORED, | ||
| vector VECTOR(${dims}), | ||
| UNIQUE(source, content) | ||
| UNIQUE(source, content_hash) | ||
| ); | ||
@@ -124,3 +125,6 @@ | ||
| async upsert(source, content, vector) { | ||
| const { error } = await supabase.from(table).upsert({ source, content, vector }, { onConflict: "source,content" }); | ||
| const { error } = await supabase.from(table).upsert( | ||
| { source, content, vector }, | ||
| { onConflict: "source,content_hash" } | ||
| ); | ||
| if (error) { | ||
@@ -127,0 +131,0 @@ throw new Error(`Supabase upsert error: ${error.message}`); |
+6
-2
@@ -22,4 +22,5 @@ // src/vector-store.ts | ||
| content TEXT NOT NULL, | ||
| content_hash TEXT GENERATED ALWAYS AS (md5(content)) STORED, | ||
| vector VECTOR(${dims}), | ||
| UNIQUE(source, content) | ||
| UNIQUE(source, content_hash) | ||
| ); | ||
@@ -96,3 +97,6 @@ | ||
| async upsert(source, content, vector) { | ||
| const { error } = await supabase.from(table).upsert({ source, content, vector }, { onConflict: "source,content" }); | ||
| const { error } = await supabase.from(table).upsert( | ||
| { source, content, vector }, | ||
| { onConflict: "source,content_hash" } | ||
| ); | ||
| if (error) { | ||
@@ -99,0 +103,0 @@ throw new Error(`Supabase upsert error: ${error.message}`); |
+1
-1
| { | ||
| "name": "@ragpipe/plugin-supabase", | ||
| "version": "0.2.0", | ||
| "version": "0.3.0", | ||
| "description": "Supabase pgvector vector store plugin for ragpipe", | ||
@@ -5,0 +5,0 @@ "type": "module", |
20246
0.97%441
1.85%