import type { APIRoute } from "astro";
import { success } from "@/lib/api";
import { withErrorHandler } from "@/lib/errors";
import { getSiteUrl } from "@/lib/site-url";
/**
* GET /api/instance
*
* Public instance metadata. Allows a peer OpenCodeHub instance (or any
* federated client) to discover this instance's identity and federation
* capabilities before importing a repository or opening a cross-instance PR.
*/
export const GET: APIRoute = withErrorHandler(async () => {
return success({
product: "opencodehub",
name: process.env.INSTANCE_NAME || "OpenCodeHub",
siteUrl: getSiteUrl(),
version: process.env.npm_package_version || "1.2.0",
capabilities: ["git-http", "import", "mirror", "external-pulls", "push-upstream"],
});
});