refactor: use memory slot defaults in core paths

This commit is contained in:
Peter Steinberger
2026-04-22 19:18:18 +01:00
parent 80a16339e1
commit 03846d63ec
5 changed files with 13 additions and 5 deletions

View File

@@ -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<string, unknown> | undefined;

View File

@@ -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: {

View File

@@ -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;

View File

@@ -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);

View File

@@ -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<str
if (!dreamingConfig.enabled) {
return new Set();
}
return new Set(["memory-core", resolveMemoryDreamingPluginId(config)]);
return new Set([DEFAULT_MEMORY_DREAMING_PLUGIN_ID, resolveMemoryDreamingPluginId(config)]);
}
function resolveExplicitMemorySlotStartupPluginId(config: OpenClawConfig): string | undefined {