import { NextResponse } from "next/server"; import { getAllFallbackChains, registerFallback, removeFallback } from "@/domain/fallbackPolicy"; export async function GET() { try { const chains = getAllFallbackChains(); return NextResponse.json(chains); } catch (error) { return NextResponse.json({ error: error.message }, { status: 500 }); } } export async function POST(request) { try { const { model, chain } = await request.json(); if (!model || !Array.isArray(chain)) { return NextResponse.json( { error: "model (string) and chain (array of {provider, priority?, enabled?}) are required", }, { status: 400 } ); } registerFallback(model, chain); return NextResponse.json({ success: true, model }); } catch (error) { return NextResponse.json({ error: error.message }, { status: 500 }); } } export async function DELETE(request) { try { const { model } = await request.json(); if (!model) { return NextResponse.json({ error: "model is required" }, { status: 400 }); } const removed = removeFallback(model); return NextResponse.json({ success: true, removed }); } catch (error) { return NextResponse.json({ error: error.message }, { status: 500 }); } }