import type { MetadataRoute } from "next";
import { getPublicSiteUrl } from "@/lib/mail-urls";

const privatePaths = [
  "/api/",
  "/dashboard",
  "/find-id",
  "/kavenix",
  "/login",
  "/mail",
  "/mail-setup",
  "/payments",
  "/reset-password",
  "/signup",
];

export default function robots(): MetadataRoute.Robots {
  const baseUrl = getPublicSiteUrl().replace(/\/$/, "");

  return {
    rules: [
      {
        userAgent: "*",
        allow: "/",
        disallow: privatePaths,
      },
      {
        userAgent: [
          "OAI-SearchBot",
          "OAI-AdsBot",
          "ChatGPT-User",
          "GPTBot",
          "Claude-SearchBot",
          "Claude-User",
          "ClaudeBot",
          "PerplexityBot",
          "Perplexity-User",
          "Google-Extended",
          "Applebot",
          "Applebot-Extended",
          "CCBot",
        ],
        allow: "/",
        disallow: privatePaths,
      },
    ],
    sitemap: [`${baseUrl}/sitemap.xml`, `${baseUrl}/feed.xml`],
  };
}
