mirror of https://github.com/openclaw/openclaw.git
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { listAgentIds } from "../agents/agent-scope.js";
|
|
import { resolveMemorySearchConfig } from "../agents/memory-search.js";
|
|
import type { OpenClawConfig } from "../config/config.js";
|
|
import {
|
|
getActiveMemorySearchManager,
|
|
resolveActiveMemoryBackendConfig,
|
|
} from "../plugins/memory-runtime.js";
|
|
|
|
export async function startGatewayMemoryBackend(params: {
|
|
cfg: OpenClawConfig;
|
|
log: { info?: (msg: string) => void; warn: (msg: string) => void };
|
|
}): Promise<void> {
|
|
const agentIds = listAgentIds(params.cfg);
|
|
for (const agentId of agentIds) {
|
|
if (!resolveMemorySearchConfig(params.cfg, agentId)) {
|
|
continue;
|
|
}
|
|
const resolved = resolveActiveMemoryBackendConfig({ cfg: params.cfg, agentId });
|
|
if (!resolved) {
|
|
continue;
|
|
}
|
|
if (resolved.backend !== "qmd" || !resolved.qmd) {
|
|
continue;
|
|
}
|
|
|
|
const { manager, error } = await getActiveMemorySearchManager({ cfg: params.cfg, agentId });
|
|
if (!manager) {
|
|
params.log.warn(
|
|
`qmd memory startup initialization failed for agent "${agentId}": ${error ?? "unknown error"}`,
|
|
);
|
|
continue;
|
|
}
|
|
params.log.info?.(`qmd memory startup initialization armed for agent "${agentId}"`);
|
|
}
|
|
}
|