mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 18:39:20 -05:00
Config: clarify memorySearch migration precedence
This commit is contained in:
@@ -210,7 +210,7 @@ describe("legacy config detection", () => {
|
||||
},
|
||||
});
|
||||
expect(res.changes).toContain(
|
||||
"Merged memorySearch → agents.defaults.memorySearch (preserved explicit agents.defaults overrides).",
|
||||
"Merged memorySearch → agents.defaults.memorySearch (filled missing fields from legacy; kept explicit agents.defaults values).",
|
||||
);
|
||||
expect(res.config?.agents?.defaults?.memorySearch).toMatchObject({
|
||||
provider: "openai",
|
||||
@@ -219,6 +219,37 @@ describe("legacy config detection", () => {
|
||||
query: { maxResults: 7 },
|
||||
});
|
||||
});
|
||||
it("keeps nested agents.defaults.memorySearch values when merging legacy defaults", async () => {
|
||||
vi.resetModules();
|
||||
const { migrateLegacyConfig } = await import("./config.js");
|
||||
const res = migrateLegacyConfig({
|
||||
memorySearch: {
|
||||
query: {
|
||||
maxResults: 7,
|
||||
minScore: 0.25,
|
||||
hybrid: { enabled: true, textWeight: 0.8, vectorWeight: 0.2 },
|
||||
},
|
||||
},
|
||||
agents: {
|
||||
defaults: {
|
||||
memorySearch: {
|
||||
query: {
|
||||
maxResults: 3,
|
||||
hybrid: { enabled: false },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
expect(res.config?.agents?.defaults?.memorySearch).toMatchObject({
|
||||
query: {
|
||||
maxResults: 3,
|
||||
minScore: 0.25,
|
||||
hybrid: { enabled: false, textWeight: 0.8, vectorWeight: 0.2 },
|
||||
},
|
||||
});
|
||||
});
|
||||
it("migrates tools.bash to tools.exec", async () => {
|
||||
vi.resetModules();
|
||||
const { migrateLegacyConfig } = await import("./config.js");
|
||||
|
||||
@@ -30,10 +30,12 @@ export const LEGACY_CONFIG_MIGRATIONS_PART_3: LegacyConfigMigration[] = [
|
||||
defaults.memorySearch = legacyMemorySearch;
|
||||
changes.push("Moved memorySearch → agents.defaults.memorySearch.");
|
||||
} else {
|
||||
mergeMissing(existing, legacyMemorySearch);
|
||||
defaults.memorySearch = existing;
|
||||
// agents.defaults stays authoritative; legacy top-level config only fills gaps.
|
||||
const merged = structuredClone(existing);
|
||||
mergeMissing(merged, legacyMemorySearch);
|
||||
defaults.memorySearch = merged;
|
||||
changes.push(
|
||||
"Merged memorySearch → agents.defaults.memorySearch (preserved explicit agents.defaults overrides).",
|
||||
"Merged memorySearch → agents.defaults.memorySearch (filled missing fields from legacy; kept explicit agents.defaults values).",
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user