tamabahan

This commit is contained in:
bipproduction
2025-10-08 19:41:57 +08:00
parent f580dba49d
commit f4e5bff621
4 changed files with 270 additions and 36 deletions

View File

@@ -9,14 +9,7 @@ import Auth from "./server/routes/auth_route";
import CredentialRoute from "./server/routes/credential_route";
import DarmasabaRoute from "./server/routes/darmasaba_route";
import { convertOpenApiToMcp } from "./server/lib/mcp-converter";
function encode(str: string) {
return new TextEncoder().encode(str);
}
function sleep(ms: number) {
return new Promise((r) => setTimeout(r, ms));
}
import McpRoute from "./server/routes/mcp_route";
const Docs = new Elysia()
.use(Swagger({
@@ -55,34 +48,7 @@ const app = new Elysia()
tags: ["MCP"],
}
})
.get("/mcp", () => {
// Buat stream SSE
const stream = new ReadableStream({
async start(controller) {
// Kirim event pertama
controller.enqueue(encode("event: ready\ndata: " + JSON.stringify({ ok: true }) + "\n\n"));
// Kirim event tiap 5 detik
while (true) {
controller.enqueue(encode("event: status\ndata: " + JSON.stringify({ timestamp: Date.now() }) + "\n\n"));
await sleep(5000);
}
},
cancel() {
console.log("SSE client disconnected");
}
});
// Kembalikan Response manual
return new Response(stream, {
headers: {
"Content-Type": "text/event-stream",
"Cache-Control": "no-cache",
Connection: "keep-alive"
}
});
})
.use(McpRoute)
.get("*", html)
.listen(3000, () => {
console.log("Server running at http://localhost:3000");