//#region src/constants.ts
/**
* Constants for Sentry MCP server.
*
* Defines platform and framework combinations available in Sentry documentation.
*/
/**
* MCP Server identification
*/
const MCP_SERVER_NAME = "Sentry MCP";
/**
* Allowed region domains for sentry.io
* Only these specific domains are permitted when using Sentry's cloud service
* This is used to prevent SSRF attacks by restricting regionUrl to known domains
*/
const SENTRY_ALLOWED_REGION_DOMAINS = new Set([
	"sentry.io",
	"us.sentry.io",
	"de.sentry.io"
]);
/**
* Common Sentry platforms that have documentation available
*/
const SENTRY_PLATFORMS_BASE = [
	"javascript",
	"python",
	"java",
	"dotnet",
	"go",
	"php",
	"ruby",
	"android",
	"apple",
	"unity",
	"unreal",
	"rust",
	"elixir",
	"kotlin",
	"native",
	"dart",
	"godot",
	"nintendo-switch",
	"playstation",
	"powershell",
	"react-native",
	"xbox"
];
/**
* Platform-specific frameworks that have Sentry guides
*/
const SENTRY_FRAMEWORKS = {
	javascript: [
		"nextjs",
		"react",
		"gatsby",
		"remix",
		"vue",
		"angular",
		"hono",
		"svelte",
		"express",
		"fastify",
		"astro",
		"bun",
		"capacitor",
		"cloudflare",
		"connect",
		"cordova",
		"deno",
		"electron",
		"ember",
		"nuxt",
		"solid",
		"solidstart",
		"sveltekit",
		"tanstack-react",
		"wasm",
		"node",
		"koa",
		"nestjs",
		"hapi"
	],
	python: [
		"django",
		"flask",
		"fastapi",
		"celery",
		"tornado",
		"pyramid",
		"aiohttp",
		"anthropic",
		"airflow",
		"aws-lambda",
		"boto3",
		"bottle",
		"chalice",
		"dramatiq",
		"falcon",
		"langchain",
		"litestar",
		"logging",
		"loguru",
		"openai",
		"quart",
		"ray",
		"redis",
		"rq",
		"sanic",
		"sqlalchemy",
		"starlette"
	],
	dart: ["flutter"],
	dotnet: [
		"aspnetcore",
		"maui",
		"wpf",
		"winforms",
		"aspnet",
		"aws-lambda",
		"azure-functions",
		"blazor-webassembly",
		"entityframework",
		"google-cloud-functions",
		"extensions-logging",
		"log4net",
		"nlog",
		"serilog",
		"uwp",
		"xamarin"
	],
	java: [
		"spring",
		"spring-boot",
		"android",
		"jul",
		"log4j2",
		"logback",
		"servlet"
	],
	go: [
		"echo",
		"fasthttp",
		"fiber",
		"gin",
		"http",
		"iris",
		"logrus",
		"negroni",
		"slog",
		"zerolog"
	],
	php: ["laravel", "symfony"],
	ruby: [
		"delayed_job",
		"rack",
		"rails",
		"resque",
		"sidekiq"
	],
	android: ["kotlin"],
	apple: [
		"ios",
		"macos",
		"watchos",
		"tvos",
		"visionos"
	],
	kotlin: ["multiplatform"]
};
/**
* All valid guides for Sentry docs search filtering.
* A guide can be either a platform (e.g., 'javascript') or a platform/framework combination (e.g., 'javascript/nextjs').
*/
const SENTRY_GUIDES = [...SENTRY_PLATFORMS_BASE, ...Object.entries(SENTRY_FRAMEWORKS).flatMap(([platform, guides]) => guides.map((guide) => `${platform}/${guide}`))];
const DEFAULT_SCOPES = [
	"org:read",
	"project:read",
	"team:read",
	"event:read"
];

//#endregion
export { DEFAULT_SCOPES, MCP_SERVER_NAME, SENTRY_ALLOWED_REGION_DOMAINS, SENTRY_FRAMEWORKS, SENTRY_GUIDES, SENTRY_PLATFORMS_BASE };
//# sourceMappingURL=constants-BPM_OWt0.js.map