Files
botino/public/lib/sse.js

16 lines
626 B
JavaScript

import { emit } from "./bus.js";
export function connectSSE() {
const es = new EventSource("/stream");
es.addEventListener("hello", () => emit("sse:status", { ok: true }));
es.addEventListener("conversation.upsert", (e) => emit("conversation:upsert", JSON.parse(e.data)));
es.addEventListener("run.created", (e) => emit("run:created", JSON.parse(e.data)));
es.addEventListener("takeover.created", (e) => emit("takeover:created", JSON.parse(e.data)));
es.addEventListener("order.created", (e) => emit("order:created", JSON.parse(e.data)));
es.onerror = () => emit("sse:status", { ok: false });
return es;
}