@dangahagan/weather-mcp 1.33.17 → 1.33.19

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-4%2C211%20passing-brightgreen)](./docs/testing/TEST_SUITE_README.md)
6
+ [![Tests](https://img.shields.io/badge/tests-4%2C235%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.**
@@ -57,9 +57,9 @@ There are excellent commercial weather MCPs backed by paid APIs and full-time te
57
57
  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
- - **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, 4,211 tests. Audit it, fork it, fix it.
62
- - **Privacy-respecting** — your queries go directly from your machine to public weather APIs. No middleman server, no telemetry.
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, 4,235 tests. Audit it, fork it, fix it.
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
 
65
65
  The tradeoff is honest: US data (NOAA) is richer than international data (Open-Meteo), some tools are US-only, and free APIs come with fair-use rate limits. See [Coverage & Limitations](#coverage--limitations).
@@ -180,7 +180,7 @@ npm run build
180
180
 
181
181
  Then point your MCP client at `node /absolute/path/to/weather-mcp/dist/index.js`.
182
182
 
183
- Requires Node.js 18+. No API keys, tokens, or accounts needed — see [Optional API keys](#optional-api-keys) for the three that add optional extras, and [Optional dependency](#optional-dependency) if you want a smaller install.
183
+ Requires Node.js 18+. No API keys, tokens, or accounts needed — see [Optional API keys](#optional-api-keys) for the four that add optional extras, and [Optional dependency](#optional-dependency) if you want a smaller install.
184
184
 
185
185
  ### Works with
186
186
 
@@ -391,7 +391,7 @@ Being honest about what free public data can and can't do:
391
391
  ```bash
392
392
  npm run build # Compile TypeScript
393
393
  npm run dev # Run in development mode
394
- npm test # Run all 4,211 tests
394
+ npm test # Run all 4,235 tests
395
395
  npm run test:coverage # Coverage report
396
396
  npm run audit # Dependency vulnerability scan
397
397
  ```
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Data anonymization utilities for privacy-first analytics
3
- * Ensures no PII is collected as per docs/ANALYTICS_MCP_PLAN.md
3
+ * Ensures no PII is collected as per docs/analytics/LOCAL_ANALYTICS_GUIDE.md
4
4
  */
5
5
  import { AnalyticsEvent, AnalyticsLevel } from './types.js';
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Data anonymization utilities for privacy-first analytics
3
- * Ensures no PII is collected as per docs/ANALYTICS_MCP_PLAN.md
3
+ * Ensures no PII is collected as per docs/analytics/LOCAL_ANALYTICS_GUIDE.md
4
4
  */
5
5
  import crypto from 'crypto';
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Analytics module - Privacy-first usage tracking
3
- * Implements anonymous, opt-out analytics as defined in docs/ANALYTICS_MCP_PLAN.md
3
+ * Implements anonymous, opt-in analytics as defined in docs/analytics/LOCAL_ANALYTICS_GUIDE.md
4
4
  */
5
5
  export { analytics } from './config.js';
6
6
  export { withAnalytics, createMetadataExtractor } from './middleware.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Analytics module - Privacy-first usage tracking
3
- * Implements anonymous, opt-out analytics as defined in docs/ANALYTICS_MCP_PLAN.md
3
+ * Implements anonymous, opt-in analytics as defined in docs/analytics/LOCAL_ANALYTICS_GUIDE.md
4
4
  */
5
5
  export { analytics } from './config.js';
6
6
  export { withAnalytics, createMetadataExtractor } from './middleware.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Analytics type definitions for Weather MCP Server
3
- * Implements privacy-first analytics as defined in docs/ANALYTICS_MCP_PLAN.md
3
+ * Implements privacy-first analytics as defined in docs/analytics/LOCAL_ANALYTICS_GUIDE.md
4
4
  */
5
5
  export type AnalyticsLevel = 'minimal' | 'standard' | 'detailed';
6
6
  export type EventStatus = 'success' | 'error';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Analytics type definitions for Weather MCP Server
3
- * Implements privacy-first analytics as defined in docs/ANALYTICS_MCP_PLAN.md
3
+ * Implements privacy-first analytics as defined in docs/analytics/LOCAL_ANALYTICS_GUIDE.md
4
4
  */
5
5
  export {};
6
6
  //# sourceMappingURL=types.js.map
@@ -33,6 +33,29 @@ export interface GeocodingResult {
33
33
  confidence: 'high' | 'medium' | 'low';
34
34
  source: 'census' | 'nominatim' | 'openmeteo';
35
35
  }
36
+ /**
37
+ * No provider matched the query, and at least one of them answered (empty, or
38
+ * declined the input with a 4xx other than 429). The query is the likely problem.
39
+ */
40
+ export declare class GeocodingNotFoundError extends Error {
41
+ constructor(message: string);
42
+ }
43
+ /**
44
+ * Every provider tried failed to answer (timeout, 429, 5xx, no response, or a body
45
+ * that could not be parsed). Nothing looked at the query, so it says nothing about it.
46
+ */
47
+ export declare class GeocodingServiceUnavailableError extends Error {
48
+ constructor(message: string);
49
+ }
50
+ /**
51
+ * A provider did not answer. The message is one of three fixed forms naming the
52
+ * provider — `<Name> timed out`, `<Name> rate-limited the request`,
53
+ * `<Name> is unavailable` — and never carries the query, a URL or upstream text.
54
+ * Exported for tests only.
55
+ */
56
+ export declare class GeocodingProviderFailure extends Error {
57
+ constructor(message: string);
58
+ }
36
59
  /**
37
60
  * Multi-Service Geocoding Service
38
61
  * Automatically tries multiple providers in order with intelligent fallback
@@ -59,7 +82,11 @@ export declare class GeocodingService {
59
82
  *
60
83
  * @param query - Location search query (e.g., "Seattle, WA", "Paris, France")
61
84
  * @param limit - Maximum number of results to return
62
- * @returns Array of geocoding results from first successful provider
85
+ * @returns Array of geocoding results from the first provider that found a match
86
+ * @throws {GeocodingNotFoundError} No provider matched, and at least one answered
87
+ * (empty or declined) — the query is the likely problem
88
+ * @throws {GeocodingServiceUnavailableError} Every provider tried failed to answer —
89
+ * nothing looked at the query
63
90
  */
64
91
  geocode(query: string, limit?: number): Promise<GeocodingResult[]>;
65
92
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"geocoding.d.ts","sourceRoot":"","sources":["../../src/services/geocoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAK/E;AAWD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;CAC9C;AA6RD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAAoB;IAErC,YAAY,OAAO,GAAE;QAAE,eAAe,CAAC,EAAE,aAAa,CAAA;KAAO,EAI5D;IAED;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0C1B;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA4D1E;IAED;;OAEG;IACH,cAAc,IAAI,MAAM,CAMvB;CACF"}
1
+ {"version":3,"file":"geocoding.d.ts","sourceRoot":"","sources":["../../src/services/geocoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAK/E;AAWD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;CAC9C;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;GAGG;AACH,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AA2TD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAAoB;IAErC,YAAY,OAAO,GAAE;QAAE,eAAe,CAAC,EAAE,aAAa,CAAA;KAAO,EAI5D;IAED;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0C1B;;;;;;;;;;;;;;;OAeG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAgF1E;IAED;;OAEG;IACH,cAAc,IAAI,MAAM,CAMvB;CACF"}
@@ -4,8 +4,7 @@
4
4
  * for maximum reliability and coverage
5
5
  */
6
6
  import axios from 'axios';
7
- import { DataNotFoundError, RateLimitError, ServiceUnavailableError } from '../errors/ApiError.js';
8
- import { logger, isPiiLoggingEnabled } from '../utils/logger.js';
7
+ import { logger, isPiiLoggingEnabled, describeErrorForLogging } from '../utils/logger.js';
9
8
  import { RequestSpacer } from '../utils/requestSpacer.js';
10
9
  import { NOMINATIM_MIN_INTERVAL_MS } from './nominatim.js';
11
10
  /**
@@ -31,6 +30,66 @@ export function rfc3986ParamsSerializer(params) {
31
30
  * city_name resolver) from spuriously returning "no results".
32
31
  */
33
32
  const PROVIDER_RESULT_FLOOR = 5;
33
+ /**
34
+ * No provider matched the query, and at least one of them answered (empty, or
35
+ * declined the input with a 4xx other than 429). The query is the likely problem.
36
+ */
37
+ export class GeocodingNotFoundError extends Error {
38
+ constructor(message) {
39
+ super(message);
40
+ this.name = 'GeocodingNotFoundError';
41
+ }
42
+ }
43
+ /**
44
+ * Every provider tried failed to answer (timeout, 429, 5xx, no response, or a body
45
+ * that could not be parsed). Nothing looked at the query, so it says nothing about it.
46
+ */
47
+ export class GeocodingServiceUnavailableError extends Error {
48
+ constructor(message) {
49
+ super(message);
50
+ this.name = 'GeocodingServiceUnavailableError';
51
+ }
52
+ }
53
+ /**
54
+ * A provider did not answer. The message is one of three fixed forms naming the
55
+ * provider — `<Name> timed out`, `<Name> rate-limited the request`,
56
+ * `<Name> is unavailable` — and never carries the query, a URL or upstream text.
57
+ * Exported for tests only.
58
+ */
59
+ export class GeocodingProviderFailure extends Error {
60
+ constructor(message) {
61
+ super(message);
62
+ this.name = 'GeocodingProviderFailure';
63
+ }
64
+ }
65
+ function isRecord(value) {
66
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
67
+ }
68
+ /**
69
+ * Classify a provider's caught error. Returns `null` when the upstream answered by
70
+ * declining the input (a 4xx other than 429, e.g. Census's 400 for an address over
71
+ * 100 characters); the provider then reports an empty answer. Anything else is a
72
+ * failure. An existing `GeocodingProviderFailure` (a shape failure thrown inside the
73
+ * provider's `try`) passes through unchanged.
74
+ */
75
+ function failureFor(name, error) {
76
+ if (error instanceof GeocodingProviderFailure) {
77
+ return error;
78
+ }
79
+ if (axios.isAxiosError(error)) {
80
+ if (error.code === 'ECONNABORTED' || error.code === 'ETIMEDOUT') {
81
+ return new GeocodingProviderFailure(`${name} timed out`);
82
+ }
83
+ const status = error.response?.status;
84
+ if (status === 429) {
85
+ return new GeocodingProviderFailure(`${name} rate-limited the request`);
86
+ }
87
+ if (status !== undefined && status >= 400 && status < 500) {
88
+ return null;
89
+ }
90
+ }
91
+ return new GeocodingProviderFailure(`${name} is unavailable`);
92
+ }
34
93
  /**
35
94
  * Census.gov Geocoding Provider
36
95
  * Best for: US locations (cities, states, addresses)
@@ -64,11 +123,18 @@ class CensusGovProvider {
64
123
  format: 'json'
65
124
  }
66
125
  });
67
- if (!response.data?.result?.addressMatches || response.data.result.addressMatches.length === 0) {
126
+ const body = response.data;
127
+ if (!isRecord(body)) {
128
+ throw new GeocodingProviderFailure(`${this.name} is unavailable`);
129
+ }
130
+ const matches = isRecord(body.result) ? body.result.addressMatches : undefined;
131
+ if (matches != null && !Array.isArray(matches)) {
132
+ throw new GeocodingProviderFailure(`${this.name} is unavailable`);
133
+ }
134
+ if (!Array.isArray(matches) || matches.length === 0) {
68
135
  logger.debug('Census.gov: No results found');
69
136
  return [];
70
137
  }
71
- const matches = response.data.result.addressMatches;
72
138
  const results = [];
73
139
  for (let i = 0; i < Math.min(matches.length, limit); i++) {
74
140
  const match = matches[i];
@@ -95,16 +161,11 @@ class CensusGovProvider {
95
161
  return results;
96
162
  }
97
163
  catch (error) {
98
- if (axios.isAxiosError(error)) {
99
- if (error.code === 'ECONNABORTED') {
100
- throw new ServiceUnavailableError('OpenMeteo', 'Census.gov geocoding service timed out');
101
- }
102
- if (error.response?.status === 429) {
103
- throw new RateLimitError('OpenMeteo', 'Census.gov geocoding rate limit exceeded');
104
- }
105
- }
106
- logger.debug(`Census.gov error: ${error instanceof Error ? error.message : 'Unknown'}`);
107
- return []; // Return empty array for fallback
164
+ logger.debug('Census.gov error', describeErrorForLogging(error));
165
+ const failure = failureFor(this.name, error);
166
+ if (failure)
167
+ throw failure;
168
+ return []; // Declined (4xx other than 429): an answer, not a failure
108
169
  }
109
170
  }
110
171
  }
@@ -144,7 +205,10 @@ class NominatimProvider {
144
205
  'accept-language': 'en'
145
206
  }
146
207
  });
147
- if (!response.data || response.data.length === 0) {
208
+ if (!Array.isArray(response.data)) {
209
+ throw new GeocodingProviderFailure(`${this.name} is unavailable`);
210
+ }
211
+ if (response.data.length === 0) {
148
212
  logger.debug('Nominatim: No results found');
149
213
  return [];
150
214
  }
@@ -174,16 +238,11 @@ class NominatimProvider {
174
238
  return results;
175
239
  }
176
240
  catch (error) {
177
- if (axios.isAxiosError(error)) {
178
- if (error.code === 'ECONNABORTED') {
179
- throw new ServiceUnavailableError('OpenMeteo', 'Nominatim geocoding service timed out');
180
- }
181
- if (error.response?.status === 429) {
182
- throw new RateLimitError('OpenMeteo', 'Nominatim geocoding rate limit exceeded (1 req/sec limit)');
183
- }
184
- }
185
- logger.debug(`Nominatim error: ${error instanceof Error ? error.message : 'Unknown'}`);
186
- return []; // Return empty array for fallback
241
+ logger.debug('Nominatim error', describeErrorForLogging(error));
242
+ const failure = failureFor(this.name, error);
243
+ if (failure)
244
+ throw failure;
245
+ return []; // Declined (4xx other than 429): an answer, not a failure
187
246
  }
188
247
  }
189
248
  /**
@@ -236,11 +295,19 @@ class OpenMeteoProvider {
236
295
  format: 'json'
237
296
  }
238
297
  });
239
- if (!response.data?.results || response.data.results.length === 0) {
298
+ const body = response.data;
299
+ if (!isRecord(body)) {
300
+ throw new GeocodingProviderFailure(`${this.name} is unavailable`);
301
+ }
302
+ const found = body.results;
303
+ if (found != null && !Array.isArray(found)) {
304
+ throw new GeocodingProviderFailure(`${this.name} is unavailable`);
305
+ }
306
+ if (!Array.isArray(found) || found.length === 0) {
240
307
  logger.debug('Open-Meteo: No results found');
241
308
  return [];
242
309
  }
243
- const results = response.data.results.map((item) => ({
310
+ const results = found.map((item) => ({
244
311
  name: item.name,
245
312
  display_name: [item.name, item.admin1, item.admin2, item.country]
246
313
  .filter(Boolean)
@@ -262,16 +329,11 @@ class OpenMeteoProvider {
262
329
  return results;
263
330
  }
264
331
  catch (error) {
265
- if (axios.isAxiosError(error)) {
266
- if (error.code === 'ECONNABORTED') {
267
- throw new ServiceUnavailableError('OpenMeteo', 'Open-Meteo geocoding service timed out');
268
- }
269
- if (error.response?.status === 429) {
270
- throw new RateLimitError('OpenMeteo', 'Open-Meteo geocoding rate limit exceeded');
271
- }
272
- }
273
- logger.debug(`Open-Meteo error: ${error instanceof Error ? error.message : 'Unknown'}`);
274
- return []; // Return empty array for fallback
332
+ logger.debug('Open-Meteo error', describeErrorForLogging(error));
333
+ const failure = failureFor(this.name, error);
334
+ if (failure)
335
+ throw failure;
336
+ return []; // Declined (4xx other than 429): an answer, not a failure
275
337
  }
276
338
  }
277
339
  }
@@ -337,7 +399,11 @@ export class GeocodingService {
337
399
  *
338
400
  * @param query - Location search query (e.g., "Seattle, WA", "Paris, France")
339
401
  * @param limit - Maximum number of results to return
340
- * @returns Array of geocoding results from first successful provider
402
+ * @returns Array of geocoding results from the first provider that found a match
403
+ * @throws {GeocodingNotFoundError} No provider matched, and at least one answered
404
+ * (empty or declined) — the query is the likely problem
405
+ * @throws {GeocodingServiceUnavailableError} Every provider tried failed to answer —
406
+ * nothing looked at the query
341
407
  */
342
408
  async geocode(query, limit = 5) {
343
409
  const isLikelyUS = this.isLikelyUSLocation(query);
@@ -358,7 +424,9 @@ export class GeocodingService {
358
424
  providers.push(this.census, this.nominatim, this.openmeteo);
359
425
  logger.debug('Provider strategy: Uncertain (Census → Nominatim → Open-Meteo)');
360
426
  }
361
- const errors = [];
427
+ // One fixed-text outcome per provider tried, and whether any of them answered.
428
+ const outcomes = [];
429
+ let answered = false;
362
430
  // Always request at least PROVIDER_RESULT_FLOOR from upstream (providers rank
363
431
  // unreliably at limit=1), then slice to the caller's requested limit.
364
432
  const providerLimit = Math.max(limit, PROVIDER_RESULT_FLOOR);
@@ -372,19 +440,34 @@ export class GeocodingService {
372
440
  return results.slice(0, limit);
373
441
  }
374
442
  logger.debug(`${provider.name}: No results found`);
375
- errors.push(`${provider.name}: No results found`);
443
+ answered = true;
444
+ outcomes.push(`${provider.name} found no match`);
376
445
  }
377
446
  catch (error) {
378
- const errorMsg = error instanceof Error ? error.message : 'Unknown error';
379
- logger.debug(`${provider.name} failed: ${errorMsg}`);
380
- errors.push(`${provider.name}: ${errorMsg}`);
447
+ // A provider throws only GeocodingProviderFailure; anything else (a spacer
448
+ // rejection from reserve(), outside the provider's try) gets the same fixed
449
+ // text, so raw error text never reaches the message.
450
+ const outcome = error instanceof GeocodingProviderFailure
451
+ ? error.message
452
+ : `${provider.name} is unavailable`;
453
+ logger.debug(`${provider.name} failed: ${outcome}`);
454
+ outcomes.push(outcome);
381
455
  // Continue to next provider
382
456
  continue;
383
457
  }
384
458
  }
385
- // All providers failed or returned no results
386
- throw new DataNotFoundError('OpenMeteo', `No locations found matching "${query}".\n\n` +
387
- `Tried ${providers.length} provider(s): ${errors.join('; ')}\n\n` +
459
+ const tried = `Tried ${providers.length} provider(s): ${outcomes.join('; ')}`;
460
+ // Every provider failed: nothing looked at the query, so give no spelling advice.
461
+ if (!answered) {
462
+ throw new GeocodingServiceUnavailableError(`Location lookup is unavailable right now, so "${query}" could not be resolved.\n\n` +
463
+ `${tried}\n\n` +
464
+ `Suggestions:\n` +
465
+ `- Retry in a minute or two\n` +
466
+ `- Pass latitude and longitude directly; that skips location lookup`);
467
+ }
468
+ // At least one provider answered with no match (any failures stay listed).
469
+ throw new GeocodingNotFoundError(`No locations found matching "${query}".\n\n` +
470
+ `${tried}\n\n` +
388
471
  `Suggestions:\n` +
389
472
  `- Add more detail (e.g., "Paris, France" instead of "Paris")\n` +
390
473
  `- Check spelling\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"geocoding.js","sourceRoot":"","sources":["../../src/services/geocoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geocoding.js","sourceRoot":"","sources":["../../src/services/geocoding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA+B;IACrE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;SACxF,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAsBhC;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACzD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;IACjD,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,IAAY,EAAE,KAAc;IAC9C,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,OAAO,IAAI,wBAAwB,CAAC,GAAG,IAAI,YAAY,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;QACtC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,IAAI,wBAAwB,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,wBAAwB,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC;AAChE,CAAC;AAUD;;;;;GAKG;AACH,MAAM,iBAAiB;IACrB,IAAI,GAAG,YAAY,CAAC;IACZ,MAAM,CAAgB;IACtB,MAAM,CAAgB;IAE9B;QACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,2CAA2C;YACpD,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,QAAQ,EAAE,kBAAkB;aAC7B;YACD,gBAAgB,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;SACzD,CAAC,CAAC;QAEH,mDAAmD;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,KAAa;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAElF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE;gBAClE,MAAM,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,mBAAmB;oBAC9B,MAAM,EAAE,MAAM;iBACf;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAY,QAAQ,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,OAAO,GAAsB,EAAE,CAAC;YAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;gBAEjC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChE,SAAS;gBACX,CAAC;gBAED,mDAAmD;gBACnD,MAAM,MAAM,GAAoB;oBAC9B,IAAI,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK;oBACnC,YAAY,EAAE,KAAK,CAAC,cAAc,IAAI,KAAK;oBAC3C,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAClB,SAAS,EAAE,MAAM,CAAC,CAAC;oBACnB,OAAO,EAAE,eAAe;oBACxB,YAAY,EAAE,IAAI;oBAClB,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK;oBACtC,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,MAAM;oBACvC,UAAU,EAAE,MAAM,EAAE,+CAA+C;oBACnE,MAAM,EAAE,QAAQ;iBACjB,CAAC;gBAEF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QAEjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,OAAO,EAAE,CAAC,CAAC,0DAA0D;QACvE,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,iBAAiB;IACrB,IAAI,GAAG,WAAW,CAAC;IACX,MAAM,CAAgB;IACtB,MAAM,CAAgB;IAE9B,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,YAAY,EAAE,mDAAmD;gBACjE,QAAQ,EAAE,kBAAkB;aAC7B;YACD,gBAAgB,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;SACzD,CAAC,CAAC;QAEH,mEAAmE;QACnE,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,KAAa;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAEjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;gBAChD,MAAM,EAAE;oBACN,CAAC,EAAE,KAAK;oBACR,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,CAAC;oBACjB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,sBAAsB;oBAClD,iBAAiB,EAAE,IAAI;iBACxB;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBAC5C,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,OAAO,GAAsB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;gBACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBAEnC,oDAAoD;gBACpD,IAAI,UAAU,GAA8B,QAAQ,CAAC;gBACrD,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG;oBAAE,UAAU,GAAG,MAAM,CAAC;qBAC1C,IAAI,IAAI,CAAC,UAAU,GAAG,GAAG;oBAAE,UAAU,GAAG,KAAK,CAAC;gBAEnD,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY;oBACpC,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC9B,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,EAAE;oBACjD,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM;oBACvC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAClD,UAAU;oBACV,MAAM,EAAE,WAAW;iBACpB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;YAC7D,OAAO,OAAO,CAAC;QAEjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,OAAO,EAAE,CAAC,CAAC,0DAA0D;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,IAAY;QACvC,MAAM,OAAO,GAA8B;YACzC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,gBAAgB,EAAE,MAAM;YACxB,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3D,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,iBAAiB;IACrB,IAAI,GAAG,YAAY,CAAC;IACZ,MAAM,CAAgB;IAE9B;QACE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,yCAAyC;YAClD,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,QAAQ,EAAE,kBAAkB;aAC7B;YACD,gBAAgB,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,KAAa;QACxC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAElF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;gBAChD,MAAM,EAAE;oBACN,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;oBAC3B,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,MAAM;iBACf;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAY,QAAQ,CAAC,IAAI,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,OAAO,GAAsB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;gBAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;qBAC9D,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,IAAI,CAAC;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,QAAQ,EAAE,+CAA+C;gBACrE,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC,CAAC;YAEJ,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;YAC9D,OAAO,OAAO,CAAC;QAEjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,OAAO,EAAE,CAAC,CAAC,0DAA0D;QACvE,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAoB;IAC1B,SAAS,CAAoB;IAC7B,SAAS,CAAoB;IAErC,YAAY,OAAO,GAAwC,EAAE;QAC3D,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,KAAa;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEvC,sBAAsB;QACtB,MAAM,kBAAkB,GAAG;YACzB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;YAC1D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SAC3D,CAAC;QAEF,sDAAsD;QACtD,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;YACvC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;gBAC1E,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1B,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5B,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6CAA6C;QAC7C,MAAM,aAAa,GAAG;YACpB,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;YACtD,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ;SACnD,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,OAAO,IAAW,CAAC,CAAC,yBAAyB;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,KAAK,GAAW,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,SAAS,GAAwB,EAAE,CAAC;QAE1C,sDAAsD;QACtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,uCAAuC;YACvC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACpF,CAAC;aAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YAChC,sCAAsC;YACtC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACjF,CAAC;QAED,+EAA+E;QAC/E,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,8EAA8E;QAC9E,sEAAsE;QACtE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAE7D,6BAA6B;QAC7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAE7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;oBACtF,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;gBACnD,QAAQ,GAAG,IAAI,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC;YAEnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2EAA2E;gBAC3E,4EAA4E;gBAC5E,qDAAqD;gBACrD,MAAM,OAAO,GAAG,KAAK,YAAY,wBAAwB;oBACvD,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,iBAAiB,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,OAAO,EAAE,CAAC,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEvB,4BAA4B;gBAC5B,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,SAAS,CAAC,MAAM,iBAAiB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAE9E,kFAAkF;QAClF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,gCAAgC,CACxC,iDAAiD,KAAK,8BAA8B;gBACpF,GAAG,KAAK,MAAM;gBACd,gBAAgB;gBAChB,8BAA8B;gBAC9B,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,MAAM,IAAI,sBAAsB,CAC9B,gCAAgC,KAAK,QAAQ;YAC7C,GAAG,KAAK,MAAM;YACd,gBAAgB;YAChB,gEAAgE;YAChE,oBAAoB;YACpB,6BAA6B;YAC7B,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,4BAA4B;YAC5B,8CAA8C;YAC9C,0DAA0D;YAC1D,qCAAqC;YACrC,4DAA4D,CAAC;IACtE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"locationResolver.d.ts","sourceRoot":"","sources":["../../src/utils/locationResolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAgC,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAerE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EAC7D,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,GAAG,CAAC,CAO1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,SAAS;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EAC7D,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAM9B;AAwBD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,aAAa,GAC3B,gBAAgB,CAgGlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CA4F3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAoBhE"}
1
+ {"version":3,"file":"locationResolver.d.ts","sourceRoot":"","sources":["../../src/utils/locationResolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAgC,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAoC,MAAM,0BAA0B,CAAC;AAK9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAerE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EAC7D,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,GAAG,CAAC,CAO1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,SAAS;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EAC7D,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAM9B;AAwBD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,aAAa,GAC3B,gBAAgB,CAgGlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CA4F3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAoBhE"}
@@ -2,6 +2,7 @@
2
2
  * Utility for resolving location coordinates from various input formats
3
3
  */
4
4
  import { LocationStoreUnreadableError } from '../services/locationStore.js';
5
+ import { GeocodingServiceUnavailableError } from '../services/geocoding.js';
5
6
  import { validateLatitude, validateLongitude } from './validation.js';
6
7
  import { Cache } from './cache.js';
7
8
  import { CacheConfig } from '../config/cache.js';
@@ -366,6 +367,10 @@ async function resolveDefaultLocation(raw, locationStore, geocodingService) {
366
367
  return { ...geocoded, source: 'default' };
367
368
  }
368
369
  catch (error) {
370
+ if (error instanceof GeocodingServiceUnavailableError) {
371
+ throw new Error(`Could not resolve WEATHER_DEFAULT_LOCATION="${raw}". It is not a saved location alias ` +
372
+ `or a "lat,lon" pair, so it has to be geocoded, and geocoding failed:\n\n${error.message}`);
373
+ }
369
374
  throw new Error(`Could not resolve WEATHER_DEFAULT_LOCATION="${raw}" — it is not a saved ` +
370
375
  `location alias, a "lat,lon" pair, or a geocodable place name.\n\n` +
371
376
  `${error instanceof Error ? error.message : String(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"locationResolver.js","sourceRoot":"","sources":["../../src/utils/locationResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locationResolver.js","sourceRoot":"","sources":["../../src/utils/locationResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dangahagan/weather-mcp",
3
- "version": "1.33.17",
3
+ "version": "1.33.19",
4
4
  "description": "MCP server giving AI assistants 17 weather tools with zero API keys: global forecasts, current conditions, alerts, air quality, marine conditions, lightning detection, radar imagery, river levels, wildfire tracking, and historical weather back to 1940. Built entirely on free public APIs (NOAA, Open-Meteo, USGS, NIFC).",
5
5
  "mcpName": "io.github.dgahagan/weather-mcp",
6
6
  "main": "dist/index.js",
@@ -70,10 +70,10 @@
70
70
  "url": "https://github.com/weather-mcp/weather-mcp/issues"
71
71
  },
72
72
  "dependencies": {
73
- "@modelcontextprotocol/sdk": "^1.30.0",
73
+ "@modelcontextprotocol/sdk": "^1.30.1",
74
74
  "astronomy-engine": "^2.1.19",
75
75
  "axios": "^1.20.0",
76
- "dotenv": "^17.2.3",
76
+ "dotenv": "^18.0.4",
77
77
  "fast-xml-parser": "^5.11.1",
78
78
  "luxon": "^3.7.2",
79
79
  "ngeohash": "^0.6.4",
@@ -81,7 +81,7 @@
81
81
  "tz-lookup": "^6.1.25"
82
82
  },
83
83
  "optionalDependencies": {
84
- "mqtt": "^5.14.1"
84
+ "mqtt": "^5.16.0"
85
85
  },
86
86
  "overrides": {
87
87
  "fast-uri": "3.1.8"
@@ -89,11 +89,11 @@
89
89
  "devDependencies": {
90
90
  "@types/luxon": "^3.7.5",
91
91
  "@types/ngeohash": "^0.6.8",
92
- "@types/node": "^26.5.1",
92
+ "@types/node": "^26.6.2",
93
93
  "@types/pngjs": "^6.0.5",
94
94
  "@types/tz-lookup": "^6.1.2",
95
- "@vitest/coverage-v8": "^5.0.0",
96
- "tsx": "^4.23.13",
95
+ "@vitest/coverage-v8": "^5.0.2",
96
+ "tsx": "^4.23.15",
97
97
  "typescript": "^7.0.2",
98
98
  "vitest": "^5.0.0"
99
99
  }