
























@@ -22,6 +22,17 @@ function collectNonEmptyLines(text: string): string[] {
2222return lines;
2323}
242425+function expectSinglePrefixedFilename(files: string[], prefix: string): string {
26+const matches = files.filter((file) => file.startsWith(prefix));
27+expect(matches).toHaveLength(1);
28+const [match] = matches;
29+if (!match) {
30+throw new Error(`Expected one filename with prefix ${prefix}`);
31+}
32+expect(match.length).toBeGreaterThan(prefix.length);
33+return match;
34+}
35+2536test("lists and patches session store via sessions.* RPC", async () => {
2637const { dir, storePath } = await createSessionStoreDir();
2738const now = Date.now();
@@ -391,7 +402,7 @@ test("lists and patches session store via sessions.* RPC", async () => {
391402);
392403expect(compactedLines).toHaveLength(3);
393404const filesAfterCompact = await fs.readdir(dir);
394-expect(filesAfterCompact).toContainEqual(expect.stringMatching(/^sess-main\.jsonl\.bak\./));
405+expectSinglePrefixedFilename(filesAfterCompact, "sess-main.jsonl.bak.");
395406396407const deleted = await directSessionReq<{ ok: true; deleted: boolean }>("sessions.delete", {
397408key: "agent:main:discord:group:dev",
@@ -406,7 +417,7 @@ test("lists and patches session store via sessions.* RPC", async () => {
406417"agent:main:discord:group:dev",
407418);
408419const filesAfterDelete = await fs.readdir(dir);
409-expect(filesAfterDelete).toContainEqual(expect.stringMatching(/^sess-group\.jsonl\.deleted\./));
420+expectSinglePrefixedFilename(filesAfterDelete, "sess-group.jsonl.deleted.");
410421411422const reset = await directSessionReq<{
412423ok: true;
@@ -433,7 +444,7 @@ test("lists and patches session store via sessions.* RPC", async () => {
433444expect(storeAfterReset["agent:main:main"]?.lastAccountId).toBe("work");
434445expect(storeAfterReset["agent:main:main"]?.lastThreadId).toBe("1737500000.123456");
435446const filesAfterReset = await fs.readdir(dir);
436-expect(filesAfterReset).toContainEqual(expect.stringMatching(/^sess-main\.jsonl\.reset\./));
447+expectSinglePrefixedFilename(filesAfterReset, "sess-main.jsonl.reset.");
437448438449const badThinking = await directSessionReq("sessions.patch", {
439450key: "agent:main:main",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。