@dangahagan/weather-mcp 1.19.0 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -8
- package/dist/config/api.d.ts +22 -0
- package/dist/config/api.d.ts.map +1 -1
- package/dist/config/api.js +24 -0
- package/dist/config/api.js.map +1 -1
- package/dist/config/cache.d.ts +2 -0
- package/dist/config/cache.d.ts.map +1 -1
- package/dist/config/cache.js +8 -0
- package/dist/config/cache.js.map +1 -1
- package/dist/handlers/currentConditionsHandler.d.ts.map +1 -1
- package/dist/handlers/currentConditionsHandler.js +82 -11
- package/dist/handlers/currentConditionsHandler.js.map +1 -1
- package/dist/handlers/wildfireHandler.d.ts +22 -3
- package/dist/handlers/wildfireHandler.d.ts.map +1 -1
- package/dist/handlers/wildfireHandler.js +398 -11
- package/dist/handlers/wildfireHandler.js.map +1 -1
- package/dist/index.js +25 -4
- package/dist/index.js.map +1 -1
- package/dist/services/firms.d.ts +76 -0
- package/dist/services/firms.d.ts.map +1 -0
- package/dist/services/firms.js +250 -0
- package/dist/services/firms.js.map +1 -0
- package/dist/services/openmeteo.d.ts +25 -1
- package/dist/services/openmeteo.d.ts.map +1 -1
- package/dist/services/openmeteo.js +62 -13
- package/dist/services/openmeteo.js.map +1 -1
- package/dist/types/firms.d.ts +110 -0
- package/dist/types/firms.d.ts.map +1 -0
- package/dist/types/firms.js +14 -0
- package/dist/types/firms.js.map +1 -0
- package/dist/types/openmeteo.d.ts +12 -3
- package/dist/types/openmeteo.d.ts.map +1 -1
- package/dist/utils/fireWeather.d.ts +59 -0
- package/dist/utils/fireWeather.d.ts.map +1 -1
- package/dist/utils/fireWeather.js +141 -0
- package/dist/utils/fireWeather.js.map +1 -1
- package/dist/utils/firmsHotspots.d.ts +93 -0
- package/dist/utils/firmsHotspots.d.ts.map +1 -0
- package/dist/utils/firmsHotspots.js +410 -0
- package/dist/utils/firmsHotspots.js.map +1 -0
- package/dist/utils/units.d.ts +4 -0
- package/dist/utils/units.d.ts.map +1 -1
- package/dist/utils/units.js +6 -0
- package/dist/utils/units.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@dangahagan/weather-mcp)
|
|
4
4
|
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.dgahagan/weather-mcp)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
|
-
[](./docs/testing/TEST_SUITE_README.md)
|
|
7
7
|
[](https://nodejs.org)
|
|
8
8
|
|
|
9
9
|
**Give your AI assistant real weather data — 17 tools, zero API keys, zero signup, zero cost.**
|
|
10
10
|
|
|
11
|
-
Weather MCP is a [Model Context Protocol](https://modelcontextprotocol.io) server that connects AI assistants (Claude, Cursor, Cline, Zed, and any other MCP client) to live weather data: forecasts, current conditions, alerts, air quality, marine conditions, lightning, radar, rivers, wildfires, and 85+ years of historical weather. It's built entirely on free public data sources — NOAA, Open-Meteo, USGS, NIFC, RainViewer, and Blitzortung.org — so there is nothing to sign up for and no key to paste in.
|
|
11
|
+
Weather MCP is a [Model Context Protocol](https://modelcontextprotocol.io) server that connects AI assistants (Claude, Cursor, Cline, Zed, and any other MCP client) to live weather data: forecasts, current conditions, alerts, air quality, marine conditions, lightning, radar, rivers, wildfires, and 85+ years of historical weather. It's built entirely on free public data sources — NOAA, Open-Meteo, USGS, NIFC, NASA FIRMS, RainViewer, and Blitzortung.org — so there is nothing to sign up for and no key to paste in.
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
claude mcp add weather -- npx -y @dangahagan/weather-mcp@latest
|
|
@@ -50,7 +50,7 @@ Choose this one if you want:
|
|
|
50
50
|
|
|
51
51
|
- **Genuinely free** — every data source is a free public API. No trial that expires, no credit card, no rate-limited "free tier" bait.
|
|
52
52
|
- **No API keys** — install to first forecast in under a minute. Nothing to configure, nothing to leak into a repo.
|
|
53
|
-
- **Fully open source** — MIT licensed, readable TypeScript, 1,
|
|
53
|
+
- **Fully open source** — MIT licensed, readable TypeScript, 1,961 tests. Audit it, fork it, fix it.
|
|
54
54
|
- **Privacy-respecting** — your queries go directly from your machine to public weather APIs. No middleman server, no telemetry.
|
|
55
55
|
- **Breadth** — 17 tools covering weather, safety hazards (lightning, floods, wildfires), marine conditions, air quality, and historical data back to 1940. Most weather MCPs stop at forecasts.
|
|
56
56
|
|
|
@@ -63,7 +63,7 @@ All 17 tools, documented in detail in **[docs/TOOLS.md](./docs/TOOLS.md)**:
|
|
|
63
63
|
| Tool | What it does | Coverage |
|
|
64
64
|
|------|-------------|----------|
|
|
65
65
|
| `get_forecast` | Daily/hourly forecasts up to 16 days by coordinates, saved location, or city name; sunrise/sunset, UV, precipitation probability, optional climate-normals comparison, optional moon phase & twilight almanac | 🌍 Global |
|
|
66
|
-
| `get_current_conditions` | Current weather: temperature, wind, humidity, pressure; NOAA station observations in the US (plus heat index/wind chill, snow depth, optional fire-weather indices), Open-Meteo model data elsewhere, or real airport station observations worldwide with `source="metar"`. Always states the observation's age, and automatically falls back to a fresher nearby station when the nearest one has gone dark | 🌍 Global |
|
|
66
|
+
| `get_current_conditions` | Current weather: temperature, wind, humidity, pressure; NOAA station observations in the US (plus heat index/wind chill, snow depth, optional NOAA fire-weather indices), Open-Meteo model data elsewhere (with an optional computed Fosberg fire-weather index), or real airport station observations worldwide with `source="metar"`. Always states the observation's age, and automatically falls back to a fresher nearby station when the nearest one has gone dark | 🌍 Global |
|
|
67
67
|
| `get_alerts` | Active watches, warnings, and advisories sorted by severity; official national warnings for the US (NOAA), Canada (ECCC), and 38 European countries (MeteoAlarm) | 🇺🇸 🇨🇦 🇪🇺 |
|
|
68
68
|
| `get_historical_weather` | Hourly/daily observations from 1940 to present | 🌍 Global |
|
|
69
69
|
| `get_weather_summary` | One-call overview combining current conditions, forecast, and alerts (optionally air quality and lightning) | 🌍 Global |
|
|
@@ -73,7 +73,7 @@ All 17 tools, documented in detail in **[docs/TOOLS.md](./docs/TOOLS.md)**:
|
|
|
73
73
|
| `get_weather_imagery` | Precipitation radar (static or 2-hour animated loops) + GOES satellite imagery; `composite: true` returns a finished radar map over a base map as an image | 🌍 Global |
|
|
74
74
|
| `get_lightning_activity` | Real-time strike detection with 4-level proximity safety assessment | 🌍 Global |
|
|
75
75
|
| `get_river_conditions` | US: NWPS gauge levels, flood stages, streamflow, rise/fall trends, forecast series. Elsewhere: GloFAS modeled discharge snapped to the nearest river channel, with ensemble forecast | 🌍 Global |
|
|
76
|
-
| `get_wildfire_info` |
|
|
76
|
+
| `get_wildfire_info` | US: named incidents with containment, size, and safety guidance from the nearest *uncontained* fire. Elsewhere: NASA FIRMS satellite heat detections (VIIRS, near real-time), clustered with distance, bearing, and intensity | 🌍 Global |
|
|
77
77
|
| `check_service_status` | Health checks for all upstream APIs plus cache statistics | — |
|
|
78
78
|
| `save_location` | Save places as aliases ("home", "cabin") with optional activity tags | — |
|
|
79
79
|
| `list_saved_locations` | List all saved locations | — |
|
|
@@ -108,12 +108,13 @@ All free, all public, no authentication required:
|
|
|
108
108
|
| Source | Provides | Coverage |
|
|
109
109
|
|--------|----------|----------|
|
|
110
110
|
| [NOAA Weather API](https://www.weather.gov/documentation/services-web-api) | US forecasts, current conditions, alerts, fire weather | US |
|
|
111
|
-
| [Open-Meteo](https://open-meteo.com/) | Global forecasts, historical data (1940+), air quality, marine, geocoding, climate normals | Global |
|
|
111
|
+
| [Open-Meteo](https://open-meteo.com/) | Global forecasts, historical data (1940+), air quality, marine, geocoding, climate normals, fire-weather inputs | Global |
|
|
112
112
|
| [NOAA NWPS](https://water.noaa.gov/) | River levels, streamflow, flood stages | US |
|
|
113
113
|
| [RCC ACIS](https://www.rcc-acis.org/) | Daily record high/low temperatures | US |
|
|
114
114
|
| [EUMETNET MeteoAlarm](https://meteoalarm.org/) | Official national weather warnings (38 European countries) | Europe |
|
|
115
115
|
| [MSC GeoMet](https://api.weather.gc.ca/) | Environment and Climate Change Canada weather alerts | Canada |
|
|
116
116
|
| [NIFC WFIGS](https://data-nifc.opendata.arcgis.com/) | Active wildfire perimeters and incidents | US |
|
|
117
|
+
| [NASA FIRMS](https://firms.modaps.eosdis.nasa.gov/) | Satellite fire detections (VIIRS, near real-time) | Global |
|
|
117
118
|
| [RainViewer](https://www.rainviewer.com/api.html) | Precipitation radar imagery | Global |
|
|
118
119
|
| [NASA GIBS](https://www.earthdata.nasa.gov/engage/open-data-services-software/earthdata-developer-portal/gibs-api) | GOES GeoColor satellite imagery; base map for composited radar | Western Hemisphere (satellite), Global (base map) |
|
|
119
120
|
| [Blitzortung.org](https://www.blitzortung.org/) | Community lightning detection network | Global |
|
|
@@ -266,11 +267,14 @@ Being honest about what free public data can and can't do:
|
|
|
266
267
|
| Current conditions | ✅ (model data, or real station observations via `source="metar"`) | Station observations via NOAA (richer detail) |
|
|
267
268
|
| Weather alerts | ✅ US, Canada, and 38 European countries | NWS zone-level precision; Europe is matched at country level |
|
|
268
269
|
| River conditions | ✅ (GloFAS modeled discharge) | Gauge observations + official flood stages via NWPS |
|
|
269
|
-
| Wildfires |
|
|
270
|
+
| Wildfires | ✅ (FIRMS satellite detections) | Named incidents with acreage + containment via NIFC |
|
|
271
|
+
| Fire weather | ✅ (computed Fosberg index + dryness context) | NOAA-published Haines, grassland, red-flag indices |
|
|
270
272
|
|
|
271
273
|
- European alerts are matched at **country level** — the keyless MeteoAlarm feeds carry no region polygons, so warnings for a large country may not affect the requested point; the output says so. Canadian alerts use a real bbox query with polygon-backed features.
|
|
272
274
|
- International current conditions default to **model-interpolated** values at the exact coordinates. `source="metar"` returns a **real instrument reading** instead — but from the nearest airport, which may be tens of km away and up to an hour old. The output always names the station, its distance and bearing, and the observation age, so the tradeoff is visible rather than assumed. METAR coverage follows airports, so remote land and open ocean have real gaps.
|
|
273
275
|
- Historical data older than 7 days comes from reanalysis models (9–25km grid), not direct station observations, and trails real time by ~5 days.
|
|
276
|
+
- Non-US wildfire results are **satellite heat detections, not managed incidents** — no fire names, sizes, or containment percentages exist in the data, detections can include industrial heat sources or agricultural burns, and a clear result is not an all-clear (cloud cover hides fires; small or new fires evade detection). The output frames all of this explicitly. Keyless data covers the last 24 hours; an optional free [`FIRMS_MAP_KEY`](https://firms.modaps.eosdis.nasa.gov/api/map_key/) unlocks targeted queries and up to 5 days of detection history (`day_range`).
|
|
277
|
+
- Non-US fire weather is a **Fosberg Fire Weather Index computed by this server** from current model values, not an agency-published rating — US locations get NOAA's own Haines/grassland/red-flag indices instead. The output says which it is and defers to national fire authorities; its category bands are a project heuristic.
|
|
274
278
|
- Non-US river discharge is **modeled**, not observed, and has no official flood-stage thresholds — levels are shown relative to recent history and the forecast ensemble. The ~5km model grid means the reported channel may be a few km from the requested point; the output says so when it is.
|
|
275
279
|
- Marine data has limited coastal accuracy and is **not suitable for navigation**.
|
|
276
280
|
- Lightning coverage varies by region (community-operated detector network).
|
|
@@ -281,7 +285,7 @@ Being honest about what free public data can and can't do:
|
|
|
281
285
|
```bash
|
|
282
286
|
npm run build # Compile TypeScript
|
|
283
287
|
npm run dev # Run in development mode
|
|
284
|
-
npm test # Run all 1,
|
|
288
|
+
npm test # Run all 1,961 tests
|
|
285
289
|
npm run test:coverage # Coverage report
|
|
286
290
|
npm run audit # Dependency vulnerability scan
|
|
287
291
|
```
|
package/dist/config/api.d.ts
CHANGED
|
@@ -27,4 +27,26 @@ export declare const NCEI_API_TOKEN: string | undefined;
|
|
|
27
27
|
* Check if NCEI API is available (token configured)
|
|
28
28
|
*/
|
|
29
29
|
export declare function isNCEIAvailable(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* FIRMS (Fire Information for Resource Management System) API map key
|
|
32
|
+
*
|
|
33
|
+
* OPTIONAL: Get a free key at https://firms.modaps.eosdis.nasa.gov/api/map_key/
|
|
34
|
+
*
|
|
35
|
+
* Benefits of providing a key:
|
|
36
|
+
* - Access to targeted NASA FIRMS Area-API bbox queries
|
|
37
|
+
* - Query wildfire data with custom day_range (1–5 days)
|
|
38
|
+
*
|
|
39
|
+
* If not provided:
|
|
40
|
+
* - Keyless 24-hour regional flat CSV files
|
|
41
|
+
* - Tool still works globally without the key
|
|
42
|
+
* - No setup required
|
|
43
|
+
*
|
|
44
|
+
* Rate limits with key:
|
|
45
|
+
* - 5,000 transactions per 10 minutes
|
|
46
|
+
*/
|
|
47
|
+
export declare const FIRMS_MAP_KEY: string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Check if FIRMS API key is available (key configured)
|
|
50
|
+
*/
|
|
51
|
+
export declare function isFIRMSKeyAvailable(): boolean;
|
|
30
52
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/config/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/config/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,oBAA6B,CAAC;AAEzD;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/config/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,oBAA6B,CAAC;AAEzD;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,oBAA4B,CAAC;AAEvD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C"}
|
package/dist/config/api.js
CHANGED
|
@@ -29,4 +29,28 @@ export const NCEI_API_TOKEN = process.env.NCEI_API_TOKEN;
|
|
|
29
29
|
export function isNCEIAvailable() {
|
|
30
30
|
return !!NCEI_API_TOKEN && NCEI_API_TOKEN.trim().length > 0;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* FIRMS (Fire Information for Resource Management System) API map key
|
|
34
|
+
*
|
|
35
|
+
* OPTIONAL: Get a free key at https://firms.modaps.eosdis.nasa.gov/api/map_key/
|
|
36
|
+
*
|
|
37
|
+
* Benefits of providing a key:
|
|
38
|
+
* - Access to targeted NASA FIRMS Area-API bbox queries
|
|
39
|
+
* - Query wildfire data with custom day_range (1–5 days)
|
|
40
|
+
*
|
|
41
|
+
* If not provided:
|
|
42
|
+
* - Keyless 24-hour regional flat CSV files
|
|
43
|
+
* - Tool still works globally without the key
|
|
44
|
+
* - No setup required
|
|
45
|
+
*
|
|
46
|
+
* Rate limits with key:
|
|
47
|
+
* - 5,000 transactions per 10 minutes
|
|
48
|
+
*/
|
|
49
|
+
export const FIRMS_MAP_KEY = process.env.FIRMS_MAP_KEY;
|
|
50
|
+
/**
|
|
51
|
+
* Check if FIRMS API key is available (key configured)
|
|
52
|
+
*/
|
|
53
|
+
export function isFIRMSKeyAvailable() {
|
|
54
|
+
return !!FIRMS_MAP_KEY && FIRMS_MAP_KEY.trim().length > 0;
|
|
55
|
+
}
|
|
32
56
|
//# sourceMappingURL=api.js.map
|
package/dist/config/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/config/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/config/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
package/dist/config/cache.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/config/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkDH,eAAO,MAAM,WAAW;aAEtB,OAAO;aAIP,OAAO;aAIP,YAAY;aAGZ,GAAG;iBAGD,eAAe;iBAIf,SAAS;iBAIT,QAAQ;iBAIR,QAAQ;iBAIR,iBAAiB;iBAIjB,MAAM;iBAIN,gBAAgB;iBAIhB,cAAc;iBAId,aAAa;iBAMb,cAAc;iBAMd,OAAO;iBAIP,cAAc;iBAMd,iBAAiB;iBAQjB,YAAY;iBAQZ,cAAc;iBAKd,cAAc;;
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/config/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkDH,eAAO,MAAM,WAAW;aAEtB,OAAO;aAIP,OAAO;aAIP,YAAY;aAGZ,GAAG;iBAGD,eAAe;iBAIf,SAAS;iBAIT,QAAQ;iBAIR,QAAQ;iBAIR,iBAAiB;iBAIjB,MAAM;iBAIN,gBAAgB;iBAIhB,cAAc;iBAId,aAAa;iBAMb,cAAc;iBAMd,OAAO;iBAIP,cAAc;iBAMd,iBAAiB;iBAQjB,YAAY;iBAQZ,cAAc;iBAKd,cAAc;iBAKd,cAAc;iBAKd,iBAAiB;;CAEX,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAYrE"}
|
package/dist/config/cache.js
CHANGED
|
@@ -124,6 +124,14 @@ export const CacheConfig = {
|
|
|
124
124
|
// on coordinates rounded to ~1.1km; countries don't move, so once
|
|
125
125
|
// resolved (including a "no country" open-ocean result) it's permanent.
|
|
126
126
|
reverseCountry: Infinity,
|
|
127
|
+
// NASA FIRMS Area API bbox query (keyed path). NRT detections land
|
|
128
|
+
// within ~3 h of overpass; 30 min matches the NIFC perimeter refresh
|
|
129
|
+
// cadence.
|
|
130
|
+
firmsAreaQuery: 30 * MINUTE,
|
|
131
|
+
// NASA FIRMS regional flat-file fetch (keyless path). Caches the parsed
|
|
132
|
+
// rows per region file (not per request), so repeated queries anywhere
|
|
133
|
+
// in a region cost one fetch per half hour.
|
|
134
|
+
firmsRegionalFile: 30 * MINUTE,
|
|
127
135
|
},
|
|
128
136
|
};
|
|
129
137
|
/**
|
package/dist/config/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/config/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iCAAiC;AACjC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;AACzB,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;AACzB,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtB;;;;;GAKG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,YAAqB;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC7C,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,GAAG,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,YAAoB,EAAE,GAAY,EAAE,GAAY;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,KAAK,qBAAqB,YAAY,EAAE,CAAC,CAAC;QAC3E,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,aAAa,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,cAAc,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,kCAAkC;IAClC,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC;IAE7C,yDAAyD;IACzD,sCAAsC;IACtC,OAAO,EAAE,YAAY,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;IAEzD,4BAA4B;IAC5B,oFAAoF;IACpF,YAAY,EAAE,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;IAEjE,sCAAsC;IACtC,GAAG,EAAE;QACH,oDAAoD;QACpD,wCAAwC;QACxC,eAAe,EAAE,QAAQ;QAEzB,6CAA6C;QAC7C,+CAA+C;QAC/C,SAAS,EAAE,QAAQ;QAEnB,wBAAwB;QACxB,yBAAyB;QACzB,QAAQ,EAAE,EAAE,GAAG,IAAI;QAEnB,kBAAkB;QAClB,8CAA8C;QAC9C,QAAQ,EAAE,CAAC,GAAG,IAAI;QAElB,6BAA6B;QAC7B,oDAAoD;QACpD,iBAAiB,EAAE,EAAE,GAAG,MAAM;QAE9B,iBAAiB;QACjB,sDAAsD;QACtD,MAAM,EAAE,CAAC,GAAG,MAAM;QAElB,wCAAwC;QACxC,6CAA6C;QAC7C,gBAAgB,EAAE,CAAC,GAAG,IAAI;QAE1B,kDAAkD;QAClD,6DAA6D;QAC7D,cAAc,EAAE,QAAQ;QAExB,8BAA8B;QAC9B,+BAA+B;QAC/B,aAAa,EAAE,CAAC,GAAG,MAAM;QAEzB,qDAAqD;QACrD,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,cAAc,EAAE,CAAC,GAAG,IAAI;QAExB,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,yCAAyC;QACzC,OAAO,EAAE,CAAC,GAAG,GAAG;QAEhB,uEAAuE;QACvE,qEAAqE;QACrE,cAAc,EAAE,EAAE,GAAG,GAAG;QAExB,yEAAyE;QACzE,sEAAsE;QACtE,yEAAyE;QACzE,mBAAmB;QACnB,iBAAiB,EAAE,EAAE,GAAG,MAAM;QAE9B,wEAAwE;QACxE,gEAAgE;QAChE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,0DAA0D;QAC1D,YAAY,EAAE,EAAE,GAAG,IAAI;QAEvB,mEAAmE;QACnE,sEAAsE;QACtE,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,0CAA0C;QAC1C,cAAc,EAAE,EAAE,GAAG,MAAM;QAE3B,wEAAwE;QACxE,kEAAkE;QAClE,wEAAwE;QACxE,cAAc,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/config/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currentConditionsHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/currentConditionsHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"currentConditionsHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/currentConditionsHandler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmG5D,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,CAAC,EAAE,WAAW,EACzB,sBAAsB,CAAC,EAAE,sBAAsB,GAC9C,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAkH7D"}
|
|
@@ -8,12 +8,12 @@ import { resolveUnitPreferences } from '../utils/unitPreferences.js';
|
|
|
8
8
|
import { formatTemperatureQV, formatWindSpeedQV, formatPressureQV, formatVisibilityQV, formatHeightFromFt, formatPrecipFromMm, formatPressureFromPa, formatTemperatureFromC, formatElevationFromM, convertWindFromMps, convertDistanceFromKm, temperatureLabel, windSpeedLabel, precipitationLabel, distanceLabel, withLabel, snowfallToPrecipUnit, } from '../utils/unitFormat.js';
|
|
9
9
|
import { isInUS } from '../utils/geography.js';
|
|
10
10
|
import { SEARCH_TIERS, pickNearestStation, parseVisibilityMiles, parseWindDirection } from '../utils/metarStation.js';
|
|
11
|
-
import { windDirectionFromDegrees, relativeHumidityFromDewpoint } from '../utils/units.js';
|
|
11
|
+
import { windDirectionFromDegrees, relativeHumidityFromDewpoint, celsiusToFahrenheit, kphToMph, mpsToMph, knotsToMph } from '../utils/units.js';
|
|
12
12
|
import { milesToKm } from '../utils/distance.js';
|
|
13
13
|
import { DataNotFoundError, InvalidLocationError, ServiceUnavailableError } from '../errors/ApiError.js';
|
|
14
14
|
import { logger } from '../utils/logger.js';
|
|
15
15
|
import { DisplayThresholds } from '../config/displayThresholds.js';
|
|
16
|
-
import { getHainesCategory, getGrasslandFireDangerCategory, getRedFlagCategory, getCurrentFireWeatherValue, formatMixingHeight, interpretTransportWind, getFireWeatherContext } from '../utils/fireWeather.js';
|
|
16
|
+
import { getHainesCategory, getGrasslandFireDangerCategory, getRedFlagCategory, getCurrentFireWeatherValue, formatMixingHeight, interpretTransportWind, getFireWeatherContext, calculateFosbergIndex, getFosbergCategory, describeVpd, describeTopsoilMoisture } from '../utils/fireWeather.js';
|
|
17
17
|
import { extractSnowDepth, formatSnowData, hasWinterWeather } from '../utils/snow.js';
|
|
18
18
|
import { formatInTimezone, guessTimezoneFromCoords, getTimezoneAbbreviation, formatObservationAge } from '../utils/timezone.js';
|
|
19
19
|
import { getClimateNormals, formatNormals, getDateComponents } from '../utils/normals.js';
|
|
@@ -443,6 +443,77 @@ async function formatNOAACurrentConditions(noaaService, openMeteoService, nceiSe
|
|
|
443
443
|
output += `*Data source: NOAA National Weather Service*\n`;
|
|
444
444
|
return output;
|
|
445
445
|
}
|
|
446
|
+
/**
|
|
447
|
+
* Normalize a temperature that arrived in the caller's preferred unit back to
|
|
448
|
+
* the fixed °F the Fosberg index requires.
|
|
449
|
+
*
|
|
450
|
+
* Open-Meteo converts server-side (`openMeteoUnitParams`), so the response
|
|
451
|
+
* carries the caller's units. Normalizing here rather than issuing a second
|
|
452
|
+
* fixed-unit fetch is design decision D4.
|
|
453
|
+
*/
|
|
454
|
+
function prefsTempToFahrenheit(value, prefs) {
|
|
455
|
+
return prefs.temperature === 'C' ? celsiusToFahrenheit(value) : value;
|
|
456
|
+
}
|
|
457
|
+
/** Normalize a wind speed from the caller's preferred unit to fixed mph (D4). */
|
|
458
|
+
function prefsWindToMph(value, prefs) {
|
|
459
|
+
switch (prefs.windSpeed) {
|
|
460
|
+
case 'kmh':
|
|
461
|
+
return kphToMph(value);
|
|
462
|
+
case 'ms':
|
|
463
|
+
return mpsToMph(value);
|
|
464
|
+
case 'kn':
|
|
465
|
+
return knotsToMph(value);
|
|
466
|
+
default:
|
|
467
|
+
return value;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Render the Fire Weather section for the Open-Meteo (model) path: a Fosberg
|
|
472
|
+
* Fire Weather Index computed by this server from current values, plus dryness
|
|
473
|
+
* context (D5), carrying the derivation disclosure (D6).
|
|
474
|
+
*
|
|
475
|
+
* `getFireWeatherContext` — US geography boxes and northern-hemisphere
|
|
476
|
+
* seasonality — is deliberately never called here; the index reflects actual
|
|
477
|
+
* current conditions and is hemisphere-proof by construction.
|
|
478
|
+
*
|
|
479
|
+
* Sustained wind feeds the index; gusts are display context only and are
|
|
480
|
+
* already rendered above, so inputs are not repeated in this section.
|
|
481
|
+
*/
|
|
482
|
+
function formatOpenMeteoFireWeather(temperature, relativeHumidity, windSpeed, vpdKPa, topsoilMoisture, prefs) {
|
|
483
|
+
let output = `\n## Fire Weather\n\n`;
|
|
484
|
+
const ffwi = temperature != null && relativeHumidity != null && windSpeed != null
|
|
485
|
+
? calculateFosbergIndex(prefsTempToFahrenheit(temperature, prefs), relativeHumidity, prefsWindToMph(windSpeed, prefs))
|
|
486
|
+
: NaN;
|
|
487
|
+
if (!Number.isFinite(ffwi)) {
|
|
488
|
+
output += `⚠️ Fire weather inputs unavailable for this location.\n`;
|
|
489
|
+
return output;
|
|
490
|
+
}
|
|
491
|
+
// Categorize the displayed (rounded) value so the number and the label
|
|
492
|
+
// never disagree at a band edge.
|
|
493
|
+
const index = Math.round(ffwi);
|
|
494
|
+
const category = getFosbergCategory(index);
|
|
495
|
+
const emoji = category.level === 'Low' ? '🟢' :
|
|
496
|
+
category.level === 'Moderate' ? '🟡' :
|
|
497
|
+
category.level === 'High' ? '🟠' : '🔴';
|
|
498
|
+
output += `**${emoji} Fosberg Fire Weather Index:** ${index} (${category.level})\n`;
|
|
499
|
+
output += `Computed from current temperature, humidity, and sustained wind. Higher values mean faster potential fire spread in fine fuels.\n\n`;
|
|
500
|
+
// Open ocean returns HTTP 200 with null dryness fields (Flood-API
|
|
501
|
+
// precedent): omit the line, or the whole block when both are missing.
|
|
502
|
+
const hasVpd = vpdKPa !== undefined && vpdKPa !== null && Number.isFinite(vpdKPa);
|
|
503
|
+
const hasSoil = topsoilMoisture !== undefined && topsoilMoisture !== null && Number.isFinite(topsoilMoisture);
|
|
504
|
+
if (hasVpd || hasSoil) {
|
|
505
|
+
output += `**Dryness context:**\n`;
|
|
506
|
+
if (hasVpd) {
|
|
507
|
+
output += `- **Vapour-pressure deficit:** ${vpdKPa.toFixed(1)} kPa (${describeVpd(vpdKPa)})\n`;
|
|
508
|
+
}
|
|
509
|
+
if (hasSoil) {
|
|
510
|
+
output += `- **Topsoil moisture (top 1 cm):** ${topsoilMoisture.toFixed(2)} m³/m³ (${describeTopsoilMoisture(topsoilMoisture)})\n`;
|
|
511
|
+
}
|
|
512
|
+
output += `\n`;
|
|
513
|
+
}
|
|
514
|
+
output += `*Derived by this server from Open-Meteo model data — not an official fire-danger rating. Heed warnings from your national fire authority.*\n`;
|
|
515
|
+
return output;
|
|
516
|
+
}
|
|
446
517
|
/**
|
|
447
518
|
* Format current conditions from Open-Meteo model data (non-US locations).
|
|
448
519
|
*
|
|
@@ -455,7 +526,7 @@ async function formatOpenMeteoCurrentConditions(openMeteoService, nceiService, l
|
|
|
455
526
|
const tempU = temperatureLabel(prefs);
|
|
456
527
|
const windU = windSpeedLabel(prefs);
|
|
457
528
|
const precipU = precipitationLabel(prefs);
|
|
458
|
-
const response = await openMeteoService.getCurrentConditions(latitude, longitude, prefs);
|
|
529
|
+
const response = await openMeteoService.getCurrentConditions(latitude, longitude, prefs, includeFireWeather);
|
|
459
530
|
// getCurrentConditions rejects responses without a `current` block.
|
|
460
531
|
const current = response.current;
|
|
461
532
|
const timezone = response.timezone;
|
|
@@ -464,7 +535,7 @@ async function formatOpenMeteoCurrentConditions(openMeteoService, nceiService, l
|
|
|
464
535
|
if (current.weather_code !== undefined) {
|
|
465
536
|
output += `**Conditions:** ${openMeteoService.getWeatherDescription(current.weather_code)}\n`;
|
|
466
537
|
}
|
|
467
|
-
if (current.temperature_2m
|
|
538
|
+
if (current.temperature_2m != null) {
|
|
468
539
|
output += `**Temperature:** ${Math.round(current.temperature_2m)}${tempU}\n`;
|
|
469
540
|
// Feels-like only earns a line when it diverges meaningfully from actual.
|
|
470
541
|
// The gap is unit-keyed: these values are already in the caller's unit.
|
|
@@ -491,10 +562,10 @@ async function formatOpenMeteoCurrentConditions(openMeteoService, nceiService, l
|
|
|
491
562
|
if (current.dew_point_2m !== undefined) {
|
|
492
563
|
output += `**Dewpoint:** ${Math.round(current.dew_point_2m)}${tempU}\n`;
|
|
493
564
|
}
|
|
494
|
-
if (current.relative_humidity_2m
|
|
565
|
+
if (current.relative_humidity_2m != null) {
|
|
495
566
|
output += `**Humidity:** ${Math.round(current.relative_humidity_2m)}%\n`;
|
|
496
567
|
}
|
|
497
|
-
if (current.wind_speed_10m
|
|
568
|
+
if (current.wind_speed_10m != null) {
|
|
498
569
|
output += `**Wind:** ${Math.round(current.wind_speed_10m)} ${windU}`;
|
|
499
570
|
if (current.wind_direction_10m !== undefined) {
|
|
500
571
|
output += ` from ${Math.round(current.wind_direction_10m)}°`;
|
|
@@ -539,11 +610,10 @@ async function formatOpenMeteoCurrentConditions(openMeteoService, nceiService, l
|
|
|
539
610
|
output += `**Snowfall:** ${withLabel(snowfall, precipU, precipDecimals)}\n`;
|
|
540
611
|
}
|
|
541
612
|
}
|
|
542
|
-
// Fire Weather section (optional) —
|
|
543
|
-
//
|
|
613
|
+
// Fire Weather section (optional) — a server-computed Fosberg index off the
|
|
614
|
+
// model values already in hand; this path never makes a NOAA call.
|
|
544
615
|
if (includeFireWeather) {
|
|
545
|
-
output +=
|
|
546
|
-
output += `Fire weather indices are currently available for US locations only.\n`;
|
|
616
|
+
output += formatOpenMeteoFireWeather(current.temperature_2m, current.relative_humidity_2m, current.wind_speed_10m, current.vapour_pressure_deficit, current.soil_moisture_0_to_1cm, prefs);
|
|
547
617
|
}
|
|
548
618
|
// Climate Normals section (optional)
|
|
549
619
|
if (includeNormals) {
|
|
@@ -813,7 +883,8 @@ async function formatMetarCurrentConditions(aviationWeatherService, openMeteoSer
|
|
|
813
883
|
if (includeFireWeather) {
|
|
814
884
|
output += `\n## Fire Weather\n\n`;
|
|
815
885
|
output += `Fire weather indices are not available on the METAR source — they `;
|
|
816
|
-
output += `require NOAA gridpoint data. Use \`source: "noaa"\` for a US location
|
|
886
|
+
output += `require NOAA gridpoint data. Use \`source: "noaa"\` for a US location, `;
|
|
887
|
+
output += `or omit \`source\` to get a server-computed Fosberg index from model data elsewhere.\n`;
|
|
817
888
|
}
|
|
818
889
|
// Climate normals (optional) — supported here exactly as on the other two
|
|
819
890
|
// paths (D7): they need only the coordinates and the date.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currentConditionsHandler.js","sourceRoot":"","sources":["../../src/handlers/currentConditionsHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"currentConditionsHandler.js","sourceRoot":"","sources":["../../src/handlers/currentConditionsHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Handler for get_wildfire_info tool
|
|
2
|
+
* Handler for get_wildfire_info tool.
|
|
3
|
+
*
|
|
4
|
+
* Routed by country (see docs/plans/global-wildfire-plan.md D1/D2):
|
|
5
|
+
* US → NIFC/WFIGS named incidents (the original path, byte-identical
|
|
6
|
+
* output), elsewhere → NASA FIRMS satellite fire detections (VIIRS, near
|
|
7
|
+
* real-time, global). An explicit `source` forces the branch; there is
|
|
8
|
+
* deliberately no cross-fallback — managed incidents (names, acreage,
|
|
9
|
+
* containment) and satellite heat detections are different claims, and
|
|
10
|
+
* silently swapping one for the other would misrepresent the data.
|
|
11
|
+
*
|
|
12
|
+
* Country resolution order matches get_alerts: a `country_code` already
|
|
13
|
+
* carried by the resolved location (saved location or geocoded city_name),
|
|
14
|
+
* else a cached country-level Nominatim reverse lookup, else the `isInUS`
|
|
15
|
+
* bounding-box fallback. The reverse answer wins over `isInUS` — the CONUS
|
|
16
|
+
* box deliberately overruns into Canada (Toronto, Vancouver), and fire
|
|
17
|
+
* authority is jurisdictional.
|
|
3
18
|
*/
|
|
4
19
|
import { NIFCService } from '../services/nifc.js';
|
|
20
|
+
import { FIRMSService } from '../services/firms.js';
|
|
21
|
+
import { NominatimService } from '../services/nominatim.js';
|
|
5
22
|
import { LocationStore } from '../services/locationStore.js';
|
|
6
23
|
import { GeocodingService } from '../services/geocoding.js';
|
|
7
|
-
|
|
24
|
+
type HandlerResult = {
|
|
8
25
|
content: Array<{
|
|
9
26
|
type: string;
|
|
10
27
|
text: string;
|
|
11
28
|
}>;
|
|
12
|
-
}
|
|
29
|
+
};
|
|
30
|
+
export declare function handleGetWildfireInfo(args: unknown, nifcService: NIFCService, locationStore: LocationStore, geocodingService: GeocodingService, firmsService?: FIRMSService, nominatimService?: NominatimService): Promise<HandlerResult>;
|
|
31
|
+
export {};
|
|
13
32
|
//# sourceMappingURL=wildfireHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildfireHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/wildfireHandler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wildfireHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/wildfireHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAyB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA2B5D,KAAK,aAAa,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAkBxE,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,aAAa,CAAC,CAwGxB"}
|