Add stale RAG provider cleanup

This commit is contained in:
2026-05-18 21:27:41 +03:00
parent 75253534d8
commit 7b2bc93bc1
5 changed files with 248 additions and 1 deletions
+53
View File
@@ -0,0 +1,53 @@
import test from "node:test";
import assert from "node:assert/strict";
const {buildStaleRagCleanupPlan} = await import("../dist/ai/rag-retention-planner.js");
test("stale rag cleanup plan selects only older rag artifacts", () => {
const plan = buildStaleRagCleanupPlan([
{
id: "recent-openai",
createdAt: "2026-05-18T00:00:00.000Z",
payload: JSON.stringify({
artifactKind: "rag",
providerState: {
provider: "OPENAI",
vectorStoreIds: ["vs_1"],
uploadedFileIds: ["file_1"],
},
}),
},
{
id: "stale-openai",
createdAt: "2026-04-01T00:00:00.000Z",
payload: JSON.stringify({
artifactKind: "rag",
providerState: {
provider: "OPENAI",
vectorStoreIds: ["vs_2"],
uploadedFileIds: ["file_2"],
},
}),
},
{
id: "stale-ollama",
createdAt: "2026-04-01T00:00:00.000Z",
payload: JSON.stringify({
artifactKind: "rag",
providerState: {
provider: "OLLAMA",
prepared: true,
},
}),
},
], 14, new Date("2026-05-18T00:00:00.000Z"));
assert.equal(plan.targets.length, 1);
assert.deepEqual(plan.targets[0], {
artifactId: "stale-openai",
createdAt: "2026-04-01T00:00:00.000Z",
provider: "OPENAI",
vectorStoreIds: ["vs_2"],
uploadedFileIds: ["file_2"],
});
});