mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-12 17:51:22 +00:00
62 lines
1.7 KiB
TypeScript
62 lines
1.7 KiB
TypeScript
import { afterEach, describe, expect, it } from "vitest";
|
|
import {
|
|
clearMemoryPluginState,
|
|
registerMemoryCapability,
|
|
registerMemoryPromptSection,
|
|
} from "../plugins/memory-state.js";
|
|
import {
|
|
buildActiveMemoryPromptSection,
|
|
listActiveMemoryPublicArtifacts,
|
|
} from "./memory-host-core.js";
|
|
|
|
describe("memory-host-core helpers", () => {
|
|
afterEach(() => {
|
|
clearMemoryPluginState();
|
|
});
|
|
|
|
it("exposes the active memory prompt guidance builder for context engines", () => {
|
|
registerMemoryPromptSection(({ citationsMode }) => [
|
|
"## Memory Recall",
|
|
`citations=${citationsMode ?? "default"}`,
|
|
"",
|
|
]);
|
|
|
|
expect(
|
|
buildActiveMemoryPromptSection({
|
|
availableTools: new Set(["memory_search"]),
|
|
citationsMode: "off",
|
|
}),
|
|
).toEqual(["## Memory Recall", "citations=off", ""]);
|
|
});
|
|
|
|
it("exposes active memory public artifacts for companion plugins", async () => {
|
|
registerMemoryCapability("memory-core", {
|
|
publicArtifacts: {
|
|
async listArtifacts() {
|
|
return [
|
|
{
|
|
kind: "memory-root",
|
|
workspaceDir: "/tmp/workspace",
|
|
relativePath: "MEMORY.md",
|
|
absolutePath: "/tmp/workspace/MEMORY.md",
|
|
agentIds: ["main"],
|
|
contentType: "markdown" as const,
|
|
},
|
|
];
|
|
},
|
|
},
|
|
});
|
|
|
|
await expect(listActiveMemoryPublicArtifacts({ cfg: {} as never })).resolves.toEqual([
|
|
{
|
|
kind: "memory-root",
|
|
workspaceDir: "/tmp/workspace",
|
|
relativePath: "MEMORY.md",
|
|
absolutePath: "/tmp/workspace/MEMORY.md",
|
|
agentIds: ["main"],
|
|
contentType: "markdown",
|
|
},
|
|
]);
|
|
});
|
|
});
|