import { allPublishedForFeeds } from "@autoscholar/core";
import { db } from "@/lib/server/db";
export const runtime = "nodejs";
export const dynamic = "force-dynamic";
const esc = (s: string) =>
s.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """);
export async function GET() {
const base = process.env.APP_BASE_URL ?? "http://localhost:8470";
const rows = await allPublishedForFeeds(db(), 100);
const items = rows
.map(
(r) =>
`- ${esc(r.v.title)}${base}/research/${r.p.slug}${base}/research/${r.p.slug}${new Date(r.v.publishedAt).toUTCString()}${esc(`${r.p.publicId} v${r.v.versionNo}. AI-generated working paper; not formally peer reviewed. ${r.v.abstract}`)}${r.v.keywords.map((k) => `${esc(k)}`).join("")}
`,
)
.join("");
const xml = `AutoScholar.ai working papers${base}/researchAI-generated working papers, verified by deterministic quality gates. Research computed on MacLustr.en${items}`;
return new Response(xml, {
headers: { "content-type": "application/rss+xml; charset=utf-8", "cache-control": "public, max-age=300" },
});
}