{"version":3,"file":"get-available-regions.mjs","names":[],"sources":["../../src/actions/get-available-regions.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { supabase } from \"../app\";\n\nexport const SupabaseGetAvailableRegionsInput = z.object({\n  continent: z.enum([\"NA\", \"SA\", \"EU\", \"AF\", \"AS\", \"OC\", \"AN\"]).describe(\"Continent codes for regional recommendations.\").optional(),\n  organization_slug: z.string().describe(\"Slug of your organization. This is required to retrieve available regions for project creation.\"),\n  desired_instance_size: z.enum([\"pico\", \"nano\", \"micro\", \"small\", \"medium\", \"large\", \"xlarge\", \"2xlarge\", \"4xlarge\", \"8xlarge\", \"12xlarge\", \"16xlarge\", \"24xlarge\", \"24xlarge_optimized_memory\", \"24xlarge_optimized_cpu\", \"24xlarge_high_memory\", \"48xlarge\", \"48xlarge_optimized_memory\", \"48xlarge_optimized_cpu\", \"48xlarge_high_memory\"]).describe(\"Available instance sizes for Supabase projects.\").optional(),\n}).describe(\"Request schema for getting available regions for a new Supabase project.\");\nconst SupabaseGetAvailableRegions_RegionDetailSchema = z.object({\n  code: z.string().describe(\"Region code identifier (e.g., 'us-east-1', 'eu-west-1').\").nullable().optional(),\n  name: z.string().describe(\"Human-readable name of the region (e.g., 'US East (N. Virginia)', 'Europe (Ireland)').\").nullable().optional(),\n  type: z.string().describe(\"Type of region (e.g., 'region', 'smart-group').\").nullable().optional(),\n  location: z.string().describe(\"Geographic location of the region.\").nullable().optional(),\n  available: z.boolean().describe(\"Whether the region is currently available for project creation.\").nullable().optional(),\n  cloud_provider: z.string().describe(\"Cloud provider for this region (e.g., 'AWS', 'GCP', 'Azure').\").nullable().optional(),\n}).passthrough().describe(\"Details of a specific region.\");\nconst SupabaseGetAvailableRegions_AllRegionsSchema = z.object({\n  specific: z.array(SupabaseGetAvailableRegions_RegionDetailSchema).describe(\"List of all available specific regions.\"),\n  smartGroup: z.array(SupabaseGetAvailableRegions_RegionDetailSchema).describe(\"List of all available smart group regions.\"),\n}).passthrough().describe(\"All available regions regardless of recommendations.\");\nconst SupabaseGetAvailableRegions_SmartGroupDetailSchema = z.object({\n  code: z.string().describe(\"Smart group code identifier (e.g., 'americas', 'emea', 'apac').\").nullable(),\n  name: z.string().describe(\"Human-readable name of the smart group (e.g., 'Americas', 'Europe, Middle East, and Africa').\").nullable(),\n  type: z.string().describe(\"Type of the group, typically 'smart-group'.\").nullable(),\n}).passthrough().describe(\"Details of a smart group region (automatically selects best region).\");\nconst SupabaseGetAvailableRegions_RegionRecommendationsSchema = z.object({\n  specific: z.array(SupabaseGetAvailableRegions_RegionDetailSchema).describe(\"List of recommended specific regions based on the continent and instance size filters.\"),\n  smartGroup: SupabaseGetAvailableRegions_SmartGroupDetailSchema.nullable(),\n}).passthrough().describe(\"Recommended regions based on the provided filters.\");\nexport const SupabaseGetAvailableRegionsOutput = z.object({\n  all: SupabaseGetAvailableRegions_AllRegionsSchema.nullable(),\n  recommendations: SupabaseGetAvailableRegions_RegionRecommendationsSchema.nullable(),\n}).passthrough().describe(\"Response schema for getting available regions for a new Supabase project.\");\n\nexport const supabaseGetAvailableRegions: AppAction<\n  typeof SupabaseGetAvailableRegionsInput,\n  typeof SupabaseGetAvailableRegionsOutput,\n  typeof supabase.credential\n> = action(\"SUPABASE_GET_AVAILABLE_REGIONS\", {\n  slug: \"supabase-get-available-regions\",\n  name: \"Get Available Regions\",\n  description: \"Tool to get the list of available regions for creating a new Supabase project. Use when you need to determine which regions are available for project deployment, or to get region recommendations based on geographic location and instance size requirements. Note: This is a Beta endpoint.\",\n  input: SupabaseGetAvailableRegionsInput,\n  output: SupabaseGetAvailableRegionsOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,mCAAmC,EAAE,OAAO;CACvD,WAAW,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;EAAM;EAAM;EAAM;CAAI,CAAC,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CACjI,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG;CACxI,uBAAuB,EAAE,KAAK;EAAC;EAAQ;EAAQ;EAAS;EAAS;EAAU;EAAS;EAAU;EAAW;EAAW;EAAW;EAAY;EAAY;EAAY;EAA6B;EAA0B;EAAwB;EAAY;EAA6B;EAA0B;CAAsB,CAAC,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;AACrZ,CAAC,CAAC,CAAC,SAAS,0EAA0E;AACtF,MAAM,iDAAiD,EAAE,OAAO;CAC9D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxI,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvH,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC3H,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+BAA+B;AACzD,MAAM,+CAA+C,EAAE,OAAO;CAC5D,UAAU,EAAE,MAAM,8CAA8C,CAAC,CAAC,SAAS,yCAAyC;CACpH,YAAY,EAAE,MAAM,8CAA8C,CAAC,CAAC,SAAS,4CAA4C;AAC3H,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sDAAsD;AAChF,MAAM,qDAAqD,EAAE,OAAO;CAClE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CACtG,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;CACpI,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;AACpF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sEAAsE;AAChG,MAAM,0DAA0D,EAAE,OAAO;CACvE,UAAU,EAAE,MAAM,8CAA8C,CAAC,CAAC,SAAS,wFAAwF;CACnK,YAAY,mDAAmD,SAAS;AAC1E,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAM9E,MAAa,8BAIT,OAAO,kCAAkC;CAC3C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAd+C,EAAE,OAAO;EACxD,KAAK,6CAA6C,SAAS;EAC3D,iBAAiB,wDAAwD,SAAS;CACpF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,2EAWhB;AACV,CAAC"}