fix: memory search remote overrides (#819) (thanks @mukhtharcm)

This commit is contained in:
Peter Steinberger
2026-01-13 03:11:03 +00:00
parent ba316a10cc
commit da0a062fa7
7 changed files with 171 additions and 11 deletions

View File

@@ -53,4 +53,37 @@ describe("memory search config", () => {
expect(resolved?.query.maxResults).toBe(8);
expect(resolved?.query.minScore).toBe(0.2);
});
it("merges remote defaults with agent overrides", () => {
const cfg = {
agents: {
defaults: {
memorySearch: {
remote: {
baseUrl: "https://default.example/v1",
apiKey: "default-key",
headers: { "X-Default": "on" },
},
},
},
list: [
{
id: "main",
default: true,
memorySearch: {
remote: {
baseUrl: "https://agent.example/v1",
},
},
},
],
},
};
const resolved = resolveMemorySearchConfig(cfg, "main");
expect(resolved?.remote).toEqual({
baseUrl: "https://agent.example/v1",
apiKey: "default-key",
headers: { "X-Default": "on" },
});
});
});

View File

@@ -65,7 +65,14 @@ function mergeConfig(
): ResolvedMemorySearchConfig {
const enabled = overrides?.enabled ?? defaults?.enabled ?? true;
const provider = overrides?.provider ?? defaults?.provider ?? "openai";
const remote = overrides?.remote ?? defaults?.remote;
const hasRemote = Boolean(defaults?.remote || overrides?.remote);
const remote = hasRemote
? {
baseUrl: overrides?.remote?.baseUrl ?? defaults?.remote?.baseUrl,
apiKey: overrides?.remote?.apiKey ?? defaults?.remote?.apiKey,
headers: overrides?.remote?.headers ?? defaults?.remote?.headers,
}
: undefined;
const fallback = overrides?.fallback ?? defaults?.fallback ?? "openai";
const model = overrides?.model ?? defaults?.model ?? DEFAULT_MODEL;
const local = {