feat: TS SDK v3 port, graph store removal, client v3 API migration

TypeScript SDK v3 pipeline (full parity with Python):
- Single-pass additive extraction with ADDITIVE_EXTRACTION_PROMPT
- Hybrid search (semantic + BM25 + entity boost) with additive scoring
- 8-phase batch pipeline (batch embed, persist, entity linking)
- New utils: scoring.ts, lemmatization.ts (natural), entity_extraction.ts (compromise)
- keywordSearch() on 8 vector stores (3 full: PGVector, Memory, Azure AI Search)
- Message persistence in SQLiteManager (rolling window of 10)
- Entity store as second vector collection
- MAX_BATCH=100 chunking guard on OpenAI/Azure embedBatch
- Updated default LLM model to gpt-4.1-nano-2025-04-14
- compromise + natural added as peer dependencies

Graph store removal (Python + TypeScript):
- Removed Neo4j, Memgraph, Kuzu, Neptune, Apache AGE integrations
- Deleted 18 graph-related files across both SDKs
- Removed GraphStoreFactory, GraphStoreConfig, graph_store config field
- Removed "relations" key from all API responses
- Removed graph optional dependency group from pyproject.toml
- Removed neo4j-driver from TS peerDependencies
- Simplified add/search/delete/reset (no more parallel graph operations)

Client SDK v3 API migration:
- add() endpoint: /v1/memories/ -> /v3/memories/ (async response)
- search() endpoint: /v2/memories/search/ -> /v3/memories/search/
- Removed output_format injection and v1.1 unwrapping logic
- Applied to both Python (sync + async) and TypeScript clients

Review feedback fixes:
- Removed deprecated custom_update_memory_prompt from MemoryConfig
- Added MAX_BATCH=100 chunking to Python + TS embed_batch
- Moved all inline imports to top level in main.py
- Cleaned up GraphStoreError dead code from exceptions.py

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Soumil Rathi
2026-04-13 10:45:40 -07:00
co-authored by Claude Opus 4.6
parent 3402c67805
commit 59880a6f8f
59 changed files with 5237 additions and 11748 deletions
-13
View File
@@ -27,15 +27,6 @@ dependencies = [
nlp = [
"spacy>=3.7.0",
]
graph = [
"langchain-neo4j>=0.4.0",
"langchain-aws>=0.2.23",
"langchain-memgraph>=0.1.0",
"neo4j>=5.23.1",
"rank-bm25>=0.2.2",
"kuzu>=0.11.0",
"apache-age-python>=0.0.6",
]
vector_stores = [
"vecs>=0.4.0",
"chromadb>=0.4.24",
@@ -110,7 +101,6 @@ only-include = ["mem0"]
python = "3.9"
features = [
"test",
"graph",
"vector_stores",
"llms",
"extras",
@@ -120,7 +110,6 @@ features = [
python = "3.10"
features = [
"test",
"graph",
"vector_stores",
"llms",
"extras",
@@ -130,7 +119,6 @@ features = [
python = "3.11"
features = [
"test",
"graph",
"vector_stores",
"llms",
"extras",
@@ -140,7 +128,6 @@ features = [
python = "3.12"
features = [
"test",
"graph",
"vector_stores",
"llms",
"extras",