@dangahagan/weather-mcp 1.35.2 → 1.35.4

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%2C703%20passing-brightgreen)](./docs/testing/TEST_SUITE_README.md)
6
+ [![Tests](https://img.shields.io/badge/tests-4%2C800%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, 4,703 tests. Audit it, fork it, fix it.
61
+ - **Fully open source** — MIT licensed, readable TypeScript, 4,800 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
 
@@ -274,6 +274,7 @@ Supported on `get_forecast`, `get_current_conditions`, and `get_historical_weath
274
274
  | `CACHE_ENABLED` | `true` | Enable/disable response caching |
275
275
  | `CACHE_MAX_SIZE` | `1000` | Max cache entries (100–10000) |
276
276
  | `API_TIMEOUT_MS` | `30000` | Upstream request timeout, end to end on a wall clock — connect, proxy and response body (5000–120000). A few clients keep a timeout of their own, such as geocoding at 10 s |
277
+ | `HTTPS_PROXY` / `NO_PROXY` | — | Send the weather API requests through an HTTP CONNECT proxy (`ALL_PROXY` and lowercase names also work). Credentials go in the URL, percent-encoded: `http://user:p%40ss@proxy:3128` sends the password `p@ss`, so write a literal `%` as `%25` |
277
278
  | `WEATHER_LIGHTNING_PREWARM` | `true` | Subscribe saved locations' geohashes at startup so lightning has coverage before the first query, and keep them subscribed for as long as they stay saved. The saved list is re-read every 30 minutes: a location saved from another client is picked up, and a removed one stops being watched within about an hour, with no restart. Follows the lightning tool (`get_lightning_activity`), not `get_weather_summary`: no effect when the lightning tool is disabled, as it is in the default `basic` preset — use `ENABLED_TOOLS=basic,+lightning` to opt in. A saved location that does not fit the 50-subscription limit is skipped rather than displacing an area you queried. Set `false` to skip pre-warm and the persistent MQTT connection it opens. |
278
279
  | `LOG_LEVEL` | `1` | `0`/`DEBUG`, `1`/`INFO`, `2`/`WARN`, `3`/`ERROR` — number or name, names case-insensitive. An unrecognized value warns on stderr and falls back to `INFO`. Logs go to stderr. `0`/`DEBUG` adds detail, never location text |
279
280
  | `LOG_PII` | — | Set `true` to log full-precision coordinates, geocoding queries, saved-location aliases, and the error text of failed tool calls. By default these are left out and coordinates are rounded to about 1 km. The saved place name and any MQTT broker credentials are never logged. For local debugging only — not for shared or centrally collected logs |
@@ -393,7 +394,7 @@ Being honest about what free public data can and can't do:
393
394
  ```bash
394
395
  npm run build # Compile TypeScript
395
396
  npm run dev # Run in development mode
396
- npm test # Run all 4,703 tests
397
+ npm test # Run all 4,800 tests
397
398
  npm run test:coverage # Coverage report
398
399
  npm run audit # Dependency vulnerability scan
399
400
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"locationStore.d.ts","sourceRoot":"","sources":["../../src/services/locationStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIrF;;;;;;;;;;;GAWG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,SAAS,EAAE,MAAM,EAQ5B;CACF;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,YAAY,UAAU,CAAC,EAAE,MAAM,EAQ9B;IAED;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;;;;;;;;;;OAaG;IACH,IAAI,IAAI,mBAAmB,CAyC1B;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAkBZ;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,eAAe;IAwEvB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAI5C;IAED;;OAEG;IACH,MAAM,IAAI,mBAAmB,CAE5B;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,YAAY,CAAC,GAAG,aAAa,CAmC1F;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAa7B;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI1B;IAED;;OAEG;IACH,KAAK,IAAI,MAAM,CAGd;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAKZ;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,CAErB;CACF"}
1
+ {"version":3,"file":"locationStore.d.ts","sourceRoot":"","sources":["../../src/services/locationStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAIrF;;;;;;;;;;;GAWG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,SAAS,EAAE,MAAM,EAQ5B;CACF;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,YAAY,UAAU,CAAC,EAAE,MAAM,EAQ9B;IAED;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;;;;;;;;;;;;OAaG;IACH,IAAI,IAAI,mBAAmB,CA4C1B;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,IAAI;IAInB;;;OAGG;IACH,OAAO,CAAC,IAAI;IAkBZ;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,eAAe;IAwEvB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAI5C;IAED;;OAEG;IACH,MAAM,IAAI,mBAAmB,CAE5B;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,YAAY,CAAC,GAAG,aAAa,CAmC1F;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAa7B;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI1B;IAED;;OAEG;IACH,KAAK,IAAI,MAAM,CAGd;IAED;;OAEG;IACH,KAAK,IAAI,IAAI,CAKZ;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,CAErB;CACF"}
@@ -102,8 +102,11 @@ export class LocationStore {
102
102
  parsed = JSON.parse(data);
103
103
  }
104
104
  catch (error) {
105
- logger.error('Failed to parse saved locations', error, {
106
- path: this.storePath
105
+ // JSON.parse messages quote the file's bytes, which include the saved `name`,
106
+ // so the message is never logged, not even under LOG_PII.
107
+ logger.error('Failed to parse saved locations', undefined, {
108
+ path: this.storePath,
109
+ name: error instanceof Error ? error.name : typeof error
107
110
  });
108
111
  throw new LocationStoreUnreadableError(this.storePath);
109
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locationStore.js","sourceRoot":"","sources":["../../src/services/locationStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locationStore.js","sourceRoot":"","sources":["../../src/services/locationStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nifc.d.ts","sourceRoot":"","sources":["../../src/services/nifc.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAO9D,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAQ;IAGrB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6H;IAE9J,YAAY,MAAM,GAAE,iBAAsB,EAczC;IAED;;OAEG;IACH,aAAa,2CAEZ;IAED;;OAEG;IACH,UAAU,IAAI,IAAI,CAEjB;IAED;;;;;;;OAOG;IACG,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;IAED;;OAEG;YACW,kBAAkB;IA2DhC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CA6BD;CACF"}
1
+ {"version":3,"file":"nifc.d.ts","sourceRoot":"","sources":["../../src/services/nifc.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAQ9D,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAQ;IAGrB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6H;IAE9J,YAAY,MAAM,GAAE,iBAAsB,EAczC;IAED;;OAEG;IACH,aAAa,2CAEZ;IAED;;OAEG;IACH,UAAU,IAAI,IAAI,CAEjB;IAED;;;;;;;OAOG;IACG,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;IAED;;OAEG;YACW,kBAAkB;IAmEhC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CA6BD;CACF"}
@@ -5,8 +5,9 @@ import axios from 'axios';
5
5
  import { Cache } from '../utils/cache.js';
6
6
  import { CacheConfig } from '../config/cache.js';
7
7
  import { validateLatitude, validateLongitude } from '../utils/validation.js';
8
- import { logger, redactCoordinatesForLogging } from '../utils/logger.js';
8
+ import { logger, redactCoordinatesForLogging, describeErrorForLogging } from '../utils/logger.js';
9
9
  import { withRequestDeadline } from '../utils/httpDeadline.js';
10
+ import { isConnectionFailureCode } from '../utils/connectionFailure.js';
10
11
  export class NIFCService {
11
12
  client;
12
13
  cache;
@@ -110,20 +111,28 @@ export class NIFCService {
110
111
  return response.data;
111
112
  }
112
113
  catch (error) {
113
- logger.error('NIFC query failed', error);
114
- // Check for specific error types
114
+ const status = axios.isAxiosError(error) ? error.response?.status : undefined;
115
+ logger.error('NIFC query failed', undefined, { ...describeErrorForLogging(error), status });
116
+ // Every message is fixed text: transport and upstream wording never reach
117
+ // the user. Timeouts first, then the shared connection-failure set (G138).
115
118
  if (axios.isAxiosError(error)) {
116
- if (error.code === 'ECONNABORTED') {
119
+ if (error.code === 'ECONNABORTED' || error.code === 'ETIMEDOUT') {
117
120
  throw new Error('NIFC service request timed out. The service may be temporarily unavailable.');
118
121
  }
119
- if (error.response?.status === 400) {
122
+ if (isConnectionFailureCode(error.code)) {
123
+ throw new Error('Unable to connect to the NIFC service. The service may be unreachable from this network.');
124
+ }
125
+ if (status === 400) {
120
126
  throw new Error('Invalid query parameters for NIFC service.');
121
127
  }
122
- if (error.response?.status === 503) {
128
+ if (status === 503) {
123
129
  throw new Error('NIFC service is temporarily unavailable. Please try again later.');
124
130
  }
131
+ if (typeof status === 'number') {
132
+ throw new Error(`NIFC service returned HTTP ${status}.`);
133
+ }
125
134
  }
126
- throw new Error(`Failed to query NIFC fire perimeters: ${error instanceof Error ? error.message : String(error)}`);
135
+ throw new Error('Failed to query NIFC fire perimeters.');
127
136
  }
128
137
  }
129
138
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"nifc.js","sourceRoot":"","sources":["../../src/services/nifc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nifc.js","sourceRoot":"","sources":["../../src/services/nifc.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { Cache } from '../utils/cache.js';
12
12
  import { CacheConfig, getHistoricalDataTTL } from '../config/cache.js';
13
13
  import { validateLatitude, validateLongitude } from '../utils/validation.js';
14
14
  import { isConnectionFailureCode } from '../utils/connectionFailure.js';
15
- import { logger, redactCoordinatesForLogging } from '../utils/logger.js';
15
+ import { logger, redactCoordinatesForLogging, describeErrorForLogging } from '../utils/logger.js';
16
16
  import { computeNormalsTable, getNormalsTableCacheKey } from '../utils/normals.js';
17
17
  import { getUserAgent } from '../utils/version.js';
18
18
  import { classifyProbeAnswer } from '../utils/serviceStatusProbe.js';
@@ -1517,7 +1517,7 @@ export class OpenMeteoService {
1517
1517
  return table;
1518
1518
  }
1519
1519
  catch (error) {
1520
- logger.error('Failed to compute climate normals table', error);
1520
+ logger.error('Failed to compute climate normals table', undefined, { ...describeErrorForLogging(error) });
1521
1521
  throw error;
1522
1522
  }
1523
1523
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rainviewer.d.ts","sourceRoot":"","sources":["../../src/services/rainviewer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxF,uFAAuF;AACvF,eAAO,MAAM,6BAA6B,QAAa,CAAC;AAwExD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAE/D,cAWC;IAED;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAoDhD;IAED;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,GAAE,MAAY,EAAE,IAAI,GAAE,MAAU,GAAG,MAAM,CAOjF;IAED;;;OAGG;IACH,sBAAsB,CACpB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAU,GACf,MAAM,CAsBR;IAED;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAM5F;IAED;;;OAGG;IACH,oBAAoB,CAClB,MAAM,EAAE,eAAe,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,YAAY,EAAE,CAUhB;IAED;;OAEG;IACG,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;CACF;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
1
+ {"version":3,"file":"rainviewer.d.ts","sourceRoot":"","sources":["../../src/services/rainviewer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxF,uFAAuF;AACvF,eAAO,MAAM,6BAA6B,QAAa,CAAC;AAwExD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsC;IAE/D,cAWC;IAED;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA6DhD;IAED;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,GAAE,MAAY,EAAE,IAAI,GAAE,MAAU,GAAG,MAAM,CAOjF;IAED;;;OAGG;IACH,sBAAsB,CACpB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAU,GACf,MAAM,CAsBR;IAED;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAM5F;IAED;;;OAGG;IACH,oBAAoB,CAClB,MAAM,EAAE,eAAe,EAAE,EACzB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,YAAY,EAAE,CAUhB;IAED;;OAEG;IACG,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;CACF;AAGD,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -4,8 +4,9 @@
4
4
  * @see https://www.rainviewer.com/api.html
5
5
  */
6
6
  import axios from 'axios';
7
- import { logger, redactCoordinatesForLogging } from '../utils/logger.js';
7
+ import { logger, redactCoordinatesForLogging, describeErrorForLogging } from '../utils/logger.js';
8
8
  import { withRequestDeadline } from '../utils/httpDeadline.js';
9
+ import { isConnectionFailureCode } from '../utils/connectionFailure.js';
9
10
  import { ServiceUnavailableError } from '../errors/ApiError.js';
10
11
  /** Metadata body cap. The live `weather-maps.json` measured 818 bytes (2026-09-28). */
11
12
  export const RAINVIEWER_MAX_METADATA_BYTES = 256 * 1024;
@@ -112,12 +113,24 @@ export class RainViewerService {
112
113
  catch (error) {
113
114
  if (axios.isAxiosError(error)) {
114
115
  const status = error.response?.status;
115
- const message = error.response?.data?.message || error.message;
116
- logger.error('RainViewer API request failed', error, {
117
- status,
118
- message
116
+ logger.error('RainViewer API request failed', undefined, {
117
+ ...describeErrorForLogging(error),
118
+ status
119
119
  });
120
- throw new ServiceUnavailableError('RainViewer', `Failed to fetch radar data: ${message}`);
120
+ // Fixed text per class: neither the response body nor axios's own
121
+ // wording reaches the user. Timeouts first, then the shared set (G138).
122
+ // A 3xx lands in the status class (`maxRedirects: 0`); an oversized
123
+ // body has no response and takes the bare message.
124
+ if (error.code === 'ECONNABORTED' || error.code === 'ETIMEDOUT') {
125
+ throw new ServiceUnavailableError('RainViewer', 'Failed to fetch radar data: the request timed out');
126
+ }
127
+ if (isConnectionFailureCode(error.code)) {
128
+ throw new ServiceUnavailableError('RainViewer', 'Failed to fetch radar data: unable to connect to RainViewer');
129
+ }
130
+ if (typeof status === 'number') {
131
+ throw new ServiceUnavailableError('RainViewer', `Failed to fetch radar data: RainViewer returned HTTP ${status}`);
132
+ }
133
+ throw new ServiceUnavailableError('RainViewer', 'Failed to fetch radar data');
121
134
  }
122
135
  throw error;
123
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rainviewer.js","sourceRoot":"","sources":["../../src/services/rainviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rainviewer.js","sourceRoot":"","sources":["../../src/services/rainviewer.ts"],"names":[],"mappings":"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"}
@@ -14,14 +14,21 @@
14
14
  * `transitional.clarifyTimeoutError`, so neither is honoured.
15
15
  * - It races the inner adapter rather than only signalling it (G148): the promise settles at the
16
16
  * deadline whether or not the inner adapter honours the abort, and the abort then releases the
17
- * inner request. A tunnelling agent's pending CONNECT socket (axios's bundled https-proxy-agent)
18
- * has no cancel hook and stays open until the proxy closes it. Whatever the inner adapter
19
- * does afterwards is ignored (settle-once).
17
+ * inner request. Whatever the inner adapter does afterwards is ignored (settle-once).
18
+ * - The abort also releases a pending proxy socket. On an `https:` request that `proxy-from-env`
19
+ * routes through a proxy, the inner adapter receives `proxy: false` and a per-request tunnel
20
+ * agent (`proxyTunnel.ts`) hooked on **this** signal, so the deadline destroys the CONNECT socket
21
+ * that axios's bundled https-proxy-agent would hold until the proxy closed it. The hook is the
22
+ * signal, not the request: Node emits no event on a request destroyed before it has a socket.
23
+ * `proxy: false` is load-bearing: without it axios's `setProxy` (`lib/adapters/http.js`) swaps
24
+ * any non-https-proxy-agent `httpsAgent` for its own tunnel. A request with no timeout has no
25
+ * signal and keeps axios's own tunnel; every client in `src/` sets a timeout.
20
26
  * - A caller's own `signal` is chained in, and a caller's cancel stays axios's `ERR_CANCELED`.
21
27
  * - The deadline timer is ref'd (G114) and cleared on every settle path, with the caller-signal
22
28
  * listener, so the timer itself holds a process for at most `timeout`.
23
29
  *
24
- * This module reads no runtime axios export at module scope or in `withRequestDeadline()` itself:
30
+ * This module reads no runtime axios export at module scope or in `withRequestDeadline()` itself
31
+ * (the `proxyTunnel.js` import is ours, not axios's):
25
32
  * thirteen unit-test mocks of `axios` expose only `create`, and they construct services that call
26
33
  * this at construction. Only the returned adapter, when a request runs, reads `axios.*`.
27
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"httpDeadline.d.ts","sourceRoot":"","sources":["../../src/utils/httpDeadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,OAAO,CAAC;AAmBrF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,CAyEtE"}
1
+ {"version":3,"file":"httpDeadline.d.ts","sourceRoot":"","sources":["../../src/utils/httpDeadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,KAAK,EAAE,YAAY,EAA6C,MAAM,OAAO,CAAC;AAqCrF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,CAkFtE"}
@@ -14,22 +14,47 @@
14
14
  * `transitional.clarifyTimeoutError`, so neither is honoured.
15
15
  * - It races the inner adapter rather than only signalling it (G148): the promise settles at the
16
16
  * deadline whether or not the inner adapter honours the abort, and the abort then releases the
17
- * inner request. A tunnelling agent's pending CONNECT socket (axios's bundled https-proxy-agent)
18
- * has no cancel hook and stays open until the proxy closes it. Whatever the inner adapter
19
- * does afterwards is ignored (settle-once).
17
+ * inner request. Whatever the inner adapter does afterwards is ignored (settle-once).
18
+ * - The abort also releases a pending proxy socket. On an `https:` request that `proxy-from-env`
19
+ * routes through a proxy, the inner adapter receives `proxy: false` and a per-request tunnel
20
+ * agent (`proxyTunnel.ts`) hooked on **this** signal, so the deadline destroys the CONNECT socket
21
+ * that axios's bundled https-proxy-agent would hold until the proxy closed it. The hook is the
22
+ * signal, not the request: Node emits no event on a request destroyed before it has a socket.
23
+ * `proxy: false` is load-bearing: without it axios's `setProxy` (`lib/adapters/http.js`) swaps
24
+ * any non-https-proxy-agent `httpsAgent` for its own tunnel. A request with no timeout has no
25
+ * signal and keeps axios's own tunnel; every client in `src/` sets a timeout.
20
26
  * - A caller's own `signal` is chained in, and a caller's cancel stays axios's `ERR_CANCELED`.
21
27
  * - The deadline timer is ref'd (G114) and cleared on every settle path, with the caller-signal
22
28
  * listener, so the timer itself holds a process for at most `timeout`.
23
29
  *
24
- * This module reads no runtime axios export at module scope or in `withRequestDeadline()` itself:
30
+ * This module reads no runtime axios export at module scope or in `withRequestDeadline()` itself
31
+ * (the `proxyTunnel.js` import is ours, not axios's):
25
32
  * thirteen unit-test mocks of `axios` expose only `create`, and they construct services that call
26
33
  * this at construction. Only the returned adapter, when a request runs, reads `axios.*`.
27
34
  *
28
35
  * Node 18 compatible: no `AbortSignal.any`, no `AbortSignal.timeout`.
29
36
  */
30
37
  import axios from 'axios';
38
+ import { createTunnelAgent, tunnelProxyFor } from './proxyTunnel.js';
31
39
  /** The abort reason that marks our own deadline, as distinct from a caller's cancel. */
32
40
  const DEADLINE = Symbol('httpDeadline.deadline');
41
+ /**
42
+ * The proxy to tunnel `config` through: an `https:` target, no caller `proxy`, and a proxy that
43
+ * `proxy-from-env` selects. Anything else, including a URL that does not parse, is no tunnel.
44
+ */
45
+ function tunnelProxy(config) {
46
+ if (config.proxy !== undefined) {
47
+ return undefined;
48
+ }
49
+ let href;
50
+ try {
51
+ href = new URL(config.url ?? '', config.baseURL).href;
52
+ }
53
+ catch {
54
+ return undefined;
55
+ }
56
+ return href.startsWith('https:') ? tunnelProxyFor(href) : undefined;
57
+ }
33
58
  function deadlineError(timeout, config, request) {
34
59
  return new axios.AxiosError('timeout of ' + timeout + 'ms exceeded', 'ECONNABORTED', config, request);
35
60
  }
@@ -77,7 +102,16 @@ export function withRequestDeadline(inner) {
77
102
  }, timeout);
78
103
  let pending;
79
104
  try {
80
- pending = adapter({ ...config, signal: controller.signal });
105
+ const proxy = tunnelProxy(config);
106
+ pending =
107
+ proxy === undefined
108
+ ? adapter({ ...config, signal: controller.signal })
109
+ : adapter({
110
+ ...config,
111
+ signal: controller.signal,
112
+ proxy: false,
113
+ httpsAgent: createTunnelAgent(proxy, controller.signal)
114
+ });
81
115
  }
82
116
  catch (err) {
83
117
  pending = Promise.reject(err);
@@ -1 +1 @@
1
- {"version":3,"file":"httpDeadline.js","sourceRoot":"","sources":["../../src/utils/httpDeadline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,wFAAwF;AACxF,MAAM,QAAQ,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEjD,SAAS,aAAa,CAAC,OAAe,EAAE,MAAkC,EAAE,OAAiB;IAC3F,OAAO,IAAI,KAAK,CAAC,UAAU,CACzB,aAAa,GAAG,OAAO,GAAG,aAAa,EACvC,cAAc,EACd,MAAM,EACN,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,IAAI,QAAQ,GAA6B,KAAK,CAAC;IAE/C,OAAO,CAAC,MAAkC,EAA0B,EAAE;QACpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC;QAEzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACvE,oFAAoF;YACpF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAoC,CAAC;QACjE,MAAM,aAAa,GAAG,GAAS,EAAE;YAC/B,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,gBAAgB,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,YAAY,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC9D,CAAC,CAAC;YAEF,0EAA0E;YAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACvC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,IAAI,OAA+B,CAAC;YACpC,IAAI,CAAC;gBACH,OAAO,GAAG,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,CAAC,IAAI,CACV,CAAC,QAAQ,EAAE,EAAE;gBACX,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;gBACf,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,qFAAqF;gBACrF,kDAAkD;gBAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjE,MAAM,OAAO,GAAI,GAA6B,CAAC,OAAO,CAAC;oBACvD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;oBAChD,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"httpDeadline.js","sourceRoot":"","sources":["../../src/utils/httpDeadline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * A per-request CONNECT tunnel agent that the request deadline can cancel.
3
+ *
4
+ * Lifecycle contract (design plan `plan-proxy-socket-release`):
5
+ * - The cancel hook is the deadline's own `AbortSignal`, handed to an agent built for that one
6
+ * request — not the request. Node emits no event (`close`, `error`, `abort`, `socket`) on an
7
+ * `http.ClientRequest` destroyed before it is assigned a socket, so an agent that listens to
8
+ * the request never learns that the CONNECT it is waiting on is no longer wanted. Measured: that
9
+ * agent, axios's bundled https-proxy-agent 5, https-proxy-agent 9 and Node's native env proxy
10
+ * all leave the proxy socket open behind a proxy that never answers.
11
+ * - `createConnection` settles through its callback (the agent-base 7 shape): Node's
12
+ * `Agent.createSocket` accepts a returned socket or the callback, so its request bookkeeping is
13
+ * unchanged. Every path settles the callback exactly once.
14
+ * - A 200 answer is upgraded to TLS to the origin, as https-proxy-agent 5 does
15
+ * (`dist/agent.js:118-128`). Any other answer is replayed to the request as that HTTP response,
16
+ * on a fake socket, after the proxy socket is destroyed — hpa 5's replay (`agent.js:130-152`),
17
+ * so a 407 reaches every service's error mapper as `response.status` 407, and no origin request
18
+ * byte reaches the proxy. A proxy that closes before answering is `ECONNRESET`; a socket error
19
+ * keeps its own code (G138) under a fixed message, because Node's names the proxy endpoint.
20
+ * - No pooling: `keepAlive: false`. The tunnel it replaces sent `Connection: close` too.
21
+ * - It logs nothing and never stringifies the proxy URL, which can carry credentials. No error it
22
+ * produces names the proxy host, port or userinfo.
23
+ *
24
+ * Node 18 compatible: no `AbortSignal.any`, no `AbortSignal.timeout`.
25
+ */
26
+ import https from 'node:https';
27
+ /**
28
+ * The proxy axios would use for `url`, from the same `proxy-from-env` function axios calls
29
+ * (`HTTPS_PROXY`, `ALL_PROXY`, `NO_PROXY`, either case). `undefined` for no proxy, or for a proxy
30
+ * value that is not a URL.
31
+ */
32
+ export declare function tunnelProxyFor(url: string): URL | undefined;
33
+ /** The CONNECT request for `host:port`, with `Proxy-Authorization` when the proxy URL has userinfo. */
34
+ export declare function buildConnectRequest(host: string, port: number, proxy: URL): string;
35
+ /**
36
+ * The proxy's answer, once its header block is complete: the status code and the byte offset just
37
+ * past the blank line. `undefined` while incomplete. A first line that is not `HTTP/`, or a header
38
+ * block past 64 KiB, is `statusCode: 0` — the caller treats it as a reset.
39
+ */
40
+ export declare function parseConnectResponse(buffered: Buffer): {
41
+ statusCode: number;
42
+ headerEnd: number;
43
+ } | undefined;
44
+ /**
45
+ * An agent for one request that tunnels through `proxy`, and destroys its pending proxy socket
46
+ * when `signal` aborts.
47
+ */
48
+ export declare function createTunnelAgent(proxy: URL, signal: AbortSignal): https.Agent;
49
+ //# sourceMappingURL=proxyTunnel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyTunnel.d.ts","sourceRoot":"","sources":["../../src/utils/proxyTunnel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,MAAM,YAAY,CAAC;AAc/B;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAU3D;AAWD,uGAAuG;AACvG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,CAQlF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GACf;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAYvD;AAkKD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,KAAK,CAE9E"}
@@ -0,0 +1,230 @@
1
+ /**
2
+ * A per-request CONNECT tunnel agent that the request deadline can cancel.
3
+ *
4
+ * Lifecycle contract (design plan `plan-proxy-socket-release`):
5
+ * - The cancel hook is the deadline's own `AbortSignal`, handed to an agent built for that one
6
+ * request — not the request. Node emits no event (`close`, `error`, `abort`, `socket`) on an
7
+ * `http.ClientRequest` destroyed before it is assigned a socket, so an agent that listens to
8
+ * the request never learns that the CONNECT it is waiting on is no longer wanted. Measured: that
9
+ * agent, axios's bundled https-proxy-agent 5, https-proxy-agent 9 and Node's native env proxy
10
+ * all leave the proxy socket open behind a proxy that never answers.
11
+ * - `createConnection` settles through its callback (the agent-base 7 shape): Node's
12
+ * `Agent.createSocket` accepts a returned socket or the callback, so its request bookkeeping is
13
+ * unchanged. Every path settles the callback exactly once.
14
+ * - A 200 answer is upgraded to TLS to the origin, as https-proxy-agent 5 does
15
+ * (`dist/agent.js:118-128`). Any other answer is replayed to the request as that HTTP response,
16
+ * on a fake socket, after the proxy socket is destroyed — hpa 5's replay (`agent.js:130-152`),
17
+ * so a 407 reaches every service's error mapper as `response.status` 407, and no origin request
18
+ * byte reaches the proxy. A proxy that closes before answering is `ECONNRESET`; a socket error
19
+ * keeps its own code (G138) under a fixed message, because Node's names the proxy endpoint.
20
+ * - No pooling: `keepAlive: false`. The tunnel it replaces sent `Connection: close` too.
21
+ * - It logs nothing and never stringifies the proxy URL, which can carry credentials. No error it
22
+ * produces names the proxy host, port or userinfo.
23
+ *
24
+ * Node 18 compatible: no `AbortSignal.any`, no `AbortSignal.timeout`.
25
+ */
26
+ import https from 'node:https';
27
+ import net from 'node:net';
28
+ import tls from 'node:tls';
29
+ import { getProxyForUrl } from 'proxy-from-env';
30
+ /** A CONNECT answer whose header block has not ended by this many bytes is treated as a reset. */
31
+ const MAX_CONNECT_RESPONSE_BYTES = 64 * 1024;
32
+ const HEADER_TERMINATOR = '\r\n\r\n';
33
+ /**
34
+ * The proxy axios would use for `url`, from the same `proxy-from-env` function axios calls
35
+ * (`HTTPS_PROXY`, `ALL_PROXY`, `NO_PROXY`, either case). `undefined` for no proxy, or for a proxy
36
+ * value that is not a URL.
37
+ */
38
+ export function tunnelProxyFor(url) {
39
+ const raw = getProxyForUrl(url);
40
+ if (!raw) {
41
+ return undefined;
42
+ }
43
+ try {
44
+ return new URL(raw);
45
+ }
46
+ catch {
47
+ return undefined;
48
+ }
49
+ }
50
+ /** Percent-decode URL userinfo; a malformed escape (`%ZZ`) goes out literally instead of throwing. */
51
+ function decodeUserinfo(value) {
52
+ try {
53
+ return decodeURIComponent(value);
54
+ }
55
+ catch {
56
+ return value;
57
+ }
58
+ }
59
+ /** The CONNECT request for `host:port`, with `Proxy-Authorization` when the proxy URL has userinfo. */
60
+ export function buildConnectRequest(host, port, proxy) {
61
+ const authority = `${net.isIPv6(host) ? `[${host}]` : host}:${port}`;
62
+ let request = `CONNECT ${authority} HTTP/1.1\r\nHost: ${authority}\r\nConnection: close\r\n`;
63
+ if (proxy.username || proxy.password) {
64
+ const credentials = `${decodeUserinfo(proxy.username)}:${decodeUserinfo(proxy.password)}`;
65
+ request += `Proxy-Authorization: Basic ${Buffer.from(credentials).toString('base64')}\r\n`;
66
+ }
67
+ return request + '\r\n';
68
+ }
69
+ /**
70
+ * The proxy's answer, once its header block is complete: the status code and the byte offset just
71
+ * past the blank line. `undefined` while incomplete. A first line that is not `HTTP/`, or a header
72
+ * block past 64 KiB, is `statusCode: 0` — the caller treats it as a reset.
73
+ */
74
+ export function parseConnectResponse(buffered) {
75
+ const end = buffered.indexOf(HEADER_TERMINATOR);
76
+ if (end === -1) {
77
+ if (buffered.length > MAX_CONNECT_RESPONSE_BYTES) {
78
+ return { statusCode: 0, headerEnd: buffered.length };
79
+ }
80
+ return undefined;
81
+ }
82
+ const headerEnd = end + HEADER_TERMINATOR.length;
83
+ const firstLine = buffered.subarray(0, buffered.indexOf('\r\n')).toString('latin1');
84
+ const match = /^HTTP\/1\.[01] (\d{3})(?: |$)/.exec(firstLine);
85
+ return { statusCode: match ? Number(match[1]) : 0, headerEnd };
86
+ }
87
+ function abortError() {
88
+ return Object.assign(new Error('proxy CONNECT aborted'), { code: 'ECONNABORTED' });
89
+ }
90
+ function resetError(message) {
91
+ return Object.assign(new Error(message), { code: 'ECONNRESET' });
92
+ }
93
+ class TunnelAgent extends https.Agent {
94
+ proxy;
95
+ signal;
96
+ request;
97
+ constructor(proxy, signal) {
98
+ super({ keepAlive: false, maxSockets: Infinity });
99
+ this.proxy = proxy;
100
+ this.signal = signal;
101
+ }
102
+ /** Stash the request: a non-200 answer is replayed onto it, and `createConnection` never sees it. */
103
+ addRequest(req, ...rest) {
104
+ this.request = req;
105
+ https.Agent.prototype.addRequest.call(this, req, ...rest);
106
+ }
107
+ createConnection(options, callback) {
108
+ // Node's callback reads the stream only when `err` is null.
109
+ const settle = (err, stream) => {
110
+ callback?.(err, stream);
111
+ };
112
+ const { proxy, signal } = this;
113
+ const req = this.request;
114
+ const originHost = options.host ?? 'localhost';
115
+ const originPort = Number(options.port ?? 443);
116
+ if (signal.aborted) {
117
+ settle(abortError());
118
+ return undefined;
119
+ }
120
+ // URL.hostname keeps IPv6 brackets (G109); a socket dial needs the bare address.
121
+ const proxyHost = proxy.hostname.replace(/^\[|\]$/g, '');
122
+ const proxyPort = Number(proxy.port || (proxy.protocol === 'https:' ? 443 : 80));
123
+ const secureProxy = proxy.protocol === 'https:';
124
+ const socket = secureProxy
125
+ ? tls.connect({
126
+ host: proxyHost,
127
+ port: proxyPort,
128
+ servername: net.isIP(proxyHost) ? undefined : proxyHost
129
+ })
130
+ : net.connect({ host: proxyHost, port: proxyPort });
131
+ let done = false;
132
+ let buffered = Buffer.alloc(0);
133
+ const detach = () => {
134
+ signal.removeEventListener('abort', onAbort);
135
+ socket.removeListener('readable', onReadable);
136
+ socket.removeListener('error', onError);
137
+ socket.removeListener('close', onClose);
138
+ socket.removeListener('end', onClose);
139
+ socket.removeListener(secureProxy ? 'secureConnect' : 'connect', onConnect);
140
+ };
141
+ const fail = (err) => {
142
+ if (done)
143
+ return;
144
+ done = true;
145
+ detach();
146
+ // A late error from the destroyed socket must not become an uncaught exception.
147
+ socket.on('error', () => undefined);
148
+ socket.destroy();
149
+ settle(err);
150
+ };
151
+ // Attached in the same synchronous run as the dial (G20): an abort during connect setup lands.
152
+ function onAbort() {
153
+ fail(abortError());
154
+ }
155
+ // Node's dial error names the proxy host and port: keep its code (G138), never its message.
156
+ function onError(err) {
157
+ fail(Object.assign(new Error('proxy connection failed'), { code: err.code }));
158
+ }
159
+ function onClose() {
160
+ fail(resetError('proxy closed before answering CONNECT'));
161
+ }
162
+ function onConnect() {
163
+ socket.write(buildConnectRequest(originHost, originPort, proxy));
164
+ }
165
+ function onReadable() {
166
+ let chunk;
167
+ while ((chunk = socket.read()) !== null) {
168
+ buffered = Buffer.concat([buffered, chunk]);
169
+ }
170
+ const answer = parseConnectResponse(buffered);
171
+ if (answer === undefined || done) {
172
+ return;
173
+ }
174
+ if (answer.statusCode === 0) {
175
+ fail(resetError('proxy sent an unreadable CONNECT answer'));
176
+ return;
177
+ }
178
+ done = true;
179
+ detach();
180
+ if (answer.statusCode === 200) {
181
+ // The request owns the socket from here, and axios's own abort path destroys it.
182
+ const rest = buffered.subarray(answer.headerEnd);
183
+ if (rest.length > 0) {
184
+ socket.unshift(rest);
185
+ }
186
+ // Every caller TLS option rides through; the origin's address is the tunnel, not a dial.
187
+ const tlsOptions = { ...options };
188
+ for (const key of ['host', 'hostname', 'path', 'port']) {
189
+ delete tlsOptions[key];
190
+ }
191
+ // Truthy fallback, as hpa 5 (`agent.js:124`): Node sets servername '' for an IP origin,
192
+ // and an empty name would let TLS identity fall through to the proxy's host.
193
+ const servername = options.servername || originHost;
194
+ settle(null, tls.connect({ ...tlsOptions, socket, servername }));
195
+ return;
196
+ }
197
+ // Any other answer: destroy the proxy socket before a request byte is written, then replay
198
+ // the proxy's own response to the request so its status reaches axios.
199
+ socket.on('error', () => undefined);
200
+ socket.destroy();
201
+ if (req === undefined) {
202
+ settle(resetError('proxy refused CONNECT'));
203
+ return;
204
+ }
205
+ const response = buffered;
206
+ const fake = new net.Socket({ writable: false });
207
+ fake.readable = true;
208
+ req.once('socket', (s) => {
209
+ s.push(response);
210
+ s.push(null);
211
+ });
212
+ settle(null, fake);
213
+ }
214
+ signal.addEventListener('abort', onAbort, { once: true });
215
+ socket.on('error', onError);
216
+ socket.on('close', onClose);
217
+ socket.on('end', onClose);
218
+ socket.on(secureProxy ? 'secureConnect' : 'connect', onConnect);
219
+ socket.on('readable', onReadable);
220
+ return undefined;
221
+ }
222
+ }
223
+ /**
224
+ * An agent for one request that tunnels through `proxy`, and destroys its pending proxy socket
225
+ * when `signal` aborts.
226
+ */
227
+ export function createTunnelAgent(proxy, signal) {
228
+ return new TunnelAgent(proxy, signal);
229
+ }
230
+ //# sourceMappingURL=proxyTunnel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyTunnel.js","sourceRoot":"","sources":["../../src/utils/proxyTunnel.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.35.2",
3
+ "version": "1.35.4",
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",
@@ -83,6 +83,7 @@
83
83
  "jose": "^6.1.3",
84
84
  "luxon": "^3.7.2",
85
85
  "pngjs": "^7.0.0",
86
+ "proxy-from-env": "^2.1.0",
86
87
  "tz-lookup": "6.1.25"
87
88
  },
88
89
  "optionalDependencies": {
@@ -98,6 +99,7 @@
98
99
  "@types/ngeohash": "^0.6.8",
99
100
  "@types/node": "^26.6.5",
100
101
  "@types/pngjs": "^6.0.5",
102
+ "@types/proxy-from-env": "^1.0.4",
101
103
  "@types/tz-lookup": "^6.1.2",
102
104
  "@typescript/native": "npm:typescript@^7.0.2",
103
105
  "@vitest/coverage-v8": "^5.0.3",