{error:{code,message}} for CloudError failures, attaches Request-Id, and disables caching. Handle 401 by signing in; show role refusal for 403 forbidden, reauthenticate only for step_up_required, and collect a reason for 400 reason_required. A CSRF failure needs a current page/session token, not blind retries. Operation-specific 404/409/413/422/502/503 errors retain their status. Honor Retry-After on 429./** GET /api/admin/me → {sub, email, role, permissions[], stepUpUntil}. */
export const GET = adminRoute(null, async (_request, ctx, _context, { session }) =>
adminJson({ sub: ctx.admin.sub, email: ctx.admin.email, role: ctx.admin.role, permissions: permissionsOf(ctx.admin.role), stepUpUntil: stepUpUntil(session) }),
);