fix(ts-sdk): make pg an optional, ranged peer dependency

mem0ai declared pg as a required peer pinned to exactly 8.11.3, so npm
auto-installed it for every user (including hosted MemoryClient users)
and failed with ERESOLVE in any project already on a newer pg.

The pin existed because pgvector.ts imported pg at module load, so
mem0ai/oss crashed without it. PGVector now loads pg through loadPeer on
initialize(), like the other optional vector stores, which lets pg and
@types/pg become optional ^8.11.x peers. @types/jest moves from peer to
dev dependencies.

Closes #3307
This commit is contained in:
kartik-mem0
2026-09-25 15:14:42 +05:30
parent 8d6c001966
commit 1b51ad5f89
5 changed files with 80 additions and 57 deletions
+10 -4
View File
@@ -100,7 +100,8 @@
"tsup": "^8.3.0",
"typescript": "5.5.4",
"iovalkey": "^0.3.3",
"@mochow/mochow-sdk-node": "^2.1.5"
"@mochow/mochow-sdk-node": "^2.1.5",
"@types/jest": "^29.5.14"
},
"dependencies": {
"axios": "^1.18.0",
@@ -127,8 +128,7 @@
"@qdrant/js-client-rest": "^1.18.0",
"@supabase/supabase-js": "^2.49.1",
"@turbopuffer/turbopuffer": "^2.0.0",
"@types/jest": "29.5.14",
"@types/pg": "8.11.0",
"@types/pg": "^8.11.0",
"@upstash/vector": "^1.2.3",
"better-sqlite3": "^12.6.2",
"cassandra-driver": "4.8.0",
@@ -141,7 +141,7 @@
"weaviate-client": "^3.0.0",
"ollama": "^0.5.14",
"oracledb": "^6.5.0 || ^7.0.0",
"pg": "8.11.3",
"pg": "^8.11.3",
"redis": "^4.6.13",
"@elastic/elasticsearch": "^9.0.0",
"iovalkey": "^0.3.3",
@@ -257,6 +257,12 @@
},
"oracledb": {
"optional": true
},
"pg": {
"optional": true
},
"@types/pg": {
"optional": true
}
},
"engines": {