From 03846d63ecb6117170b8f3cf225cd675e057052a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 22 Apr 2026 19:18:18 +0100 Subject: [PATCH] refactor: use memory slot defaults in core paths --- src/cli/plugins-cli.ts | 3 ++- src/commands/status.scan.shared.ts | 3 ++- src/gateway/tools-invoke-http.ts | 3 ++- src/plugins/config-state.ts | 6 +++++- src/plugins/gateway-startup-plugin-ids.ts | 3 ++- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/cli/plugins-cli.ts b/src/cli/plugins-cli.ts index b67e4632c93..123558e9c5b 100644 --- a/src/cli/plugins-cli.ts +++ b/src/cli/plugins-cli.ts @@ -7,6 +7,7 @@ import type { OpenClawConfig } from "../config/types.openclaw.js"; import type { PluginInstallRecord } from "../config/types.plugins.js"; import { enablePluginInConfig } from "../plugins/enable.js"; import { listMarketplacePlugins } from "../plugins/marketplace.js"; +import { defaultSlotIdForKey } from "../plugins/slots.js"; import { formatPluginSourceForTable, resolvePluginSourceRoots } from "../plugins/source-display.js"; import { buildAllPluginInspectReports, @@ -579,7 +580,7 @@ export function registerPluginsCli(program: Command) { preview.push("load path"); } if (cfg.plugins?.slots?.memory === pluginId) { - preview.push(`memory slot (will reset to "memory-core")`); + preview.push(`memory slot (will reset to "${defaultSlotIdForKey("memory")}")`); } const channelIds = plugin?.status === "loaded" ? plugin.channelIds : undefined; const channels = cfg.channels as Record | undefined; diff --git a/src/commands/status.scan.shared.ts b/src/commands/status.scan.shared.ts index 14a14f31ae1..0c15b752285 100644 --- a/src/commands/status.scan.shared.ts +++ b/src/commands/status.scan.shared.ts @@ -5,6 +5,7 @@ import { normalizeControlUiBasePath } from "../gateway/control-ui-shared.js"; import { resolveGatewayProbeTarget } from "../gateway/probe-target.js"; import type { probeGateway as probeGatewayFn } from "../gateway/probe.js"; import type { MemoryProviderStatus } from "../memory-host-sdk/engine-storage.js"; +import { defaultSlotIdForKey } from "../plugins/slots.js"; import { normalizeOptionalLowercaseString, normalizeOptionalString, @@ -76,7 +77,7 @@ export function resolveMemoryPluginStatus(cfg: OpenClawConfig): MemoryPluginStat if (normalizeOptionalLowercaseString(raw) === "none") { return { enabled: false, slot: null, reason: 'plugins.slots.memory="none"' }; } - return { enabled: true, slot: raw || "memory-core" }; + return { enabled: true, slot: raw || defaultSlotIdForKey("memory") }; } export async function resolveGatewayProbeSnapshot(params: { diff --git a/src/gateway/tools-invoke-http.ts b/src/gateway/tools-invoke-http.ts index b46128484c2..e79964ad27a 100644 --- a/src/gateway/tools-invoke-http.ts +++ b/src/gateway/tools-invoke-http.ts @@ -8,6 +8,7 @@ import { resolveMainSessionKey } from "../config/sessions.js"; import type { OpenClawConfig } from "../config/types.openclaw.js"; import { logWarn } from "../logger.js"; import { isTestDefaultMemorySlotDisabled } from "../plugins/config-state.js"; +import { defaultSlotIdForKey } from "../plugins/slots.js"; import { normalizeOptionalLowercaseString, normalizeOptionalString, @@ -193,7 +194,7 @@ export async function handleToolsInvokeHttpRequest( type: "invalid_request", message: `memory tools are disabled in tests${suffix}. ` + - 'Enable by setting plugins.slots.memory="memory-core" (and ensure plugins.enabled is not false).', + `Enable by setting plugins.slots.memory="${defaultSlotIdForKey("memory")}" (and ensure plugins.enabled is not false).`, }, }); return true; diff --git a/src/plugins/config-state.ts b/src/plugins/config-state.ts index 3bf6905967a..5830249123b 100644 --- a/src/plugins/config-state.ts +++ b/src/plugins/config-state.ts @@ -21,6 +21,7 @@ import { } from "./config-normalization-shared.js"; import { loadPluginManifestRegistry } from "./manifest-registry.js"; import type { PluginOrigin } from "./plugin-origin.types.js"; +import { defaultSlotIdForKey } from "./slots.js"; export type { PluginActivationSource }; export type PluginActivationState = PluginActivationStateLike; @@ -101,7 +102,10 @@ const hasExplicitMemorySlot = (plugins?: OpenClawConfig["plugins"]) => Boolean(plugins?.slots && Object.prototype.hasOwnProperty.call(plugins.slots, "memory")); const hasExplicitMemoryEntry = (plugins?: OpenClawConfig["plugins"]) => - Boolean(plugins?.entries && Object.prototype.hasOwnProperty.call(plugins.entries, "memory-core")); + Boolean( + plugins?.entries && + Object.prototype.hasOwnProperty.call(plugins.entries, defaultSlotIdForKey("memory")), + ); export const hasExplicitPluginConfig = (plugins?: OpenClawConfig["plugins"]) => hasExplicitPluginConfigShared(plugins); diff --git a/src/plugins/gateway-startup-plugin-ids.ts b/src/plugins/gateway-startup-plugin-ids.ts index 944197818b1..8de6b1add59 100644 --- a/src/plugins/gateway-startup-plugin-ids.ts +++ b/src/plugins/gateway-startup-plugin-ids.ts @@ -2,6 +2,7 @@ import { collectConfiguredAgentHarnessRuntimes } from "../agents/harness-runtime import { listPotentialConfiguredChannelIds } from "../channels/config-presence.js"; import type { OpenClawConfig } from "../config/types.openclaw.js"; import { + DEFAULT_MEMORY_DREAMING_PLUGIN_ID, resolveMemoryDreamingConfig, resolveMemoryDreamingPluginConfig, resolveMemoryDreamingPluginId, @@ -49,7 +50,7 @@ function resolveGatewayStartupDreamingPluginIds(config: OpenClawConfig): Set