@dangahagan/weather-mcp 1.35.13 → 1.35.14

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 CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://badge.fury.io/js/@dangahagan%2Fweather-mcp.svg)](https://www.npmjs.com/package/@dangahagan/weather-mcp)
4
4
  [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.dgahagan/weather-mcp)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
- [![Tests](https://img.shields.io/badge/tests-5%2C020%20passing-brightgreen)](./docs/testing/TEST_SUITE_README.md)
6
+ [![Tests](https://img.shields.io/badge/tests-5%2C089%20passing-brightgreen)](./docs/testing/TEST_SUITE_README.md)
7
7
  [![Node](https://img.shields.io/badge/node-%3E%3D18-339933?logo=node.js&logoColor=white)](https://nodejs.org)
8
8
 
9
9
  **Give your AI assistant real weather data — 17 tools, zero API keys, zero signup, zero cost.**
@@ -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. ([Four optional keys](#optional-api-keys) add extras if you want them; the default configuration needs none.)
61
- - **Fully open source** — MIT licensed, readable TypeScript, 5,020 tests. Audit it, fork it, fix it.
61
+ - **Fully open source** — MIT licensed, readable TypeScript, 5,089 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, and no telemetry unless you opt in.
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
 
@@ -394,7 +394,7 @@ Being honest about what free public data can and can't do:
394
394
  ```bash
395
395
  npm run build # Compile TypeScript
396
396
  npm run dev # Run in development mode
397
- npm test # Run all 5,020 tests
397
+ npm test # Run all 5,089 tests
398
398
  npm run test:coverage # Coverage report
399
399
  npm run audit # Dependency vulnerability scan
400
400
  ```
@@ -2,7 +2,8 @@
2
2
  * Handler for get_alerts tool.
3
3
  *
4
4
  * Routed by country (see .devdocs/archive/completed/international-alerts-plan.md D1):
5
- * US → NOAA (the original path, byte-identical output),
5
+ * US, Puerto Rico, Guam, the Northern Mariana Islands, the US Virgin Islands
6
+ * and American Samoa → NOAA (the original path, byte-identical output),
6
7
  * Canada → MSC GeoMet (Environment and Climate Change Canada),
7
8
  * MeteoAlarm member countries → the country's MeteoAlarm feed,
8
9
  * Philippines / Indonesia → their national CAP feeds (PAGASA, BMKG), matched
@@ -16,7 +17,7 @@
16
17
  * `GOOGLE_WEATHER_API_KEY` is configured, else a clean not-covered
17
18
  * message (see .devdocs/archive/completed/global-alerts-fallback-plan.md D1).
18
19
  *
19
- * The branch order is the invariant: a US, Canadian, MeteoAlarm-country,
20
+ * The branch order is the invariant: a US (including its territories), Canadian, MeteoAlarm-country,
20
21
  * national-CAP-country, or Japanese request never contacts Google, key or no
21
22
  * key — those
22
23
  * are jurisdictional authorities and stay first-choice. Without a key the
@@ -24,7 +25,7 @@
24
25
  *
25
26
  * Country resolution order: a `country_code` already carried by the resolved
26
27
  * location (saved location or geocoded city_name), else a cached
27
- * country-level Nominatim reverse lookup, else the `isInUS` bounding-box
28
+ * country-level Nominatim reverse lookup, else the `isInUS` / `isInNwsTerritory` bounding-box
28
29
  * fallback (which preserves NOAA marine alerts for US coastal waters, where
29
30
  * reverse geocoding returns no country). The reverse answer wins over
30
31
  * `isInUS` — the CONUS box deliberately overruns into Canada (Toronto,
@@ -1 +1 @@
1
- {"version":3,"file":"alertsHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/alertsHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,iBAAiB,EAGlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,kBAAkB,EAGnB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AA6BhE,KAAK,aAAa,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAMxE,wBAAsB,eAAe,CACnC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,aAAa,CAAC,EAAE,aAAa,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,kBAAkB,CAAC,EAAE,kBAAkB,EAGvC,UAAU,CAAC,EAAE,UAAU,EAQvB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,aAAa,CAAC,CA4FxB"}
1
+ {"version":3,"file":"alertsHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/alertsHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,iBAAiB,EAGlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACL,kBAAkB,EAGnB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,UAAU,EAAkB,MAAM,oBAAoB,CAAC;AA+BhE,KAAK,aAAa,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAMxE,wBAAsB,eAAe,CACnC,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,aAAa,CAAC,EAAE,aAAa,EAC7B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,kBAAkB,CAAC,EAAE,kBAAkB,EAGvC,UAAU,CAAC,EAAE,UAAU,EAQvB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,aAAa,CAAC,CA6FxB"}
@@ -2,7 +2,8 @@
2
2
  * Handler for get_alerts tool.
3
3
  *
4
4
  * Routed by country (see .devdocs/archive/completed/international-alerts-plan.md D1):
5
- * US → NOAA (the original path, byte-identical output),
5
+ * US, Puerto Rico, Guam, the Northern Mariana Islands, the US Virgin Islands
6
+ * and American Samoa → NOAA (the original path, byte-identical output),
6
7
  * Canada → MSC GeoMet (Environment and Climate Change Canada),
7
8
  * MeteoAlarm member countries → the country's MeteoAlarm feed,
8
9
  * Philippines / Indonesia → their national CAP feeds (PAGASA, BMKG), matched
@@ -16,7 +17,7 @@
16
17
  * `GOOGLE_WEATHER_API_KEY` is configured, else a clean not-covered
17
18
  * message (see .devdocs/archive/completed/global-alerts-fallback-plan.md D1).
18
19
  *
19
- * The branch order is the invariant: a US, Canadian, MeteoAlarm-country,
20
+ * The branch order is the invariant: a US (including its territories), Canadian, MeteoAlarm-country,
20
21
  * national-CAP-country, or Japanese request never contacts Google, key or no
21
22
  * key — those
22
23
  * are jurisdictional authorities and stay first-choice. Without a key the
@@ -24,7 +25,7 @@
24
25
  *
25
26
  * Country resolution order: a `country_code` already carried by the resolved
26
27
  * location (saved location or geocoded city_name), else a cached
27
- * country-level Nominatim reverse lookup, else the `isInUS` bounding-box
28
+ * country-level Nominatim reverse lookup, else the `isInUS` / `isInNwsTerritory` bounding-box
28
29
  * fallback (which preserves NOAA marine alerts for US coastal waters, where
29
30
  * reverse geocoding returns no country). The reverse answer wins over
30
31
  * `isInUS` — the CONUS box deliberately overruns into Canada (Toronto,
@@ -39,7 +40,9 @@ import { classifyJmaTier, glossJmaCondition, glossJmaWarningName } from '../util
39
40
  import { resolveLocationAsync, prependLocationLine } from '../utils/locationResolver.js';
40
41
  import { validateOptionalBoolean, validateDetail } from '../utils/validation.js';
41
42
  import { formatInTimezone, guessTimezoneFromCoords } from '../utils/timezone.js';
42
- import { isInUS } from '../utils/geography.js';
43
+ import { isInUS, isInNwsTerritory } from '../utils/geography.js';
44
+ import { isNwsCountryCode } from '../utils/nwsJurisdiction.js';
45
+ import { MAX_INDEX_ITEMS } from '../utils/capParse.js';
43
46
  import { logger, describeErrorForLogging } from '../utils/logger.js';
44
47
  /** Display caps for the international renderers (country feeds routinely carry 50+ warnings). */
45
48
  const STANDARD_DISPLAY_CAP = 10;
@@ -89,7 +92,8 @@ fallbackCountryCode) {
89
92
  // 3. Route. The reverse answer wins over isInUS; "no country" (open
90
93
  // water, absent service, or a failed lookup) falls back to the
91
94
  // bounding boxes so US coastal waters keep their NOAA marine alerts.
92
- if (countryCode === 'us') {
95
+ // No coordinate box on a territory code, unlike the banner: NOAA is the authority on what NOAA serves (nwsJurisdiction.ts).
96
+ if (countryCode !== null && isNwsCountryCode(countryCode)) {
93
97
  return handleNoaaAlerts(resolved, noaaService, active_only, detail);
94
98
  }
95
99
  if (countryCode === 'ca' && geoMetService) {
@@ -98,7 +102,7 @@ fallbackCountryCode) {
98
102
  if (countryCode && isMeteoAlarmCountry(countryCode) && meteoAlarmService) {
99
103
  return handleMeteoAlarmAlerts(resolved, meteoAlarmService, countryCode, active_only, detail);
100
104
  }
101
- if (!countryCode && isInUS(latitude, longitude)) {
105
+ if (!countryCode && (isInUS(latitude, longitude) || isInNwsTerritory(latitude, longitude))) {
102
106
  return handleNoaaAlerts(resolved, noaaService, active_only, detail);
103
107
  }
104
108
  // 3b. National CAP feeds (India, the Philippines, Indonesia): keyless
@@ -483,10 +487,26 @@ async function handleNationalCapAlerts(resolved, nationalCapService, countryCode
483
487
  // nothing-loaded branch above avoids, one threshold further along.
484
488
  output += `ℹ️ **No alert covering your location among those that could be read.**\n\n`;
485
489
  output += `*Checked against ${publisher}'s public CAP feed — ${warnings.length} active warning${warnings.length > 1 ? 's' : ''} elsewhere in ${countryPhrase}. `;
486
- output += `The ${unavailableCount} alert${unavailableCount > 1 ? 's' : ''} above could not be read, so this is not a full all-clear.*\n\n`;
490
+ // One closing sentence carries both reasons when the index was also
491
+ // trimmed, rather than two lines that restate each other.
492
+ output += indexTrimmed
493
+ ? `The ${unavailableCount} alert${unavailableCount > 1 ? 's' : ''} above could not be read and alerts beyond the first ${MAX_INDEX_ITEMS} in the feed were not checked, so this is not a full all-clear.*\n\n`
494
+ : `The ${unavailableCount} alert${unavailableCount > 1 ? 's' : ''} above could not be read, so this is not a full all-clear.*\n\n`;
495
+ }
496
+ else if (matched.length === 0 && countryLevel.length === 0 && indexTrimmed) {
497
+ // A trimmed index with nothing covering this point. The alerts past the
498
+ // cut were never read, and unlike JMA's one-bulletin-per-office index a
499
+ // CAP index item is an independent alert — item 201 can be a live warning
500
+ // for this point. A trimmed set is never used for exclusion (G8), so no ✅.
501
+ // Its own sentence: the unavailable one above would print a zero count.
502
+ output += `ℹ️ **No alert covering your location among those checked — this is not an all-clear.**\n\n`;
503
+ output += warnings.length > 0
504
+ ? `*Checked against ${publisher}'s public CAP feed — ${warnings.length} active warning${warnings.length > 1 ? 's' : ''} elsewhere in ${countryPhrase}; alerts beyond the first ${MAX_INDEX_ITEMS} in the feed were not checked.*\n\n`
505
+ : `*Checked against ${publisher}'s public CAP feed — no active warnings among the first ${MAX_INDEX_ITEMS} alerts; the rest of the feed was not checked.*\n\n`;
487
506
  }
488
507
  else if (matched.length === 0 && countryLevel.length === 0) {
489
- // Honest empty: the whole feed was read, nothing covers this point. The
508
+ // Honest empty: the whole feed was read (untrimmed, nothing unavailable),
509
+ // nothing covers this point. The
490
510
  // scope line says what was actually checked.
491
511
  output += `✅ **No active weather alerts for your location in ${countryPhrase}.**\n\n`;
492
512
  output += warnings.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"alertsHandler.js","sourceRoot":"","sources":["../../src/handlers/alertsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alertsHandler.js","sourceRoot":"","sources":["../../src/handlers/alertsHandler.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ import type { ResolvedLocation } from '../utils/locationResolver.js';
32
32
  * (Guam, the southern Marianas, the USVI, American Samoa). `isInUS` is not
33
33
  * widened to absorb them because it backs a *rendered* NWPS coverage claim in
34
34
  * `get_river_conditions`, where Puerto Rico is gauged and Guam is not
35
- * (GOTCHAS G53). The code path is the two sets above, and there are two of
35
+ * (GOTCHAS G53). The code path is the two sets in `src/utils/nwsJurisdiction.ts`, and there are two of
36
36
  * them because a code settles `us` and `pr` on its own while the four
37
37
  * territory codes must also satisfy `isInNwsTerritory` — `MP` names a
38
38
  * territory NWS serves only the southern half of. NOAA is the only upstream
@@ -1 +1 @@
1
- {"version":3,"file":"criticalAlertBanner.d.ts","sourceRoot":"","sources":["../../src/handlers/criticalAlertBanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA8ErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA8DjB;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQnE"}
1
+ {"version":3,"file":"criticalAlertBanner.d.ts","sourceRoot":"","sources":["../../src/handlers/criticalAlertBanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AA6BrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA8DjB;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAKvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQnE"}
@@ -21,6 +21,7 @@
21
21
  */
22
22
  import { isInUS, isInNwsTerritory } from '../utils/geography.js';
23
23
  import { logger } from '../utils/logger.js';
24
+ import { NWS_CODE_ALONE, NWS_CODE_PLUS_BOX } from '../utils/nwsJurisdiction.js';
24
25
  import { formatCriticalAlertBanner, selectCriticalAlert, } from '../utils/criticalAlert.js';
25
26
  /**
26
27
  * The HTTP status an error carries, or `undefined`.
@@ -42,54 +43,6 @@ function httpStatusOf(error) {
42
43
  }
43
44
  return undefined;
44
45
  }
45
- /**
46
- * Country codes that settle NWS jurisdiction **on their own**, with no geography.
47
- *
48
- * Two sets, not one with a special case: a single set whose membership means
49
- * different things for different members is how the next reader gets it wrong.
50
- * The names state the rule.
51
- *
52
- * `'pr'` belongs **here and not in `NWS_CODE_PLUS_BOX`, and that is a correctness
53
- * constraint rather than a style one.** Puerto Rico lives in `isInUS`, *not* in
54
- * `isInNwsTerritory` — the new predicate covers only the four territories `isInUS`
55
- * leaves out. Pairing `'pr'` with the territory box would therefore evaluate
56
- * `false` and silently drop the banner for every Open-Meteo-geocoded Puerto Rico
57
- * request, turning a coverage fix into a coverage regression. Tidying it across is
58
- * the obvious wrong move; a mutation row in the plan pins it, and a relocation has
59
- * the same red set as a deletion.
60
- *
61
- * `us` also stays code-alone because making it conditional on a box would silently
62
- * narrow behaviour this change does not touch.
63
- *
64
- * **Which provider emits which value** (G48 — a fixture value the live resolver
65
- * never produces proves nothing). `us` comes from Census (`geocoding.ts:150`,
66
- * hard-coded), from Nominatim (`geocoding.ts:239` — OSM resolves every US
67
- * territory to `US` at country zoom, measured in issue #86 and again 2026-09-18),
68
- * and from saved locations. The ISO territory codes `GU`/`MP`/`VI`/`AS`/`PR` come
69
- * **only** from the Open-Meteo geocoder (`geocoding.ts:334`), the last provider in
70
- * both `GeocodingService` orders (`:443`, `:447`), reached when the first two
71
- * return nothing. So `pr` is reachable on that path and nowhere else.
72
- *
73
- * COFA codes (`fm`, `pw`, `mh`) are absent from both sets deliberately: sovereign
74
- * countries, `/points` answers 500, out of scope until someone asks.
75
- *
76
- * Lower-cased, as `NIFC_COVERED_COUNTRIES` is (`wildfireHandler.ts:68`); these live
77
- * beside their only consumer because they are not geography facts.
78
- */
79
- const NWS_CODE_ALONE = new Set(['us', 'pr']);
80
- /**
81
- * Territory codes that require `isInNwsTerritory` **as well**.
82
- *
83
- * A country code is a *fast path* — a resolved location already knows its country,
84
- * so the common case costs no geography at all — and a fast path must not admit
85
- * what the authoritative predicate rejects. `MP` is the one code in either set that
86
- * spans served and unserved area: it names the whole Northern Marianas while NWS
87
- * accepts only the southern arc, so `'MP'` deciding alone would re-open, through
88
- * the Open-Meteo geocoder, exactly the northern-CNMI request the box was drawn to
89
- * prevent — an uncached HTTP 400 and two `securityEvent` warns at the points the
90
- * box exists to exclude.
91
- */
92
- const NWS_CODE_PLUS_BOX = new Set(['gu', 'mp', 'vi', 'as']);
93
46
  /**
94
47
  * The banner for this point, or `''` — which is every path but one.
95
48
  *
@@ -101,7 +54,7 @@ const NWS_CODE_PLUS_BOX = new Set(['gu', 'mp', 'vi', 'as']);
101
54
  * (Guam, the southern Marianas, the USVI, American Samoa). `isInUS` is not
102
55
  * widened to absorb them because it backs a *rendered* NWPS coverage claim in
103
56
  * `get_river_conditions`, where Puerto Rico is gauged and Guam is not
104
- * (GOTCHAS G53). The code path is the two sets above, and there are two of
57
+ * (GOTCHAS G53). The code path is the two sets in `src/utils/nwsJurisdiction.ts`, and there are two of
105
58
  * them because a code settles `us` and `pr` on its own while the four
106
59
  * territory codes must also satisfy `isInNwsTerritory` — `MP` names a
107
60
  * territory NWS serves only the southern half of. NOAA is the only upstream
@@ -152,7 +105,7 @@ export async function resolveCriticalAlertBanner(noaaService, resolved, timezone
152
105
  //
153
106
  // The conjunction on the territory arm is not decoration: a code from
154
107
  // NWS_CODE_PLUS_BOX must also satisfy the box, because `MP` names a territory
155
- // NWS serves only the southern half of. See the two sets' comments above.
108
+ // NWS serves only the southern half of. See the two sets' comments in `src/utils/nwsJurisdiction.ts`.
156
109
  const countryCode = typeof resolved.country_code === 'string' && resolved.country_code.length > 0
157
110
  ? resolved.country_code.toLowerCase()
158
111
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"criticalAlertBanner.js","sourceRoot":"","sources":["../../src/handlers/criticalAlertBanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"criticalAlertBanner.js","sourceRoot":"","sources":["../../src/handlers/criticalAlertBanner.ts"],"names":[],"mappings":"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"}
@@ -73,12 +73,15 @@ export declare function parseAwarenessColour(value: string | undefined): string
73
73
  */
74
74
  export declare function parseReferences(references: string | undefined): string[];
75
75
  /**
76
- * Read-time filter pipeline, in order:
77
- * 1. drop non-`Actual` status and `Cancel` messages;
78
- * 2. drop warnings already expired at `now`;
79
- * 3. drop warnings whose identifier is referenced by a *surviving* `Update`
76
+ * Read-time filter pipeline — the shared CAP lifecycle core,
77
+ * `filterCapLifecycle` (`src/utils/capActiveFilter.ts`), in order:
78
+ * 1. an `Actual` `Cancel` retires every identifier it references, whether or
79
+ * not the `Cancel` itself has expired;
80
+ * 2. drop non-`Actual` status and `Cancel` messages;
81
+ * 3. drop warnings already expired at `now`;
82
+ * 4. drop warnings whose identifier is referenced by a *surviving* `Update`
80
83
  * (supersession — deliberately after expiry, so references held by
81
- * expired Updates are inert).
84
+ * expired Updates are inert), and drop the cancelled ones.
82
85
  *
83
86
  * Pure and exported for tests; `getWarnings` applies it on every return,
84
87
  * cached or fresh — a stale cache entry must never serve a warning that
@@ -1 +1 @@
1
- {"version":3,"file":"meteoalarm.d.ts","sourceRoot":"","sources":["../../src/services/meteoalarm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EAGrB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAQhC,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAuC/D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAKtG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUlF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB,EAAE,CA2BlG;AAeD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,UAAU,CAAK;IAEvB,YAAY,MAAM,GAAE,uBAA4B,EAsB/C;IAED;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAiCnE;IAED;;;;;;;OAOG;YACW,WAAW;IAezB;;;;;OAKG;YACW,WAAW;IAyCzB,4BAA4B;IAC5B,aAAa,2CAEZ;IAED,uBAAuB;IACvB,UAAU,IAAI,IAAI,CAEjB;CACF"}
1
+ {"version":3,"file":"meteoalarm.d.ts","sourceRoot":"","sources":["../../src/services/meteoalarm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EAGrB,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAShC,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAuC/D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAKtG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUlF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB,EAAE,CAElG;AAeD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,UAAU,CAAK;IAEvB,YAAY,MAAM,GAAE,uBAA4B,EAsB/C;IAED;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAiCnE;IAED;;;;;;;OAOG;YACW,WAAW;IAezB;;;;;OAKG;YACW,WAAW;IAyCzB,4BAA4B;IAC5B,aAAa,2CAEZ;IAED,uBAAuB;IACvB,UAAU,IAAI,IAAI,CAEjB;CACF"}
@@ -37,6 +37,7 @@ import { Cache } from '../utils/cache.js';
37
37
  import { withRequestDeadline } from '../utils/httpDeadline.js';
38
38
  import { isConnectionFailureCode } from '../utils/connectionFailure.js';
39
39
  import { CacheConfig } from '../config/cache.js';
40
+ import { filterCapLifecycle } from '../utils/capActiveFilter.js';
40
41
  /**
41
42
  * MeteoAlarm membership: lowercase ISO 3166-1 alpha-2 country code → feed
42
43
  * slug, display name, and (where known) the national meteorological service
@@ -147,42 +148,22 @@ export function parseReferences(references) {
147
148
  return identifiers;
148
149
  }
149
150
  /**
150
- * Read-time filter pipeline, in order:
151
- * 1. drop non-`Actual` status and `Cancel` messages;
152
- * 2. drop warnings already expired at `now`;
153
- * 3. drop warnings whose identifier is referenced by a *surviving* `Update`
151
+ * Read-time filter pipeline — the shared CAP lifecycle core,
152
+ * `filterCapLifecycle` (`src/utils/capActiveFilter.ts`), in order:
153
+ * 1. an `Actual` `Cancel` retires every identifier it references, whether or
154
+ * not the `Cancel` itself has expired;
155
+ * 2. drop non-`Actual` status and `Cancel` messages;
156
+ * 3. drop warnings already expired at `now`;
157
+ * 4. drop warnings whose identifier is referenced by a *surviving* `Update`
154
158
  * (supersession — deliberately after expiry, so references held by
155
- * expired Updates are inert).
159
+ * expired Updates are inert), and drop the cancelled ones.
156
160
  *
157
161
  * Pure and exported for tests; `getWarnings` applies it on every return,
158
162
  * cached or fresh — a stale cache entry must never serve a warning that
159
163
  * expired after it was cached.
160
164
  */
161
165
  export function filterActiveWarnings(warnings, now) {
162
- const current = warnings.filter(warning => {
163
- if (warning.status !== undefined && warning.status !== 'Actual') {
164
- return false;
165
- }
166
- if (warning.msgType === 'Cancel') {
167
- return false;
168
- }
169
- if (warning.expires) {
170
- const expires = new Date(warning.expires);
171
- if (!isNaN(expires.getTime()) && expires.getTime() <= now.getTime()) {
172
- return false;
173
- }
174
- }
175
- return true;
176
- });
177
- const superseded = new Set();
178
- for (const warning of current) {
179
- if (warning.msgType === 'Update') {
180
- for (const identifier of warning.references) {
181
- superseded.add(identifier);
182
- }
183
- }
184
- }
185
- return current.filter(warning => !superseded.has(warning.identifier));
166
+ return filterCapLifecycle(warnings, now);
186
167
  }
187
168
  /**
188
169
  * A MeteoAlarm failure already classified by `handleError`. `transient` is the
@@ -343,8 +324,8 @@ function isPlainObject(value) {
343
324
  }
344
325
  /**
345
326
  * True for one `warnings[]` entry in the verified shape. `parseFeed` skips an
346
- * entry with no `alert`, no `identifier` or no `info`, so each of those may be
347
- * **absent**. When present it must be the verified type: `alert` an object,
327
+ * entry with no `alert` or no `identifier`, and one with no `info` unless it
328
+ * is a cancellation (see `parseFeed`), so each of those may be **absent**. When present it must be the verified type: `alert` an object,
348
329
  * `identifier` a string, `info` an array of objects. Otherwise a malformed entry
349
330
  * would be skipped like an empty one, and a feed of them would render the
350
331
  * all-clear (G4, one level down). All 3,612 entries of the 38 live feeds had the
@@ -378,8 +359,13 @@ function isMeteoAlarmFeed(data) {
378
359
  /**
379
360
  * Parse a country feed into flat single-language warnings. The envelope has
380
361
  * already passed `isMeteoAlarmFeed`, so a missing list is not tolerated here.
381
- * Object entries without an identifier or any `info` content are skipped
382
- * (nothing to render or track).
362
+ * Object entries without an identifier are skipped, and so are entries
363
+ * without any English-selectable `info` content (nothing to render or track)
364
+ * — except an info-less `Cancel` with references. CAP 1.2 lets a
365
+ * cancellation stand alone, and its `references` are what
366
+ * `filterActiveWarnings` retires, so it becomes a lifecycle-only record with
367
+ * no area. It never renders: the filter drops every `Cancel`. No status test
368
+ * here; the filter owns `Actual`/`Test`/`Exercise`.
383
369
  */
384
370
  function parseFeed(data) {
385
371
  const warnings = [];
@@ -390,6 +376,17 @@ function parseFeed(data) {
390
376
  }
391
377
  const info = selectEnglishInfo(alert.info);
392
378
  if (!info) {
379
+ const references = parseReferences(alert.references);
380
+ if (alert.msgType === 'Cancel' && references.length > 0) {
381
+ warnings.push({
382
+ identifier: alert.identifier,
383
+ status: alert.status,
384
+ msgType: alert.msgType,
385
+ references,
386
+ areaDesc: [],
387
+ sent: alert.sent
388
+ });
389
+ }
393
390
  continue;
394
391
  }
395
392
  const awarenessLevel = info.parameter?.find(parameter => parameter.valueName === 'awareness_level')?.value;