diff --git a/mem0-ts/src/oss/src/config/manager.ts b/mem0-ts/src/oss/src/config/manager.ts index 02afe6ddd..ed09b2cb0 100644 --- a/mem0-ts/src/oss/src/config/manager.ts +++ b/mem0-ts/src/oss/src/config/manager.ts @@ -110,6 +110,7 @@ export class ConfigManager { ((userConf as Record)?.lmstudio_base_url as | string | undefined) ?? + userConf?.url ?? defaultConf.baseURL; return { diff --git a/mem0-ts/src/oss/tests/config-manager.test.ts b/mem0-ts/src/oss/tests/config-manager.test.ts index 2aab9bc0e..d5770d93e 100644 --- a/mem0-ts/src/oss/tests/config-manager.test.ts +++ b/mem0-ts/src/oss/tests/config-manager.test.ts @@ -127,6 +127,20 @@ describe("ConfigManager", () => { expect(config.llm.config.url).toBe("http://fallback:11434"); }); + it("should use url as baseURL fallback when no baseURL provided (issue #4715)", () => { + const config = ConfigManager.mergeConfig({ + embedder: baseEmbedder, + vectorStore: baseVectorStore, + llm: { + provider: "ollama", + config: { model: "llama3.1:8b", url: "http://my-ollama-host:11434" }, + }, + }); + + expect(config.llm.config.baseURL).toBe("http://my-ollama-host:11434"); + expect(config.llm.config.url).toBe("http://my-ollama-host:11434"); + }); + it("should use default baseURL when no url or baseURL provided", () => { const config = ConfigManager.mergeConfig({ embedder: baseEmbedder,