import { NextResponse } from "next/server"; import { fetchGithubContext, fetchGithubSourceFiles, fetchHfSpaceContext, fetchHfSpaceSourceFiles, } from "@/lib/repo-fetch"; export const runtime = "nodejs"; const TARGETS = [ { kind: "hf-space" as const, owner: "victor", name: "gemma-avatar", url: "https://huggingface.co/spaces/victor/gemma-avatar", }, ]; export async function GET() { const targets = await Promise.all( TARGETS.map(async (t) => { try { const [context, files] = t.kind === "hf-space" ? await Promise.all([fetchHfSpaceContext(t.owner, t.name), fetchHfSpaceSourceFiles(t.owner, t.name)]) : await Promise.all([fetchGithubContext(t.owner, t.name), fetchGithubSourceFiles(t.owner, t.name)]); return { ...t, context, files, ok: true }; } catch (err) { return { ...t, context: err instanceof Error ? err.message : "fetch failed", files: [], ok: false, }; } }), ); return NextResponse.json({ targets }); }