@dangahagan/weather-mcp 0.1.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +295 -52
  2. package/dist/config/cache.d.ts +30 -0
  3. package/dist/config/cache.d.ts.map +1 -0
  4. package/dist/config/cache.js +105 -0
  5. package/dist/config/cache.js.map +1 -0
  6. package/dist/config/displayThresholds.d.ts +83 -0
  7. package/dist/config/displayThresholds.d.ts.map +1 -0
  8. package/dist/config/displayThresholds.js +83 -0
  9. package/dist/config/displayThresholds.js.map +1 -0
  10. package/dist/errors/ApiError.d.ts +62 -0
  11. package/dist/errors/ApiError.d.ts.map +1 -0
  12. package/dist/errors/ApiError.js +147 -0
  13. package/dist/errors/ApiError.js.map +1 -0
  14. package/dist/handlers/alertsHandler.d.ts +11 -0
  15. package/dist/handlers/alertsHandler.d.ts.map +1 -0
  16. package/dist/handlers/alertsHandler.js +79 -0
  17. package/dist/handlers/alertsHandler.js.map +1 -0
  18. package/dist/handlers/currentConditionsHandler.d.ts +11 -0
  19. package/dist/handlers/currentConditionsHandler.d.ts.map +1 -0
  20. package/dist/handlers/currentConditionsHandler.js +168 -0
  21. package/dist/handlers/currentConditionsHandler.js.map +1 -0
  22. package/dist/handlers/forecastHandler.d.ts +13 -0
  23. package/dist/handlers/forecastHandler.d.ts.map +1 -0
  24. package/dist/handlers/forecastHandler.js +226 -0
  25. package/dist/handlers/forecastHandler.js.map +1 -0
  26. package/dist/handlers/historicalWeatherHandler.d.ts +12 -0
  27. package/dist/handlers/historicalWeatherHandler.d.ts.map +1 -0
  28. package/dist/handlers/historicalWeatherHandler.js +188 -0
  29. package/dist/handlers/historicalWeatherHandler.js.map +1 -0
  30. package/dist/handlers/locationHandler.d.ts +11 -0
  31. package/dist/handlers/locationHandler.d.ts.map +1 -0
  32. package/dist/handlers/locationHandler.js +113 -0
  33. package/dist/handlers/locationHandler.js.map +1 -0
  34. package/dist/handlers/statusHandler.d.ts +12 -0
  35. package/dist/handlers/statusHandler.d.ts.map +1 -0
  36. package/dist/handlers/statusHandler.js +106 -0
  37. package/dist/handlers/statusHandler.js.map +1 -0
  38. package/dist/index.js +149 -343
  39. package/dist/index.js.map +1 -1
  40. package/dist/services/noaa.d.ts +23 -1
  41. package/dist/services/noaa.d.ts.map +1 -1
  42. package/dist/services/noaa.js +154 -41
  43. package/dist/services/noaa.js.map +1 -1
  44. package/dist/services/openmeteo.d.ts +63 -3
  45. package/dist/services/openmeteo.d.ts.map +1 -1
  46. package/dist/services/openmeteo.js +284 -50
  47. package/dist/services/openmeteo.js.map +1 -1
  48. package/dist/types/noaa.d.ts +64 -12
  49. package/dist/types/noaa.d.ts.map +1 -1
  50. package/dist/types/openmeteo.d.ts +156 -0
  51. package/dist/types/openmeteo.d.ts.map +1 -1
  52. package/dist/utils/cache.d.ts +69 -0
  53. package/dist/utils/cache.d.ts.map +1 -0
  54. package/dist/utils/cache.js +164 -0
  55. package/dist/utils/cache.js.map +1 -0
  56. package/dist/utils/logger.d.ts +59 -0
  57. package/dist/utils/logger.d.ts.map +1 -0
  58. package/dist/utils/logger.js +128 -0
  59. package/dist/utils/logger.js.map +1 -0
  60. package/dist/utils/temperatureConversion.d.ts +12 -0
  61. package/dist/utils/temperatureConversion.d.ts.map +1 -0
  62. package/dist/utils/temperatureConversion.js +17 -0
  63. package/dist/utils/temperatureConversion.js.map +1 -0
  64. package/dist/utils/validation.d.ts +89 -0
  65. package/dist/utils/validation.d.ts.map +1 -0
  66. package/dist/utils/validation.js +177 -0
  67. package/dist/utils/validation.js.map +1 -0
  68. package/package.json +10 -3
