import { handleBadge } from "./badge";
import { handleCacheApi } from "./cache-api";
import { jobTokenAccess } from "./job-token";
import { handleOidcRoutes } from "./oidc";
/** Worker-level Actions endpoints: job cache, OIDC token issuance and discovery, and status badges. */
export async function handleActionsRoutes(request: Request, url: URL): Promise<Response | null> {
if (url.pathname === "/api/actions/cache") {
const access = await jobTokenAccess(request);
if (!access) return Response.json({ error: "invalid job token" }, { status: 401 });
return handleCacheApi(request, url, access);
}
const oidc = await handleOidcRoutes(request, url);
if (oidc) return oidc;
return handleBadge(request, url);
}