/** * Handler for get_alerts tool. * * Routed by country (see .devdocs/archive/completed/international-alerts-plan.md D1): * US → NOAA (the original path, byte-identical output), * Canada → MSC GeoMet (Environment and Climate Change Canada), * MeteoAlarm member countries → the country's MeteoAlarm feed, * Philippines / Indonesia → their national CAP feeds (PAGASA, BMKG), matched * to the requested point by the alert's own polygon; India → NDMA SACHET, * listed at country level, because SACHET serves geometry from a separate * endpoint that returns 403 to server-side clients * (see .devdocs/archive/completed/plan-national-cap-alerts.md D1), * Japan → JMA's disaster-prevention XML feed, matched to the requested point * by a committed class10 area geometry artifact (src/data/jmaAreas.ts), * elsewhere → the optional keyed Google Weather API fallback when a * `GOOGLE_WEATHER_API_KEY` is configured, else a clean not-covered * message (see .devdocs/archive/completed/global-alerts-fallback-plan.md D1). * * The branch order is the invariant: a US, Canadian, MeteoAlarm-country, * national-CAP-country, or Japanese request never contacts Google, key or no * key — those * are jurisdictional authorities and stay first-choice. Without a key the * elsewhere branch is byte-identical to before the fallback existed. * * Country resolution order: a `country_code` already carried by the resolved * location (saved location or geocoded city_name), else a cached * country-level Nominatim reverse lookup, else the `isInUS` bounding-box * fallback (which preserves NOAA marine alerts for US coastal waters, where * reverse geocoding returns no country). The reverse answer wins over * `isInUS` — the CONUS box deliberately overruns into Canada (Toronto, * Vancouver), and alert authority is jurisdictional. */ import { NOAAService } from '../services/noaa.js'; import { LocationStore } from '../services/locationStore.js'; import { GeocodingService } from '../services/geocoding.js'; import { MeteoAlarmService } from '../services/meteoalarm.js'; import { GeoMetService } from '../services/geomet.js'; import { NominatimService } from '../services/nominatim.js'; import { GoogleWeatherService } from '../services/googleWeather.js'; import { NationalCapService } from '../services/nationalCap.js'; import { JmaService } from '../services/jma.js'; type HandlerResult = { content: Array<{ type: string; text: string; }>; }; export declare function handleGetAlerts(args: unknown, noaaService: NOAAService, locationStore: LocationStore, geocodingService: GeocodingService, meteoAlarmService?: MeteoAlarmService, geoMetService?: GeoMetService, nominatimService?: NominatimService, googleWeatherService?: GoogleWeatherService, nationalCapService?: NationalCapService, jmaService?: JmaService): Promise; export {}; //# sourceMappingURL=alertsHandler.d.ts.map