diff --git a/src/index.tsx b/src/index.tsx index 8b9893d..6362415 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -51,13 +51,21 @@ const app = new Elysia() set.headers["Content-Type"] = "text/event-stream" set.headers["Cache-Control"] = "no-cache" set.headers["Connection"] = "keep-alive" - return `event: ready\ndata: {"ok":true}\n\n` - }, { - detail: { - description: "MCP manifest", - tags: ["MCP"], + + return (send: (chunk: string) => void) => { + // kirim event awal + send(`event: ready\ndata: ${JSON.stringify({ ok: true })}\n\n`) + + // kirim update tiap 5 detik + const interval = setInterval(() => { + send(`event: status\ndata: ${JSON.stringify({ timestamp: Date.now() })}\n\n`) + }, 5000) + + // stop interval saat client disconnect + return () => clearInterval(interval) } }) + .get("*", html) .listen(3000, () => { console.log("Server running at http://localhost:3000");