import { describe, expect, it } from "vitest"; import { SessionManager } from "../../src/core/session-manager.js"; describe("SessionManager.newSession with custom id", () => { it("uses the provided id instead of generating one", () => { const session = SessionManager.inMemory(); session.newSession({ id: "my-custom-id" }); expect(session.getSessionId()).toBe("my-custom-id"); }); it("generates a random id when no id is provided", () => { const session = SessionManager.inMemory(); session.newSession(); const id = session.getSessionId(); expect(id).toBeDefined(); expect(id).not.toBe(""); }); it("generates a random id when options is provided without id", () => { const session = SessionManager.inMemory(); session.newSession({ parentSession: "parent.jsonl" }); const id = session.getSessionId(); expect(id).toBeDefined(); expect(id).not.toBe(""); }); it("includes the custom id in the session header", () => { const session = SessionManager.inMemory(); session.newSession({ id: "header-test-id" }); const header = session.getHeader(); expect(header).not.toBeNull(); expect(header!.id).toBe("header-test-id"); }); });