mirror of
https://github.com/hex248/sprint.git
synced 2026-02-07 18:23:03 +00:00
/ai/models route
This commit is contained in:
@@ -33,11 +33,13 @@ const withGlobalAuthed = <T extends BunRequest>(handler: RouteHandler<T>) =>
|
||||
const main = async () => {
|
||||
const server = Bun.serve({
|
||||
port: Number(PORT),
|
||||
idleTimeout: 60, // 1 minute for AI chat responses
|
||||
routes: {
|
||||
"/": withGlobal(() => new Response(`title: tnirps\ndev-mode: ${DEV}\nport: ${PORT}`)),
|
||||
"/health": withGlobal(() => new Response("OK")),
|
||||
|
||||
"/ai/chat": withGlobalAuthed(withAuth(routes.aiChat)),
|
||||
"/ai/models": withGlobalAuthed(withAuth(routes.aiModels)),
|
||||
|
||||
// routes that modify state require withCSRF middleware
|
||||
"/auth/register": withGlobal(routes.authRegister),
|
||||
|
||||
8
packages/backend/src/routes/ai/models.ts
Normal file
8
packages/backend/src/routes/ai/models.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getCachedFreeModels } from "./opencode";
|
||||
|
||||
// GET /ai/models - returns cached free models
|
||||
export default function aiModels(_req: AuthedRequest) {
|
||||
const models = getCachedFreeModels();
|
||||
return Response.json(models);
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import aiChat from "./ai/chat";
|
||||
import aiModels from "./ai/models";
|
||||
import authLogin from "./auth/login";
|
||||
import authLogout from "./auth/logout";
|
||||
import authMe from "./auth/me";
|
||||
@@ -58,6 +59,7 @@ import userUploadAvatar from "./user/upload-avatar";
|
||||
|
||||
export const routes = {
|
||||
aiChat,
|
||||
aiModels,
|
||||
|
||||
authRegister,
|
||||
authLogin,
|
||||
|
||||
Reference in New Issue
Block a user