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" ,
},
]);
});
});
Messung V0.5 in Prozent C=100 H=97 G=98
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland