export const api = { async conversations({ q = "", status = "", state = "" } = {}) { const u = new URL("/conversations", location.origin); if (q) u.searchParams.set("q", q); if (status) u.searchParams.set("status", status); if (state) u.searchParams.set("state", state); return fetch(u).then(r => r.json()); }, async deleteConversation(chat_id) { if (!chat_id) throw new Error("chat_id_required"); return fetch(`/conversations/${encodeURIComponent(chat_id)}`, { method: "DELETE" }).then(r => r.json()); }, async users({ q = "", limit = 200 } = {}) { const u = new URL("/users", location.origin); if (q) u.searchParams.set("q", String(q)); u.searchParams.set("limit", String(limit)); return fetch(u).then(r => r.json()); }, async deleteUser(chat_id, { deleteWoo = false } = {}) { if (!chat_id) throw new Error("chat_id_required"); const u = new URL(`/users/${encodeURIComponent(chat_id)}`, location.origin); if (deleteWoo) u.searchParams.set("deleteWoo", "1"); return fetch(u, { method: "DELETE" }).then(r => r.json()); }, async messages({ chat_id, limit = 200 } = {}) { const u = new URL("/messages", location.origin); if (chat_id) u.searchParams.set("chat_id", chat_id); u.searchParams.set("limit", String(limit)); return fetch(u).then(r => r.json()); }, async runs({ chat_id, limit = 1 } = {}) { const u = new URL("/runs", location.origin); if (chat_id) u.searchParams.set("chat_id", chat_id); u.searchParams.set("limit", String(limit)); return fetch(u).then(r => r.json()); }, async runById(run_id) { if (!run_id) return null; return fetch(`/runs/${encodeURIComponent(run_id)}`).then(r => r.json()); }, async simEvolution(payload) { return fetch("/webhook/evolution", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload), }).then(r => r.json()); }, async retryLast(chat_id) { if (!chat_id) throw new Error("chat_id_required"); return fetch(`/conversations/${encodeURIComponent(chat_id)}/retry-last`, { method: "POST" }).then(r => r.json()); }, };