import { describe, expect, it, vi } from "vitest"; import { buildApp } from "../src/app.js"; describe("shutdown lifecycle", () => { it("closes SSE before disposing all sessions", async () => { const order: string[] = []; const app = buildApp({ sessionRegistry: { create: vi.fn(), get: vi.fn(), delete: vi.fn(), disposeAll: () => { order.push("sessions"); return Promise.resolve(); }, }, skillCatalog: { list: () => [] }, modelStore: {} as never, attachmentStore: {} as never, approvalBroker: {} as never, sseRegistry: { add: vi.fn(), closeForSession: vi.fn(), closeAll: () => { order.push("sse"); }, }, }); await app.close(); expect(order).toEqual(["sse", "sessions"]); }); });