@@ -1,24 +1,56 @@
1
1
  /**
2
- * Service for interacting with the Open-Meteo Historical Weather API
3
- * Documentation: https://open-meteo.com/en/docs/historical-weather-api
2
+ * Service for interacting with the Open-Meteo APIs
3
+ * Documentation:
4
+ * - Historical Weather: https://open-meteo.com/en/docs/historical-weather-api
5
+ * - Forecast: https://open-meteo.com/en/docs
6
+ * - Geocoding: https://open-meteo.com/en/docs/geocoding-api
4
7
  */
5
8
  import axios from 'axios';
9
+ import { Cache } from '../utils/cache.js';
10
+ import { CacheConfig, getHistoricalDataTTL } from '../config/cache.js';
11
+ import { validateLatitude, validateLongitude } from '../utils/validation.js';
12
+ import { RateLimitError, ServiceUnavailableError, InvalidLocationError, DataNotFoundError, ApiError } from '../errors/ApiError.js';
6
13
  export class OpenMeteoService {
7
14
  client;
15
+ geocodingClient;
16
+ forecastClient;
8
17
  maxRetries;
18
+ cache;
9
19
  constructor(config = {}) {
10
- const { baseURL = 'https://archive-api.open-meteo.com/v1', timeout = 30000, maxRetries = 3 } = config;
20
+ const { baseURL = 'https://archive-api.open-meteo.com/v1', geocodingURL = 'https://geocoding-api.open-meteo.com/v1', forecastURL = 'https://api.open-meteo.com/v1', timeout = 30000, maxRetries = 3 } = config;
11
21
  this.maxRetries = maxRetries;
22
+ this.cache = new Cache(CacheConfig.maxSize);
23
+ // Historical weather client
12
24
  this.client = axios.create({
13
25
  baseURL,
14
26
  timeout,
15
27
  headers: {
16
28
  'Accept': 'application/json',
17
- 'User-Agent': 'weather-mcp/0.1.0'
29
+ 'User-Agent': 'weather-mcp/0.4.0'
30
+ }
31
+ });
32
+ // Geocoding client
33
+ this.geocodingClient = axios.create({
34
+ baseURL: geocodingURL,
35
+ timeout,
36
+ headers: {
37
+ 'Accept': 'application/json',
38
+ 'User-Agent': 'weather-mcp/0.4.0'
39
+ }
40
+ });
41
+ // Forecast client
42
+ this.forecastClient = axios.create({
43
+ baseURL: forecastURL,
44
+ timeout,
45
+ headers: {
46
+ 'Accept': 'application/json',
47
+ 'User-Agent': 'weather-mcp/0.4.0'
18
48
  }
19
49
  });
20
50
  // Add response interceptor for error handling
21
51
  this.client.interceptors.response.use(response => response, error => this.handleError(error));
52
+ this.geocodingClient.interceptors.response.use(response => response, error => this.handleError(error));
53
+ this.forecastClient.interceptors.response.use(response => response, error => this.handleError(error));
22
54
  }
23
55
  /**
24
56
  * Handle API errors with helpful status information
@@ -30,58 +62,37 @@ export class OpenMeteoService {
30
62
  // Bad request
31
63
  if (status === 400) {
32
64
  const reason = data.reason || 'Invalid request parameters';
33
- throw new Error(`Open-Meteo API error: ${reason}\n\n` +
34
- `Please verify:\n` +
65
+ throw new InvalidLocationError('OpenMeteo', `${reason}\n\nPlease verify:\n` +
35
66
  `- Coordinates are valid (latitude: -90 to 90, longitude: -180 to 180)\n` +
36
67
  `- Date range is valid (1940 to 5 days ago)\n` +
37
- `- Parameters are correctly formatted\n\n` +
38
- `API documentation: https://open-meteo.com/en/docs/historical-weather-api`);
68
+ `- Parameters are correctly formatted`);
39
69
  }
40
70
  // Rate limit error
41
71
  if (status === 429) {
42
- throw new Error(`Open-Meteo API rate limit exceeded (10,000 requests/day for non-commercial use).\n\n` +
43
- `Please retry later or consider:\n` +
44
- `- Reducing request frequency\n` +
45
- `- Using daily instead of hourly data for longer periods\n` +
46
- `- Upgrading to a commercial plan for higher limits\n\n` +
47
- `More info: https://open-meteo.com/en/pricing`);
72
+ throw new RateLimitError('OpenMeteo');
48
73
  }
49
74
  // Server errors
50
75
  if (status >= 500) {
51
- throw new Error(`Open-Meteo API server error: Service temporarily unavailable\n\n` +
52
- `The Open-Meteo API may be experiencing an outage.\n\n` +
53
- `Check service status:\n` +
54
- `- Production status: https://open-meteo.com/en/docs/model-updates\n` +
55
- `- GitHub issues: https://github.com/open-meteo/open-meteo/issues`);
76
+ throw new ServiceUnavailableError('OpenMeteo', error);
56
77
  }
57
78
  // Other errors
58
- throw new Error(`Open-Meteo API error (${status}): ${data.reason || 'Request failed'}\n\n` +
59
- `For assistance, visit:\n` +
60
- `- API documentation: https://open-meteo.com/en/docs\n` +
61
- `- GitHub issues: https://github.com/open-meteo/open-meteo/issues`);
79
+ throw new ApiError(`Open-Meteo API error (${status})`, status, 'OpenMeteo', data.reason || 'Request failed', [
80
+ 'https://open-meteo.com/en/docs',
81
+ 'https://github.com/open-meteo/open-meteo/issues'
82
+ ]);
62
83
  }
63
84
  // Network errors
64
85
  if (error.code === 'ECONNABORTED') {
65
- throw new Error(`Request to Open-Meteo API timed out. Please try again.\n\n` +
66
- `If timeouts persist, check:\n` +
67
- `- Your internet connection\n` +
68
- `- Service status: https://open-meteo.com/en/docs/model-updates`);
86
+ throw new ServiceUnavailableError('OpenMeteo', error);
69
87
  }
70
88
  if (error.code === 'ENOTFOUND' || error.code === 'ECONNREFUSED') {
71
- throw new Error(`Unable to connect to Open-Meteo API.\n\n` +
72
- `Possible causes:\n` +
73
- `- Internet connection issues\n` +
74
- `- Open-Meteo API service outage\n` +
75
- `- DNS resolution problems\n\n` +
76
- `Check:\n` +
77
- `- Your internet connection\n` +
78
- `- Service status: https://open-meteo.com/en/docs/model-updates`);
89
+ throw new ServiceUnavailableError('OpenMeteo', error);
79
90
  }
80
91
  // Generic error
81
- throw new Error(`Open-Meteo API request failed: ${error.message}\n\n` +
82
- `For assistance, visit:\n` +
83
- `- GitHub issues: https://github.com/open-meteo/open-meteo/issues\n` +
84
- `- Documentation: https://open-meteo.com/en/docs`);
92
+ throw new ApiError(`Open-Meteo API request failed: ${error.message}`, 500, 'OpenMeteo', `Request failed: ${error.message}`, [
93
+ 'https://github.com/open-meteo/open-meteo/issues',
94
+ 'https://open-meteo.com/en/docs'
95
+ ], true);
85
96
  }
86
97
  /**
87
98
  * Make request with retry logic
@@ -98,7 +109,9 @@ export class OpenMeteoService {
98
109
  error.message.includes('server error') ||
99
110
  error.message.includes('timed out');
100
111
  if (shouldRetry) {
101
- const delay = Math.pow(2, retries) * 1000; // Exponential backoff
112
+ // Exponential backoff with jitter to prevent thundering herd
113
+ const baseDelay = Math.pow(2, retries) * 1000;
114
+ const delay = baseDelay * (0.5 + Math.random() * 0.5);
102
115
  await new Promise(resolve => setTimeout(resolve, delay));
103
116
  return this.makeRequest(url, params, retries + 1);
104
117
  }
@@ -106,6 +119,18 @@ export class OpenMeteoService {
106
119
  throw error;
107
120
  }
108
121
  }
122
+ /**
123
+ * Get cache statistics
124
+ */
125
+ getCacheStats() {
126
+ return this.cache.getStats();
127
+ }
128
+ /**
129
+ * Clear the cache
130
+ */
131
+ clearCache() {
132
+ this.cache.clear();
133
+ }
109
134
  /**
110
135
  * Check if the Open-Meteo API is operational
111
136
  * Performs a lightweight health check by requesting a simple query
@@ -187,14 +212,35 @@ export class OpenMeteoService {
187
212
  * @returns Historical weather data
188
213
  */
189
214
  async getHistoricalWeather(latitude, longitude, startDate, endDate, useHourly = true) {
190
- // Validate coordinates
191
- if (latitude < -90 || latitude > 90) {
192
- throw new Error(`Invalid latitude: ${latitude}. Must be between -90 and 90.`);
193
- }
194
- if (longitude < -180 || longitude > 180) {
195
- throw new Error(`Invalid longitude: ${longitude}. Must be between -180 and 180.`);
215
+ // Validate coordinates (checks for NaN, Infinity, and range)
216
+ validateLatitude(latitude);
217
+ validateLongitude(longitude);
218
+ // Build parameters once
219
+ const params = this.buildHistoricalParams(latitude, longitude, startDate, endDate, useHourly);
220
+ // Check cache first (if enabled)
221
+ if (CacheConfig.enabled) {
222
+ const cacheKey = Cache.generateKey('openmeteo-historical', latitude, longitude, startDate, endDate, useHourly);
223
+ const cached = this.cache.get(cacheKey);
224
+ if (cached) {
225
+ return cached;
226
+ }
227
+ const response = await this.makeRequest('/archive', params);
228
+ this.validateResponse(response, startDate, endDate, useHourly);
229
+ // Use smart TTL based on date range
230
+ const ttl = getHistoricalDataTTL(startDate);
231
+ this.cache.set(cacheKey, response, ttl);
232
+ return response;
196
233
  }
197
- // Build request parameters
234
+ // No caching
235
+ const response = await this.makeRequest('/archive', params);
236
+ this.validateResponse(response, startDate, endDate, useHourly);
237
+ return response;
238
+ }
239
+ /**
240
+ * Build request parameters for historical weather data
241
+ * @private
242
+ */
243
+ buildHistoricalParams(latitude, longitude, startDate, endDate, useHourly) {
198
244
  const params = {
199
245
  latitude,
200
246
  longitude,
@@ -242,8 +288,13 @@ export class OpenMeteoService {
242
288
  'wind_direction_10m_dominant'
243
289
  ].join(',');
244
290
  }
245
- const response = await this.makeRequest('/archive', params);
246
- // Validate response has data
291
+ return params;
292
+ }
293
+ /**
294
+ * Validate that the response contains the expected data
295
+ * @private
296
+ */
297
+ validateResponse(response, startDate, endDate, useHourly) {
247
298
  if (useHourly && (!response.hourly || !response.hourly.time || response.hourly.time.length === 0)) {
248
299
  throw new Error(`No historical weather data available for the specified date range (${startDate} to ${endDate}).\n\n` +
249
300
  'This may occur because:\n' +
@@ -255,7 +306,6 @@ export class OpenMeteoService {
255
306
  throw new Error(`No historical weather data available for the specified date range (${startDate} to ${endDate}).\n\n` +
256
307
  'Please try adjusting your date range.');
257
308
  }
258
- return response;
259
309
  }
260
310
  /**
261
311
  * Get weather description from WMO weather code
@@ -294,5 +344,189 @@ export class OpenMeteoService {
294
344
  };
295
345
  return weatherCodes[code] || `Unknown (code: ${code})`;
296
346
  }
347
+ /**
348
+ * Search for locations by name using the Open-Meteo Geocoding API
349
+ *
350
+ * @param query - Location name to search for (e.g., "Paris", "New York, NY", "Tokyo")
351
+ * @param limit - Maximum number of results to return (default: 5, max: 100)
352
+ * @param language - Language for results (default: 'en')
353
+ * @returns Geocoding results with coordinates and metadata
354
+ */
355
+ async searchLocation(query, limit = 5, language = 'en') {
356
+ if (!query || query.trim().length === 0) {
357
+ throw new InvalidLocationError('OpenMeteo', 'Search query cannot be empty');
358
+ }
359
+ if (query.trim().length === 1) {
360
+ throw new InvalidLocationError('OpenMeteo', 'Search query must be at least 2 characters long');
361
+ }
362
+ // Validate limit
363
+ if (limit < 1 || limit > 100) {
364
+ throw new InvalidLocationError('OpenMeteo', 'Limit must be between 1 and 100');
365
+ }
366
+ // Check cache first (locations don't move, so cache indefinitely)
367
+ if (CacheConfig.enabled) {
368
+ const cacheKey = Cache.generateKey('openmeteo-geocoding', query, limit, language);
369
+ const cached = this.cache.get(cacheKey);
370
+ if (cached) {
371
+ return cached;
372
+ }
373
+ const params = {
374
+ name: query.trim(),
375
+ count: limit,
376
+ language,
377
+ format: 'json'
378
+ };
379
+ const response = await this.geocodingClient.get('/search', { params });
380
+ // Cache indefinitely (locations don't change)
381
+ // Using 30 days as TTL to keep cache from growing unbounded
382
+ this.cache.set(cacheKey, response.data, 30 * 24 * 60 * 60 * 1000);
383
+ return response.data;
384
+ }
385
+ // No caching
386
+ const params = {
387
+ name: query.trim(),
388
+ count: limit,
389
+ language,
390
+ format: 'json'
391
+ };
392
+ const response = await this.geocodingClient.get('/search', { params });
393
+ return response.data;
394
+ }
395
+ /**
396
+ * Get weather forecast from Open-Meteo Forecast API
397
+ *
398
+ * @param latitude - Latitude coordinate (-90 to 90)
399
+ * @param longitude - Longitude coordinate (-180 to 180)
400
+ * @param days - Number of forecast days (1-16, default: 7)
401
+ * @param hourly - Whether to include hourly data (default: false)
402
+ * @returns Weather forecast data
403
+ */
404
+ async getForecast(latitude, longitude, days = 7, hourly = false) {
405
+ // Validate coordinates
406
+ validateLatitude(latitude);
407
+ validateLongitude(longitude);
408
+ // Validate days
409
+ if (days < 1 || days > 16) {
410
+ throw new InvalidLocationError('OpenMeteo', 'Forecast days must be between 1 and 16');
411
+ }
412
+ // Build parameters
413
+ const params = this.buildForecastParams(latitude, longitude, days, hourly);
414
+ // Check cache first
415
+ if (CacheConfig.enabled) {
416
+ const cacheKey = Cache.generateKey('openmeteo-forecast', latitude, longitude, days, hourly);
417
+ const cached = this.cache.get(cacheKey);
418
+ if (cached) {
419
+ return cached;
420
+ }
421
+ const response = await this.makeRequestToForecast('/forecast', params);
422
+ this.validateForecastResponse(response, hourly);
423
+ // Cache for 2 hours (forecasts update regularly)
424
+ this.cache.set(cacheKey, response, 2 * 60 * 60 * 1000);
425
+ return response;
426
+ }
427
+ // No caching
428
+ const response = await this.makeRequestToForecast('/forecast', params);
429
+ this.validateForecastResponse(response, hourly);
430
+ return response;
431
+ }
432
+ /**
433
+ * Build request parameters for forecast data
434
+ * @private
435
+ */
436
+ buildForecastParams(latitude, longitude, days, hourly) {
437
+ const params = {
438
+ latitude,
439
+ longitude,
440
+ forecast_days: days,
441
+ temperature_unit: 'fahrenheit',
442
+ wind_speed_unit: 'mph',
443
+ precipitation_unit: 'inch',
444
+ timezone: 'auto'
445
+ };
446
+ // Always include daily data with sunrise/sunset
447
+ params.daily = [
448
+ 'weather_code',
449
+ 'temperature_2m_max',
450
+ 'temperature_2m_min',
451
+ 'apparent_temperature_max',
452
+ 'apparent_temperature_min',
453
+ 'sunrise',
454
+ 'sunset',
455
+ 'daylight_duration',
456
+ 'sunshine_duration',
457
+ 'uv_index_max',
458
+ 'precipitation_sum',
459
+ 'rain_sum',
460
+ 'showers_sum',
461
+ 'snowfall_sum',
462
+ 'precipitation_hours',
463
+ 'precipitation_probability_max',
464
+ 'wind_speed_10m_max',
465
+ 'wind_gusts_10m_max',
466
+ 'wind_direction_10m_dominant'
467
+ ].join(',');
468
+ // Optionally include hourly data
469
+ if (hourly) {
470
+ params.hourly = [
471
+ 'temperature_2m',
472
+ 'relative_humidity_2m',
473
+ 'dewpoint_2m',
474
+ 'apparent_temperature',
475
+ 'precipitation_probability',
476
+ 'precipitation',
477
+ 'rain',
478
+ 'showers',
479
+ 'snowfall',
480
+ 'snow_depth',
481
+ 'weather_code',
482
+ 'pressure_msl',
483
+ 'cloud_cover',
484
+ 'visibility',
485
+ 'wind_speed_10m',
486
+ 'wind_direction_10m',
487
+ 'wind_gusts_10m',
488
+ 'uv_index',
489
+ 'is_day'
490
+ ].join(',');
491
+ }
492
+ return params;
493
+ }
494
+ /**
495
+ * Make request to forecast API with retry logic
496
+ * @private
497
+ */
498
+ async makeRequestToForecast(url, params, retries = 0) {
499
+ try {
500
+ const response = await this.forecastClient.get(url, { params });
501
+ return response.data;
502
+ }
503
+ catch (error) {
504
+ // Retry on rate limit or server errors
505
+ if (retries < this.maxRetries) {
506
+ const shouldRetry = error.message.includes('rate limit') ||
507
+ error.message.includes('server error') ||
508
+ error.message.includes('timed out');
509
+ if (shouldRetry) {
510
+ const baseDelay = Math.pow(2, retries) * 1000;
511
+ const delay = baseDelay * (0.5 + Math.random() * 0.5);
512
+ await new Promise(resolve => setTimeout(resolve, delay));
513
+ return this.makeRequestToForecast(url, params, retries + 1);
514
+ }
515
+ }
516
+ throw error;
517
+ }
518
+ }
519
+ /**
520
+ * Validate that the forecast response contains the expected data
521
+ * @private
522
+ */
523
+ validateForecastResponse(response, hourly) {
524
+ if (hourly && (!response.hourly || !response.hourly.time || response.hourly.time.length === 0)) {
525
+ throw new DataNotFoundError('OpenMeteo', 'No hourly forecast data available for the specified location');
526
+ }
527
+ if (!response.daily || !response.daily.time || response.daily.time.length === 0) {
528
+ throw new DataNotFoundError('OpenMeteo', 'No daily forecast data available for the specified location');
529
+ }
530
+ }
297
531
  }
298
532
  //# sourceMappingURL=openmeteo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmeteo.js","sourceRoot":"","sources":["../../src/services/openmeteo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openmeteo.js","sourceRoot":"","sources":["../../src/services/openmeteo.ts"],"names":[],"mappings":"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"}
@@ -128,20 +128,20 @@ export interface ObservationProperties {
128
128
  }>;
129
129
  temperature: QuantitativeValue;
130
130
  dewpoint: QuantitativeValue;
131
- windDirection: QuantitativeValue;
131
+ windDirection?: QuantitativeValue;
132
132
  windSpeed: QuantitativeValue;
133
- windGust: QuantitativeValue;
134
- barometricPressure: QuantitativeValue;
135
- seaLevelPressure: QuantitativeValue;
136
- visibility: QuantitativeValue;
137
- maxTemperatureLast24Hours: QuantitativeValue;
138
- minTemperatureLast24Hours: QuantitativeValue;
139
- precipitationLastHour: QuantitativeValue;
140
- precipitationLast3Hours: QuantitativeValue;
141
- precipitationLast6Hours: QuantitativeValue;
133
+ windGust?: QuantitativeValue;
134
+ barometricPressure?: QuantitativeValue;
135
+ seaLevelPressure?: QuantitativeValue;
136
+ visibility?: QuantitativeValue;
137
+ maxTemperatureLast24Hours?: QuantitativeValue;
138
+ minTemperatureLast24Hours?: QuantitativeValue;
139
+ precipitationLastHour?: QuantitativeValue;
140
+ precipitationLast3Hours?: QuantitativeValue;
141
+ precipitationLast6Hours?: QuantitativeValue;
142
142
  relativeHumidity: QuantitativeValue;
143
- windChill: QuantitativeValue;
144
- heatIndex: QuantitativeValue;
143
+ windChill?: QuantitativeValue;
144
+ heatIndex?: QuantitativeValue;
145
145
  cloudLayers?: Array<{
146
146
  base: QuantitativeValue;
147
147
  amount: string;
@@ -191,6 +191,58 @@ export interface NOAAErrorResponse {
191
191
  detail: string;
192
192
  instance?: string;
193
193
  }
194
+ /**
195
+ * Weather alert properties from /alerts endpoint
196
+ */
197
+ export interface AlertProperties {
198
+ '@id': string;
199
+ '@type': string;
200
+ id: string;
201
+ areaDesc: string;
202
+ geocode: {
203
+ SAME?: string[];
204
+ UGC?: string[];
205
+ };
206
+ affectedZones: string[];
207
+ references: Array<{
208
+ '@id': string;
209
+ identifier: string;
210
+ sender: string;
211
+ sent: string;
212
+ }>;
213
+ sent: string;
214
+ effective: string;
215
+ onset: string | null;
216
+ expires: string;
217
+ ends: string | null;
218
+ status: 'Actual' | 'Exercise' | 'System' | 'Test' | 'Draft';
219
+ messageType: 'Alert' | 'Update' | 'Cancel' | 'Ack' | 'Error';
220
+ category: 'Met' | 'Geo' | 'Safety' | 'Security' | 'Rescue' | 'Fire' | 'Health' | 'Env' | 'Transport' | 'Infra' | 'CBRNE' | 'Other';
221
+ severity: 'Extreme' | 'Severe' | 'Moderate' | 'Minor' | 'Unknown';
222
+ certainty: 'Observed' | 'Likely' | 'Possible' | 'Unlikely' | 'Unknown';
223
+ urgency: 'Immediate' | 'Expected' | 'Future' | 'Past' | 'Unknown';
224
+ event: string;
225
+ sender: string;
226
+ senderName: string;
227
+ headline: string | null;
228
+ description: string;
229
+ instruction: string | null;
230
+ response: 'Shelter' | 'Evacuate' | 'Prepare' | 'Execute' | 'Avoid' | 'Monitor' | 'Assess' | 'AllClear' | 'None';
231
+ parameters: {
232
+ [key: string]: string[];
233
+ };
234
+ }
235
+ export type AlertResponse = NOAAResponse<AlertProperties>;
236
+ /**
237
+ * Collection of alerts from /alerts endpoint
238
+ */
239
+ export interface AlertCollectionResponse {
240
+ '@context'?: unknown;
241
+ type: string;
242
+ features: AlertResponse[];
243
+ title?: string;
244
+ updated?: string;
245
+ }
194
246
  /**
195
247
  * Helper type for converting units
196
248
  */
@@ -1 +1 @@
1
- {"version":3,"file":"noaa.d.ts","sourceRoot":"","sources":["../../src/types/noaa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"noaa.d.ts","sourceRoot":"","sources":["../../src/types/noaa.ts"],"names":[],"mappings":"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"}