{"record":{"id":"e8e0910dae5a091b","repo":"mem0ai/mem0","slug":"model-not-supported-this-provider-wrapper","errorCode":null,"errorMessage":"Model not supported: ${this.provider_wrapper}","messagePattern":"Model not supported: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"integrations/vercel-ai-sdk/src/mem0-provider-selector.ts","lineNumber":23,"sourceCode":"class Mem0ClassSelector {\n    modelId: string;\n    provider_wrapper: string;\n    config: Mem0ProviderSettings;\n    provider_config?: ProviderSettings;\n    static supportedProviders = [\"openai\", \"anthropic\", \"cohere\", \"groq\", \"google\", \"gemini\"];\n\n    constructor(modelId: string, config: Mem0ProviderSettings, provider_config?: ProviderSettings) {\n        this.modelId = modelId;\n        this.provider_wrapper = config.provider || \"openai\";\n        this.provider_config = provider_config;\n        if(config) this.config = config;\n        else this.config = {\n            provider: this.provider_wrapper,\n        };\n\n        // Check if provider_wrapper is supported\n        if (!Mem0ClassSelector.supportedProviders.includes(this.provider_wrapper)) {\n            throw new Error(`Model not supported: ${this.provider_wrapper}`);\n        }\n    }\n\n    createProvider(): LanguageModelV3 {\n        return new Mem0AITextGenerator(this.modelId, this.config , this.provider_config || {});\n    }\n}\n\nexport { Mem0ClassSelector };\n","sourceCodeStart":5,"sourceCodeEnd":33,"githubUrl":"https://github.com/mem0ai/mem0/blob/001c235229be8795e3834520467bd0d661ed8f34/integrations/vercel-ai-sdk/src/mem0-provider-selector.ts#L5-L33","documentation":"Mem0ClassSelector's constructor validates config.provider against a static supportedProviders list and rejects anything not on it. The error exists to fail fast at provider-construction time (before any request) when the provider string is misspelled or unsupported by the Mem0 integration for Vercel AI SDK.","triggerScenarios":"Calling createMem0Provider (or constructing Mem0ClassSelector) with config.provider set to anything outside Mem0ClassSelector.supportedProviders — e.g. 'azure', 'mistral', 'openrouter', 'OpenAI' (wrong case), or omitting/quoting the value incorrectly so it becomes undefined-adjacent garbage. Defaults to 'openai' when unset.","commonSituations":"Copy-pasting provider names from other SDKs; case mismatches; using a provider the Mem0 wrapper hasn't wired up yet; renaming after a package update that changed the supported list.","solutions":["Set config.provider to a supported value (the selector's supported list includes openai, anthropic, google/gemini, groq — see provider-response-provider.ts's switch).","Log Mem0ClassSelector.supportedProviders at startup to see the exact accepted strings for your installed version.","Check for typos and case: values are matched exactly, 'OpenAI' !== 'openai'.","If you need an unsupported provider, bypass the selector by supplying a custom LanguageModelV3 instance or open a feature request."],"exampleFix":"// before\nconst provider = createMem0Provider({ provider: \"azure\" }); // throws\n\n// after\nconst provider = createMem0Provider({ provider: \"openai\" });","handlingStrategy":"validation","validationCode":"const SUPPORTED = ['openai', 'anthropic', 'groq', 'google', 'gemini']; // verify against your version\n\nfunction assertProviderSupported(provider: string): void {\n  if (!SUPPORTED.includes(provider)) {\n    throw new Error(`Unsupported provider '${provider}'. Supported: ${SUPPORTED.join(', ')}`);\n  }\n}\n\nassertProviderSupported(config.provider ?? 'openai');","typeGuard":"const isSupportedProvider = (p: unknown): p is string =>\n  typeof p === 'string' && Mem0ClassSelector.supportedProviders.includes(p);","tryCatchPattern":null,"preventionTips":["Log Mem0ClassSelector.supportedProviders once at boot and assert your configured value is in it.","Keep provider strings lowercase and exact.","Add a startup config schema check (zod or similar) that includes the provider enum."],"tags":["validation","provider-config","startup","vercel-ai-sdk"],"backgroundTag":null,"analyzedSha":"001c235229be8795e3834520467bd0d661ed8f34","analyzedAt":"2026-08-15T01:55:42.685Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}