AIvoices/server-cloudflare/src/index.ts
2026-04-17 14:21:48 +05:30

24 lines
652 B
TypeScript

import type { Env } from "./types";
export { ElatoOpenAiVoiceAgent } from "../models/openai";
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const url = new URL(request.url);
if (url.pathname === "/healthz") {
return Response.json({ ok: true, backend: "cloudflare-voice" });
}
if (url.pathname === "/ws/esp32" || url.pathname.startsWith("/ws/esp32/")) {
/* Add AUTH here */
const stub = env.ElatoOpenAiVoiceAgent.get(
env.ElatoOpenAiVoiceAgent.newUniqueId(),
);
return stub.fetch(request);
}
return new Response("Not found", { status: 404 });
},
};