import consola from "consola" import { Hono } from "hono" import { cors } from "hono/cors" import { completionRoutes } from "./routes/chat-completions/route" import { embeddingRoutes } from "./routes/embeddings/route" import { messageRoutes } from "./routes/messages/route" import { modelRoutes } from "./routes/models/route" import { responsesRoutes } from "./routes/responses/route" import { tokenRoute } from "./routes/token/route" import { usageRoute } from "./routes/usage/route" export const server = new Hono() server.use(async (c, next) => { const { method, path } = c.req const isHealthCheck = method === "GET" && path === "/" const log = isHealthCheck ? consola.debug : consola.info log(`<-- ${method} ${path}`) const start = Date.now() await next() log(`--> ${method} ${path} ${c.res.status} ${Date.now() - start}ms`) }) server.use(cors()) server.get("/", (c) => c.text("Server running")) server.route("/chat/completions", completionRoutes) server.route("/models", modelRoutes) server.route("/embeddings", embeddingRoutes) server.route("/responses", responsesRoutes) server.route("/usage", usageRoute) server.route("/token", tokenRoute) // Compatibility with tools that expect v1/ prefix server.route("/v1/chat/completions", completionRoutes) server.route("/v1/models", modelRoutes) server.route("/v1/embeddings", embeddingRoutes) server.route("/v1/responses", responsesRoutes) // Anthropic compatible endpoints server.route("/v1/messages", messageRoutes)