import { startServer } from "/mnt/storage/src/mosaic-stack/packages/control-board/src/serve.mjs"; import { discoverRepoAgents } from "/mnt/storage/src/mosaic-stack/packages/control-board/src/scan.mjs"; import { homedir } from "node:os"; import { mkdtempSync } from "node:fs"; const specs = discoverRepoAgents("/mnt/storage/src/mosaic-stack"); const server = await startServer({ host: "127.0.0.1", port: 0, specs, boardDir: mkdtempSync("/tmp/dewey-chat02/board-"), seatsDir: homedir() + "/.mosaic-dev/seats", isAlive: () => true, page: "x" }); const base = `http://127.0.0.1:${server.address().port}`; const cat = await (await fetch(base + "/api/conversations")).json(); console.log("rows", cat.conversations.length, cat.conversations.map(c => `${c.seat}:${c.availability}`).join(" ")); const big = cat.conversations.filter(c => c.availability === "available"); let pages = 0, t = Date.now(); for (const c of big) { let r = await (await fetch(`${base}/api/conversation?id=${c.conversation}`)).json(); pages++; while (r.page?.hasMore) { r = await (await fetch(`${base}/api/conversation?id=${c.conversation}&branch=${r.page.branch}&cursor=${r.page.nextCursor}`)).json(); pages++; if (!r.ok) { console.log("refused", r); break; } } } console.log("pages", pages, "ms", Date.now() - t); const u = cat.conversations.find(c => c.availability === "unsupported"); const ur = await fetch(`${base}/api/conversation?id=${u.conversation}`); console.log("unsupported", ur.status, JSON.stringify(await ur.json())); server.close();