{"record":{"id":"8c29d6a6cc3fabd2","repo":"mem0ai/mem0","slug":"unsupported-vector-store-provider-provider","errorCode":null,"errorMessage":"Unsupported vector store provider: ${provider}","messagePattern":"Unsupported vector store provider: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"mem0-ts/src/oss/src/utils/factory.ts","lineNumber":212,"sourceCode":"      case \"cassandra\":\n        return new CassandraDB(config as any);\n      case \"pinecone\":\n        return new PineconeDB(config as any);\n      case \"s3-vectors\":\n      case \"s3_vectors\":\n        return new S3Vectors(config as any);\n      case \"turbopuffer\":\n        return new TurbopufferDB(config as any);\n      case \"milvus\":\n        return new Milvus(config as any);\n      case \"mongodb\":\n        return new MongoDB(config as any);\n      case \"weaviate\":\n        return new WeaviateDB(config as any);\n      case \"oracledb\":\n        return new OracleAIVectorSearch(config as any);\n      default:\n        throw new Error(`Unsupported vector store provider: ${provider}`);\n    }\n  }\n}\n\nexport class RerankerFactory {\n  static create(provider: string, config: RerankerConfig): Reranker {\n    switch (provider.toLowerCase()) {\n      case \"cohere\":\n        return new CohereReranker(config);\n      case \"zero_entropy\":\n        return new ZeroEntropyReranker(config);\n      case \"sentence_transformer\":\n        return new CrossEncoderReranker(\n          config,\n          \"Xenova/ms-marco-MiniLM-L-6-v2\",\n        );\n      case \"huggingface\":\n        return new CrossEncoderReranker(","sourceCodeStart":194,"sourceCodeEnd":230,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/mem0-ts/src/oss/src/utils/factory.ts#L194-L230","documentation":"Thrown by VectorStoreFactory.create when the vector store provider string does not match any case (memory, baidu, qdrant, s3vectors, turbopuffer, milvus, mongodb, weaviate, oracledb, and others). The factory maps the vectorStore.provider config value to a concrete VectorStore implementation; an unrecognized name reaches the default branch and throws.","triggerScenarios":"new Memory({ vectorStore: { provider: 'pgvector', config: {...} } }) when pgvector has no TS case; provider: 'qdrant ' with trailing whitespace; provider misspelled such as 'milvuss'.","commonSituations":"Assuming the TS SDK supports the same stores as Python mem0 (pgvector, chroma differences); copy-pasting a Python example into TS; version drift after provider renames.","solutions":["Pick a provider string implemented in VectorStoreFactory.create at mem0-ts/src/oss/src/utils/factory.ts.","Trim/clean the provider string if it comes from env vars or user input.","If the store is unsupported in TS, use the hosted MemoryClient or a supported store as a bridge."],"exampleFix":"// before\nvectorStore: { provider: 'pgvector', config: {...} }\n// after\nvectorStore: { provider: 'qdrant', config: { url: 'http://localhost:6333' } }","handlingStrategy":"validation","validationCode":"const SUPPORTED_STORES = ['memory','baidu','qdrant','s3vectors','turbopuffer','milvus','mongodb','weaviate','oracledb'];\nfunction assertVectorStore(provider: string) {\n  const p = provider.trim().toLowerCase();\n  if (!SUPPORTED_STORES.includes(p)) throw new Error(`Unsupported vector store '${provider}'`);\n  return p;\n}","typeGuard":"const isKnownVectorStore = (p: string): boolean =>\n  SUPPORTED_STORES.includes(p.trim().toLowerCase());","tryCatchPattern":"try { new Memory(cfg) } catch (e) { if (e instanceof Error && e.message.startsWith('Unsupported vector store provider')) { /* surface config error */ } throw e; }","preventionTips":["Trim and lowercase provider strings from env/user input before use.","Do not assume Python mem0 and mem0-ts support the same store list; check the TS factory.","Start with provider 'memory' to validate wiring before adding a real store."],"tags":["configuration","vector-store","typescript","factory"],"backgroundTag":null,"analyzedSha":"001c235229be8795e3834520467bd0d661ed8f34","analyzedAt":"2026-08-15T01:55:42.685Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}