@dangahagan/weather-mcp 1.29.3 → 1.30.1
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 +7 -6
- package/dist/config/cache.d.ts +1 -0
- package/dist/config/cache.d.ts.map +1 -1
- package/dist/config/cache.js +14 -0
- package/dist/config/cache.js.map +1 -1
- package/dist/handlers/forecastHandler.d.ts +2 -1
- package/dist/handlers/forecastHandler.d.ts.map +1 -1
- package/dist/handlers/forecastHandler.js +168 -4
- package/dist/handlers/forecastHandler.js.map +1 -1
- package/dist/handlers/weatherSummaryHandler.d.ts +2 -1
- package/dist/handlers/weatherSummaryHandler.d.ts.map +1 -1
- package/dist/handlers/weatherSummaryHandler.js +17 -2
- package/dist/handlers/weatherSummaryHandler.js.map +1 -1
- package/dist/handlers/wildfireHandler.d.ts.map +1 -1
- package/dist/handlers/wildfireHandler.js +88 -9
- package/dist/handlers/wildfireHandler.js.map +1 -1
- package/dist/server/weatherServer.d.ts.map +1 -1
- package/dist/server/weatherServer.js +14 -2
- package/dist/server/weatherServer.js.map +1 -1
- package/dist/services/metno.d.ts +82 -0
- package/dist/services/metno.d.ts.map +1 -0
- package/dist/services/metno.js +274 -0
- package/dist/services/metno.js.map +1 -0
- package/dist/types/metno.d.ts +114 -0
- package/dist/types/metno.d.ts.map +1 -0
- package/dist/types/metno.js +14 -0
- package/dist/types/metno.js.map +1 -0
- package/dist/types/wildfire.d.ts +7 -1
- package/dist/types/wildfire.d.ts.map +1 -1
- package/dist/utils/metnoParse.d.ts +165 -0
- package/dist/utils/metnoParse.d.ts.map +1 -0
- package/dist/utils/metnoParse.js +413 -0
- package/dist/utils/metnoParse.js.map +1 -0
- package/package.json +5 -5
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, NASA FIRMS, RainViewer, and Blitzortung.org — so there is nothing to sign up for and no key to paste in. (A few optional keys unlock extras — see [Optional API keys](#optional-api-keys) — but no tool ever requires one.)
|
|
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, MET Norway, USGS, NIFC, NASA FIRMS, RainViewer, and Blitzortung.org — so there is nothing to sign up for and no key to paste in. (A few optional keys unlock extras — see [Optional API keys](#optional-api-keys) — but no tool ever requires one.)
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
claude mcp add weather -- npx -y @dangahagan/weather-mcp@latest
|
|
@@ -58,7 +58,7 @@ Choose this one if you want:
|
|
|
58
58
|
|
|
59
59
|
- **Genuinely free** — every data source is a free public API. No trial that expires, no credit card, no rate-limited "free tier" bait.
|
|
60
60
|
- **No API keys** — install to first forecast in under a minute. Nothing to configure, nothing to leak into a repo. ([Three optional keys](#optional-api-keys) add extras if you want them; the default configuration needs none.)
|
|
61
|
-
- **Fully open source** — MIT licensed, readable TypeScript, 3,
|
|
61
|
+
- **Fully open source** — MIT licensed, readable TypeScript, 3,464 tests. Audit it, fork it, fix it.
|
|
62
62
|
- **Privacy-respecting** — your queries go directly from your machine to public weather APIs. No middleman server, no telemetry.
|
|
63
63
|
- **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.
|
|
64
64
|
|
|
@@ -96,7 +96,7 @@ All 17 tools, documented in detail in **[docs/TOOLS.md](./docs/TOOLS.md)**:
|
|
|
96
96
|
|
|
97
97
|
## Feature highlights
|
|
98
98
|
|
|
99
|
-
- **Smart source selection** — US queries use NOAA (detailed, includes forecaster narratives); everywhere else uses Open-Meteo. You never have to pick — and on a US *hourly* forecast the answer tells you which product you got and when NOAA last published it, so reaching for `source="openmeteo"` is a choice you can make rather than one made silently for you.
|
|
99
|
+
- **Smart source selection** — US queries use NOAA (detailed, includes forecaster narratives); everywhere else uses Open-Meteo. You never have to pick — and on a US *hourly* forecast the answer tells you which product you got and when NOAA last published it, so reaching for `source="openmeteo"` is a choice you can make rather than one made silently for you. If Open-Meteo is having an outage, a forecast outside the US is answered by MET Norway rather than failing, and says so.
|
|
100
100
|
- **International weather alerts** — `get_alerts` routes by country: NOAA in the US, Environment and Climate Change Canada alerts in Canada, the official national warnings of 38 European countries via EUMETNET MeteoAlarm, the national CAP feeds of India (NDMA SACHET), the Philippines (PAGASA) and Indonesia (BMKG), and the Japan Meteorological Agency's own disaster-prevention feed in Japan — shown unmodified, with the issuing service credited. Where a feed publishes geometry inline, warnings are matched to your exact point by the alert's own polygon rather than to the whole country (the Philippines and Indonesia today; Europe remains country-level). Japanese warnings are matched to your point by JMA warning area, with the Japanese name shown as published and an English gloss beside it. Border cities like Toronto get the right country's alerts, not the nearest bounding box's.
|
|
101
101
|
- **Real observations worldwide** — ask for what a station is *actually reporting* and `get_current_conditions` will read the nearest airport's METAR (`source="metar"`): a genuine instrument reading anywhere on earth, with the station, its distance, and the observation age always stated. Outside the US this is the difference between a measurement and a model estimate.
|
|
102
102
|
- **Model agreement** — ask *"how confident is this forecast?"* and `compare_models=true` compares five global models (GFS, ECMWF, ICON, GEM, UKMO) in one request, summarizing where they agree and where they split rather than dumping five forecasts. Spread across models is a proxy for uncertainty, not a guarantee — a tight spread can still be wrong, and the output says so.
|
|
@@ -119,6 +119,7 @@ All free, all public, no authentication required:
|
|
|
119
119
|
|--------|----------|----------|
|
|
120
120
|
| [NOAA Weather API](https://www.weather.gov/documentation/services-web-api) | US forecasts, current conditions, alerts, fire weather | US |
|
|
121
121
|
| [Open-Meteo](https://open-meteo.com/) | Global forecasts, historical data (1940+), air quality, marine, geocoding, climate normals, fire-weather inputs | Global |
|
|
122
|
+
| [MET Norway](https://api.met.no/weatherapi/locationforecast/2.0/documentation) | Global forecasts, used only when Open-Meteo fails transiently outside the US (about a nine-day horizon, daily only) — CC BY 4.0 | Global |
|
|
122
123
|
| [NOAA NWPS](https://water.noaa.gov/) | River levels, streamflow, flood stages | US |
|
|
123
124
|
| [Environment Agency](https://environment.data.gov.uk/flood-monitoring/doc/reference) | Observed river levels from the real-time gauge network, with published typical ranges — Open Government Licence v3 | Great Britain |
|
|
124
125
|
| [RCC ACIS](https://www.rcc-acis.org/) | Daily record high/low temperatures | US |
|
|
@@ -387,7 +388,7 @@ Being honest about what free public data can and can't do:
|
|
|
387
388
|
```bash
|
|
388
389
|
npm run build # Compile TypeScript
|
|
389
390
|
npm run dev # Run in development mode
|
|
390
|
-
npm test # Run all 3,
|
|
391
|
+
npm test # Run all 3,464 tests
|
|
391
392
|
npm run test:coverage # Coverage report
|
|
392
393
|
npm run audit # Dependency vulnerability scan
|
|
393
394
|
```
|
|
@@ -429,4 +430,4 @@ Contributions are welcome — this is a single-maintainer project and issues, PR
|
|
|
429
430
|
|
|
430
431
|
---
|
|
431
432
|
|
|
432
|
-
*Weather data provided by NOAA, Open-Meteo, USGS, NIFC, RainViewer, and Blitzortung.org. This project is not affiliated with or endorsed by any of these providers. Do not rely on this server as your sole source for safety-critical decisions — always consult official warnings and forecasts.*
|
|
433
|
+
*Weather data provided by NOAA, Open-Meteo, MET Norway, USGS, NIFC, RainViewer, and Blitzortung.org. This project is not affiliated with or endorsed by any of these providers. Do not rely on this server as your sole source for safety-critical decisions — always consult official warnings and forecasts.*
|
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;iBAKd,OAAO;iBAIP,aAAa;iBAMb,cAAc;iBAOd,eAAe;iBAMf,YAAY;iBAMZ,OAAO;iBAIP,cAAc;iBAMd,iBAAiB;iBAQjB,YAAY;iBAQZ,cAAc;iBAKd,cAAc;iBAKd,cAAc;iBAKd,iBAAiB;iBAOjB,WAAW;iBAgBX,QAAQ;iBAMR,gBAAgB;iBAYhB,eAAe;;
|
|
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;iBAKd,OAAO;iBAIP,aAAa;iBAMb,cAAc;iBAOd,eAAe;iBAMf,YAAY;iBAMZ,OAAO;iBAIP,cAAc;iBAMd,iBAAiB;iBAQjB,YAAY;iBAQZ,cAAc;iBAKd,cAAc;iBAKd,cAAc;iBAKd,iBAAiB;iBAOjB,WAAW;iBAgBX,QAAQ;iBAMR,gBAAgB;iBAYhB,eAAe;iBAef,aAAa;;CAEP,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAYrE"}
|
package/dist/config/cache.js
CHANGED
|
@@ -184,6 +184,20 @@ export const CacheConfig = {
|
|
|
184
184
|
// copy each refresh and merges the volatile reading into that copy;
|
|
185
185
|
// only the threshold projection is cached at this TTL.
|
|
186
186
|
eaStationDetail: 24 * HOUR,
|
|
187
|
+
// met.no Locationforecast parse (GET /locationforecast/2.0/complete) —
|
|
188
|
+
// **retention**, not freshness, mirroring jmaIndex above.
|
|
189
|
+
//
|
|
190
|
+
// met.no's ToS mandates conditional requests, and the response carries
|
|
191
|
+
// `Last-Modified`/`Expires` but no `ETag` — an `If-Modified-Since` replay
|
|
192
|
+
// returns 304 with zero bytes. Freshness (how long the server answers
|
|
193
|
+
// without asking met.no at all) and retention (how long the parsed
|
|
194
|
+
// timeseries is kept so a 304 has something to reuse) are two different
|
|
195
|
+
// clocks; collapsing them onto one short TTL would evict the parse at
|
|
196
|
+
// exactly the moment the validator became useful, so the conditional
|
|
197
|
+
// request could never fire. Twelve hours is safe at any age — a 304
|
|
198
|
+
// means met.no itself says the parse is current — and bounds the LRU
|
|
199
|
+
// against a series that runs to ~9-10 days per point (D3).
|
|
200
|
+
metnoForecast: 12 * HOUR,
|
|
187
201
|
},
|
|
188
202
|
};
|
|
189
203
|
/**
|
package/dist/config/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/config/cache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/config/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ import { NCEIService } from '../services/ncei.js';
|
|
|
8
8
|
import { AcisService } from '../services/acis.js';
|
|
9
9
|
import { LocationStore } from '../services/locationStore.js';
|
|
10
10
|
import { GeocodingService } from '../services/geocoding.js';
|
|
11
|
-
|
|
11
|
+
import { MetnoService } from '../services/metno.js';
|
|
12
|
+
export declare function handleGetForecast(args: unknown, noaaService: NOAAService, openMeteoService: OpenMeteoService, locationStore: LocationStore, geocodingService: GeocodingService, nceiService?: NCEIService, acisService?: AcisService, criticalAlertBanner?: boolean, metnoService?: MetnoService): Promise<{
|
|
12
13
|
content: Array<{
|
|
13
14
|
type: string;
|
|
14
15
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forecastHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/forecastHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,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,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"forecastHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/forecastHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,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,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA4D5D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAkLpD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,mBAAmB,CAAC,EAAE,OAAO,EAU7B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAqS7D"}
|
|
@@ -7,7 +7,7 @@ import { validateForecastDays, validateGranularity, validateOptionalBoolean, val
|
|
|
7
7
|
import { resolveLocationAsync, formatLocationLine, prependCriticalAlertBanner } from '../utils/locationResolver.js';
|
|
8
8
|
import { resolveCriticalAlertBanner, carryCriticalAlertBannerOnError } from './criticalAlertBanner.js';
|
|
9
9
|
import { resolveUnitPreferences } from '../utils/unitPreferences.js';
|
|
10
|
-
import { temperatureLabel, windSpeedLabel, precipitationLabel, noaaUnitsParam, formatElevationFromM, formatLuxonTime, } from '../utils/unitFormat.js';
|
|
10
|
+
import { temperatureLabel, windSpeedLabel, precipitationLabel, noaaUnitsParam, formatElevationFromM, formatLuxonTime, formatTemperatureFromC, formatWindFromMps, formatPrecipFromMm, } from '../utils/unitFormat.js';
|
|
11
11
|
import { logger } from '../utils/logger.js';
|
|
12
12
|
import { extractSnowfallForecast, extractIceAccumulation, formatSnowData, hasWinterWeather } from '../utils/snow.js';
|
|
13
13
|
import { formatInTimezone, guessTimezoneFromCoords } from '../utils/timezone.js';
|
|
@@ -17,9 +17,19 @@ import { computeDayAstronomy, nextMoonQuarters, formatAstronomyBlock, formatNext
|
|
|
17
17
|
import { isInUS } from '../utils/geography.js';
|
|
18
18
|
import { COMPARISON_MODELS, buildModelComparison, weatherCodeBucket, } from '../utils/modelComparison.js';
|
|
19
19
|
import { ENSEMBLE_MODEL_LABEL, buildEnsembleSpread, } from '../utils/ensembleSpread.js';
|
|
20
|
-
import { DataNotFoundError, InvalidLocationError } from '../errors/ApiError.js';
|
|
20
|
+
import { DataNotFoundError, InvalidLocationError, isRetryableError } from '../errors/ApiError.js';
|
|
21
|
+
import { describeMetnoSymbol } from '../utils/metnoParse.js';
|
|
21
22
|
/** Note shown when an auto-routed NOAA request falls back to Open-Meteo. */
|
|
22
23
|
const NOAA_FALLBACK_NOTE = '*NOAA does not cover this location; showing Open-Meteo model data instead.*';
|
|
24
|
+
/**
|
|
25
|
+
* Note shown when a transient Open-Meteo failure is answered by MET Norway.
|
|
26
|
+
*
|
|
27
|
+
* Same register as `NOAA_FALLBACK_NOTE` above — it names who failed and who
|
|
28
|
+
* answered — and deliberately says "is not responding" rather than "is down":
|
|
29
|
+
* this fires on one request's transient failure, which is not a claim about the
|
|
30
|
+
* service as a whole.
|
|
31
|
+
*/
|
|
32
|
+
const METNO_FALLBACK_NOTE = '*Open-Meteo is not responding; showing MET Norway model data instead.*';
|
|
23
33
|
/**
|
|
24
34
|
* Insert a note line directly under the output's top heading (first line),
|
|
25
35
|
* keeping the heading itself as the first thing the client renders.
|
|
@@ -150,7 +160,17 @@ function formatSevereWeather(properties) {
|
|
|
150
160
|
output += `\n*Note: These are probabilistic forecasts and may change. Always monitor local weather alerts for official warnings.*\n`;
|
|
151
161
|
return output;
|
|
152
162
|
}
|
|
153
|
-
export async function handleGetForecast(args, noaaService, openMeteoService, locationStore, geocodingService, nceiService, acisService, criticalAlertBanner
|
|
163
|
+
export async function handleGetForecast(args, noaaService, openMeteoService, locationStore, geocodingService, nceiService, acisService, criticalAlertBanner,
|
|
164
|
+
// Trailing and optional, so all 38 pre-existing call sites across `src/` and
|
|
165
|
+
// `tests/` pass `undefined` and compile unedited. Reordering to put it
|
|
166
|
+
// somewhere more natural would break every one of them.
|
|
167
|
+
//
|
|
168
|
+
// **A caller that forwards a shortened argument list does not get this for
|
|
169
|
+
// free.** `handleGetWeatherSummary` calls this function with six positional
|
|
170
|
+
// arguments, dropping `acisService` and `criticalAlertBanner`, so it has to
|
|
171
|
+
// pass `undefined, undefined, metnoService` to reach this slot — appending
|
|
172
|
+
// one argument there would bind the service to `acisService`.
|
|
173
|
+
metnoService) {
|
|
154
174
|
// Resolve location from coordinates, a saved location name, or a geocoded city name
|
|
155
175
|
const resolved = await resolveLocationAsync(args, locationStore, geocodingService);
|
|
156
176
|
const { latitude, longitude } = resolved;
|
|
@@ -270,7 +290,56 @@ export async function handleGetForecast(args, noaaService, openMeteoService, loc
|
|
|
270
290
|
}
|
|
271
291
|
else {
|
|
272
292
|
// Use Open-Meteo for international locations
|
|
273
|
-
|
|
293
|
+
try {
|
|
294
|
+
result = await formatOpenMeteoForecast(openMeteoService, nceiService, latitude, longitude, days, granularity, include_precipitation_probability, include_normals, include_astronomy, prefs, detail, acisService);
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
// **The complement of the NOAA fallback's guard above, and getting it
|
|
298
|
+
// backwards is the whole failure mode.** That one answers "NOAA does
|
|
299
|
+
// not cover this point" — a permanent rejection. This one answers
|
|
300
|
+
// "Open-Meteo is not answering right now" — a transient failure. Swap
|
|
301
|
+
// them and we would fall back on a bad coordinate, hiding our own 400
|
|
302
|
+
// forever, while propagating the outage this exists to cover.
|
|
303
|
+
//
|
|
304
|
+
// Keyed on `isRetryableError`, **not** on `instanceof
|
|
305
|
+
// ServiceUnavailableError || instanceof RateLimitError`: the
|
|
306
|
+
// `instanceof` pair reads as the obvious choice and misses the
|
|
307
|
+
// unclassified-network case, which Open-Meteo maps to a plain
|
|
308
|
+
// `ApiError` with `isRetryable: true`.
|
|
309
|
+
//
|
|
310
|
+
// The `requestedSource !== 'auto'` arm is a copy of the NOAA
|
|
311
|
+
// fallback's own line: a forced `source: "openmeteo"` keeps its error
|
|
312
|
+
// contract, because the caller named that authority.
|
|
313
|
+
if (requestedSource !== 'auto' ||
|
|
314
|
+
!metnoService ||
|
|
315
|
+
!(error instanceof Error) ||
|
|
316
|
+
!isRetryableError(error)) {
|
|
317
|
+
throw error;
|
|
318
|
+
}
|
|
319
|
+
let fallback;
|
|
320
|
+
try {
|
|
321
|
+
fallback = await formatMetnoForecast(metnoService, latitude, longitude, days, granularity, include_precipitation_probability, prefs);
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
// Both down. The **original Open-Meteo error** propagates, not
|
|
325
|
+
// met.no's: the user's error contract is unchanged and met.no's
|
|
326
|
+
// message never surfaces. No fabricated forecast, no
|
|
327
|
+
// empty-but-cheerful render.
|
|
328
|
+
throw error;
|
|
329
|
+
}
|
|
330
|
+
// Logged after the fallback succeeded, so a `fallback: true` warn
|
|
331
|
+
// naming MET Norway means it was actually served — which is the signal
|
|
332
|
+
// the design's revisit trigger reads.
|
|
333
|
+
logger.warn('Open-Meteo failed transiently; fell back to MET Norway', {
|
|
334
|
+
latitude,
|
|
335
|
+
longitude,
|
|
336
|
+
fallback: true
|
|
337
|
+
});
|
|
338
|
+
result = fallback;
|
|
339
|
+
if (result.content.length > 0 && result.content[0]?.type === 'text' && result.content[0].text) {
|
|
340
|
+
result.content[0].text = insertNoteAfterHeading(result.content[0].text, METNO_FALLBACK_NOTE);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
274
343
|
}
|
|
275
344
|
}
|
|
276
345
|
catch (error) {
|
|
@@ -531,6 +600,101 @@ async function formatNOAAForecast(noaaService, openMeteoService, nceiService, la
|
|
|
531
600
|
/**
|
|
532
601
|
* Format Open-Meteo forecast data for display
|
|
533
602
|
*/
|
|
603
|
+
/**
|
|
604
|
+
* Render a MET Norway forecast, for the Open-Meteo outage fallback only.
|
|
605
|
+
*
|
|
606
|
+
* **This never routes through `formatOpenMeteoForecast`**, which hard-codes
|
|
607
|
+
* `*Data source: Open-Meteo (Global)*` in its footer. Feeding met.no data
|
|
608
|
+
* through it would misattribute the source and breach CC BY at the same time.
|
|
609
|
+
*
|
|
610
|
+
* It matches that formatter's register closely — the same heading, the same
|
|
611
|
+
* `**Location:**` / `**Elevation:**` / `**Timezone:**` / `**Forecast Days:**`
|
|
612
|
+
* block, one `## <weekday, month day>` per day — and carries three things it
|
|
613
|
+
* does not:
|
|
614
|
+
*
|
|
615
|
+
* - **The CC BY attribution footer**, which the licence requires.
|
|
616
|
+
* - **A short-horizon disclosure.** `days` validates to 1-16 and Open-Meteo
|
|
617
|
+
* serves all 16; met.no serves nine or ten, so a `days: 14` request answered
|
|
618
|
+
* here is short by a third. The number comes from the aggregate, never from a
|
|
619
|
+
* constant, so if met.no extends its horizon the line says the new number
|
|
620
|
+
* with no code change. Silently returning 9 days for 14 is the failure
|
|
621
|
+
* v1.25.18 already fixed once on the NOAA path.
|
|
622
|
+
* - **Unit conversion.** Open-Meteo is *asked* in the caller's display units
|
|
623
|
+
* and its formatter therefore rounds without converting. met.no serves SI
|
|
624
|
+
* unconditionally, so this is the only formatter in this file that must
|
|
625
|
+
* convert — and it converts before it rounds, through the shared helpers,
|
|
626
|
+
* rather than hand-rolling arithmetic (G69).
|
|
627
|
+
*
|
|
628
|
+
* Normals and astronomy are not rendered. Both are garnish, and garnish that is
|
|
629
|
+
* absent degrades to no section at all rather than to an apology.
|
|
630
|
+
*/
|
|
631
|
+
async function formatMetnoForecast(metnoService, latitude, longitude, days, granularity, include_precipitation_probability, prefs) {
|
|
632
|
+
// met.no publishes UTC timestamps and no timezone of its own, and on this
|
|
633
|
+
// path Open-Meteo — which normally supplies one — is the thing that just
|
|
634
|
+
// failed. `tz-lookup` resolves the real IANA zone from the coordinates, so
|
|
635
|
+
// the days are bucketed in the caller's own local time and the header names
|
|
636
|
+
// the zone exactly as the Open-Meteo path does.
|
|
637
|
+
const timezone = guessTimezoneFromCoords(latitude, longitude);
|
|
638
|
+
const aggregate = await metnoService.getForecast(latitude, longitude, timezone);
|
|
639
|
+
const served = aggregate.days.slice(0, days);
|
|
640
|
+
let output = `# Weather Forecast (Daily)\n\n`;
|
|
641
|
+
output += `**Location:** ${latitude.toFixed(4)}, ${longitude.toFixed(4)}\n`;
|
|
642
|
+
if (aggregate.elevationM != null) {
|
|
643
|
+
output += `**Elevation:** ${formatElevationFromM(aggregate.elevationM, prefs)}\n`;
|
|
644
|
+
}
|
|
645
|
+
output += `**Timezone:** ${aggregate.timezone}\n`;
|
|
646
|
+
output += `**Forecast Days:** ${served.length}\n\n`;
|
|
647
|
+
// An hourly request answered here renders the daily view and says so. met.no
|
|
648
|
+
// publishes six-hourly steps beyond about two and a half days, so a
|
|
649
|
+
// fabricated hourly series off that tail would be an invention; a downgrade
|
|
650
|
+
// the caller is told about is the honest answer.
|
|
651
|
+
if (granularity === 'hourly') {
|
|
652
|
+
output += `*MET Norway publishes no hourly product through this fallback; showing the daily forecast instead.*\n\n`;
|
|
653
|
+
}
|
|
654
|
+
// Computed from what was served, never from a constant — same rule as the
|
|
655
|
+
// NOAA horizon disclosure this mirrors, minus its `source: "openmeteo"`
|
|
656
|
+
// pointer, which would be wrong advice when Open-Meteo is what just failed.
|
|
657
|
+
if (served.length < days) {
|
|
658
|
+
output += `*MET Norway publishes a ${served.length}-day forecast; showing all ${served.length} of the ${days} days requested.*\n\n`;
|
|
659
|
+
}
|
|
660
|
+
for (const day of served) {
|
|
661
|
+
const dt = DateTime.fromISO(day.date, { zone: aggregate.timezone });
|
|
662
|
+
output += `## ${dt.toLocaleString({ weekday: 'long', month: 'long', day: 'numeric' })}\n`;
|
|
663
|
+
// A day the model did not publish a half of drops only that half; the
|
|
664
|
+
// survivor still renders, matching the Open-Meteo formatter's behaviour.
|
|
665
|
+
if (day.temperatureMaxC != null || day.temperatureMinC != null) {
|
|
666
|
+
let line = `**Temperature:**`;
|
|
667
|
+
if (day.temperatureMaxC != null) {
|
|
668
|
+
line += ` High ${formatTemperatureFromC(day.temperatureMaxC, prefs)}`;
|
|
669
|
+
}
|
|
670
|
+
if (day.temperatureMaxC != null && day.temperatureMinC != null)
|
|
671
|
+
line += ` /`;
|
|
672
|
+
if (day.temperatureMinC != null) {
|
|
673
|
+
line += ` Low ${formatTemperatureFromC(day.temperatureMinC, prefs)}`;
|
|
674
|
+
}
|
|
675
|
+
output += `${line}\n`;
|
|
676
|
+
}
|
|
677
|
+
if (include_precipitation_probability && day.precipitationProbabilityMaxPct != null) {
|
|
678
|
+
output += `**Precipitation Chance:** ${Math.round(day.precipitationProbabilityMaxPct)}%\n`;
|
|
679
|
+
}
|
|
680
|
+
if (day.precipitationMm != null && day.precipitationMm > 0) {
|
|
681
|
+
output += `**Precipitation:** ${formatPrecipFromMm(day.precipitationMm, prefs)}\n`;
|
|
682
|
+
}
|
|
683
|
+
if (day.windSpeedMaxMps != null) {
|
|
684
|
+
const windDir = day.windFromDirectionDeg != null
|
|
685
|
+
? ` ${getWindDirection(day.windFromDirectionDeg)}`
|
|
686
|
+
: '';
|
|
687
|
+
output += `**Wind:** ${formatWindFromMps(day.windSpeedMaxMps, prefs)}${windDir}\n`;
|
|
688
|
+
}
|
|
689
|
+
if (day.symbolCode != null) {
|
|
690
|
+
output += `**Conditions:** ${describeMetnoSymbol(day.symbolCode)}\n`;
|
|
691
|
+
}
|
|
692
|
+
output += `\n`;
|
|
693
|
+
}
|
|
694
|
+
output += `---\n`;
|
|
695
|
+
output += `*Forecast data by MET Norway (CC BY 4.0)*\n`;
|
|
696
|
+
return { content: [{ type: 'text', text: output }] };
|
|
697
|
+
}
|
|
534
698
|
async function formatOpenMeteoForecast(openMeteoService, nceiService, latitude, longitude, days, granularity, include_precipitation_probability, include_normals, include_astronomy, prefs, detail, acisService) {
|
|
535
699
|
// Unit labels for output (Open-Meteo returns values already in requested units)
|
|
536
700
|
const tempU = temperatureLabel(prefs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forecastHandler.js","sourceRoot":"","sources":["../../src/handlers/forecastHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forecastHandler.js","sourceRoot":"","sources":["../../src/handlers/forecastHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,11 +18,12 @@ import { NominatimService } from '../services/nominatim.js';
|
|
|
18
18
|
import { GoogleWeatherService } from '../services/googleWeather.js';
|
|
19
19
|
import { NationalCapService } from '../services/nationalCap.js';
|
|
20
20
|
import { JmaService } from '../services/jma.js';
|
|
21
|
+
import { MetnoService } from '../services/metno.js';
|
|
21
22
|
/**
|
|
22
23
|
* Sections that can be included in a weather summary.
|
|
23
24
|
*/
|
|
24
25
|
export type SummarySection = 'current' | 'forecast' | 'alerts' | 'air_quality' | 'lightning';
|
|
25
|
-
export declare function handleGetWeatherSummary(args: unknown, noaaService: NOAAService, openMeteoService: OpenMeteoService, nceiService: NCEIService, locationStore: LocationStore, geocodingService: GeocodingService, meteoAlarmService?: MeteoAlarmService, geoMetService?: GeoMetService, nominatimService?: NominatimService, googleWeatherService?: GoogleWeatherService, nationalCapService?: NationalCapService, jmaService?: JmaService, criticalAlertBanner?: boolean): Promise<{
|
|
26
|
+
export declare function handleGetWeatherSummary(args: unknown, noaaService: NOAAService, openMeteoService: OpenMeteoService, nceiService: NCEIService, locationStore: LocationStore, geocodingService: GeocodingService, meteoAlarmService?: MeteoAlarmService, geoMetService?: GeoMetService, nominatimService?: NominatimService, googleWeatherService?: GoogleWeatherService, nationalCapService?: NationalCapService, jmaService?: JmaService, criticalAlertBanner?: boolean, metnoService?: MetnoService): Promise<{
|
|
26
27
|
content: Array<{
|
|
27
28
|
type: string;
|
|
28
29
|
text: string;
|