@cyanheads/noaa-spaceweather-mcp-server 0.2.0 → 0.3.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 (45) hide show
  1. package/AGENTS.md +4 -3
  2. package/CLAUDE.md +4 -3
  3. package/README.md +12 -7
  4. package/changelog/0.2.x/0.2.0.md +2 -2
  5. package/changelog/0.2.x/0.2.1.md +23 -0
  6. package/changelog/0.3.x/0.3.0.md +18 -0
  7. package/changelog/template.md +7 -7
  8. package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts +3 -1
  9. package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/get-alerts.tool.js +3 -1
  11. package/dist/mcp-server/tools/definitions/get-alerts.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts +13 -2
  13. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js +160 -40
  15. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts +20 -1
  17. package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/get-conditions.tool.js +57 -8
  19. package/dist/mcp-server/tools/definitions/get-conditions.tool.js.map +1 -1
  20. package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts +3 -1
  21. package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/definitions/get-kp-index.tool.js +3 -1
  23. package/dist/mcp-server/tools/definitions/get-kp-index.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts +8 -1
  25. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js +45 -11
  27. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts +9 -1
  29. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js +102 -30
  31. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/definitions/index.d.ts +56 -7
  33. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  34. package/dist/services/space-weather/solar-position.d.ts +29 -0
  35. package/dist/services/space-weather/solar-position.d.ts.map +1 -0
  36. package/dist/services/space-weather/solar-position.js +76 -0
  37. package/dist/services/space-weather/solar-position.js.map +1 -0
  38. package/dist/services/space-weather/space-weather-service.d.ts +1 -1
  39. package/dist/services/space-weather/space-weather-service.d.ts.map +1 -1
  40. package/dist/services/space-weather/space-weather-service.js +39 -8
  41. package/dist/services/space-weather/space-weather-service.js.map +1 -1
  42. package/dist/services/space-weather/types.d.ts +30 -4
  43. package/dist/services/space-weather/types.d.ts.map +1 -1
  44. package/package.json +5 -5
  45. package/server.json +3 -3
@@ -9,6 +9,24 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
9
9
  currentKp: import("zod").ZodNumber;
10
10
  currentGScale: import("zod").ZodNumber;
11
11
  auroraLatitude: import("zod").ZodString;
12
+ yesterday: import("zod").ZodNullable<import("zod").ZodObject<{
13
+ date: import("zod").ZodString;
14
+ G: import("zod").ZodObject<{
15
+ scale: import("zod").ZodNumber;
16
+ text: import("zod").ZodString;
17
+ label: import("zod").ZodString;
18
+ }, import("zod/v4/core").$strip>;
19
+ R: import("zod").ZodObject<{
20
+ scale: import("zod").ZodNumber;
21
+ text: import("zod").ZodString;
22
+ label: import("zod").ZodString;
23
+ }, import("zod/v4/core").$strip>;
24
+ S: import("zod").ZodObject<{
25
+ scale: import("zod").ZodNumber;
26
+ text: import("zod").ZodString;
27
+ label: import("zod").ZodString;
28
+ }, import("zod/v4/core").$strip>;
29
+ }, import("zod/v4/core").$strip>>;
12
30
  today: import("zod").ZodObject<{
13
31
  G: import("zod").ZodObject<{
14
32
  scale: import("zod").ZodNumber;
@@ -59,8 +77,9 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
59
77
  }, import("zod/v4/core").$strip>, readonly [{
60
78
  readonly reason: "feed_unavailable";
61
79
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
62
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
80
+ readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried for up to 45 seconds in total before failing.";
63
81
  readonly retryable: true;
82
+ readonly thrownBy: "service";
64
83
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
65
84
  }, {
66
85
  readonly reason: "feed_moved";
@@ -98,14 +117,16 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
98
117
  }, import("zod/v4/core").$strip>, readonly [{
99
118
  readonly reason: "feed_unavailable";
100
119
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
101
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
120
+ readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried for up to 45 seconds in total before failing.";
102
121
  readonly retryable: true;
122
+ readonly thrownBy: "service";
103
123
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
104
124
  }, {
105
125
  readonly reason: "feed_moved";
106
126
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
107
127
  readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
108
128
  readonly retryable: false;
129
+ readonly thrownBy: "service";
109
130
  readonly recovery: "Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.";
110
131
  }], {
111
132
  readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
@@ -144,20 +165,23 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
144
165
  }, import("zod/v4/core").$strip>, readonly [{
145
166
  readonly reason: "feed_unavailable";
146
167
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
147
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
168
+ readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried for up to 45 seconds in total before failing.";
148
169
  readonly retryable: true;
170
+ readonly thrownBy: "service";
149
171
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
150
172
  }, {
151
173
  readonly reason: "feed_moved";
152
174
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
153
175
  readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
154
176
  readonly retryable: false;
177
+ readonly thrownBy: "service";
155
178
  readonly recovery: "Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.";
156
179
  }], undefined> | import("@cyanheads/mcp-ts-core").ToolDefinition<import("zod").ZodObject<{
157
180
  window_hours: import("zod").ZodDefault<import("zod").ZodNumber>;
158
181
  resolution: import("zod").ZodDefault<import("zod").ZodEnum<{
159
182
  full: "full";
160
183
  reduced: "reduced";
184
+ summary: "summary";
161
185
  }>>;
162
186
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
163
187
  plasma: import("zod").ZodArray<import("zod").ZodObject<{
@@ -195,20 +219,27 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
195
219
  magCount: import("zod").ZodNumber;
196
220
  bzMinInWindow: import("zod").ZodNullable<import("zod").ZodNumber>;
197
221
  bzMinTimeTag: import("zod").ZodNullable<import("zod").ZodString>;
222
+ bzSouthMinutesInWindow: import("zod").ZodNumber;
223
+ speedMaxInWindow: import("zod").ZodNullable<import("zod").ZodNumber>;
224
+ speedMaxTimeTag: import("zod").ZodNullable<import("zod").ZodString>;
225
+ densityMaxInWindow: import("zod").ZodNullable<import("zod").ZodNumber>;
226
+ btMaxInWindow: import("zod").ZodNullable<import("zod").ZodNumber>;
198
227
  latestFeedPlasmaTime: import("zod").ZodNullable<import("zod").ZodString>;
199
228
  latestFeedMagTime: import("zod").ZodNullable<import("zod").ZodString>;
200
229
  feedStalenessHours: import("zod").ZodNullable<import("zod").ZodNumber>;
201
230
  }, import("zod/v4/core").$strip>, readonly [{
202
231
  readonly reason: "feed_unavailable";
203
232
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
204
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
233
+ readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried for up to 45 seconds in total before failing.";
205
234
  readonly retryable: true;
235
+ readonly thrownBy: "service";
206
236
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
207
237
  }, {
208
238
  readonly reason: "feed_moved";
209
239
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
210
240
  readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
211
241
  readonly retryable: false;
242
+ readonly thrownBy: "service";
212
243
  readonly recovery: "Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.";
213
244
  }], {
214
245
  readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
@@ -279,6 +310,11 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
279
310
  spotClass: import("zod").ZodString;
280
311
  numberSpots: import("zod").ZodNumber;
281
312
  magClass: import("zod").ZodString;
313
+ areaMillionths: import("zod").ZodNullable<import("zod").ZodNumber>;
314
+ firstObserved: import("zod").ZodString;
315
+ cFlareCount: import("zod").ZodNumber;
316
+ mFlareCount: import("zod").ZodNumber;
317
+ xFlareCount: import("zod").ZodNumber;
282
318
  cFlareProbability: import("zod").ZodNumber;
283
319
  mFlareProbability: import("zod").ZodNumber;
284
320
  xFlareProbability: import("zod").ZodNumber;
@@ -289,14 +325,16 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
289
325
  }, import("zod/v4/core").$strip>, readonly [{
290
326
  readonly reason: "feed_unavailable";
291
327
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
292
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
328
+ readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried for up to 45 seconds in total before failing.";
293
329
  readonly retryable: true;
330
+ readonly thrownBy: "service";
294
331
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
295
332
  }, {
296
333
  readonly reason: "feed_moved";
297
334
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
298
335
  readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
299
336
  readonly retryable: false;
337
+ readonly thrownBy: "service";
300
338
  readonly recovery: "Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.";
301
339
  }], {
302
340
  readonly notice: import("zod").ZodOptional<import("zod").ZodString>;
@@ -315,6 +353,16 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
315
353
  auroraPercent: import("zod").ZodNumber;
316
354
  minKpRequired: import("zod").ZodNumber;
317
355
  minGScale: import("zod").ZodNullable<import("zod").ZodNumber>;
356
+ sunElevationDeg: import("zod").ZodNumber;
357
+ darkness: import("zod").ZodEnum<{
358
+ civil_twilight: "civil_twilight";
359
+ dark: "dark";
360
+ day: "day";
361
+ nautical_twilight: "nautical_twilight";
362
+ }>;
363
+ horizonMaxPercent: import("zod").ZodNullable<import("zod").ZodNumber>;
364
+ horizonMaxLatitude: import("zod").ZodNullable<import("zod").ZodNumber>;
365
+ horizonDistanceKm: import("zod").ZodNullable<import("zod").ZodNumber>;
318
366
  verdict: import("zod").ZodString;
319
367
  }, import("zod/v4/core").$strip>>;
320
368
  gridPointCount: import("zod").ZodNumber;
@@ -323,13 +371,14 @@ export declare const allToolDefinitions: (import("@cyanheads/mcp-ts-core").ToolD
323
371
  }, import("zod/v4/core").$strip>, readonly [{
324
372
  readonly reason: "feed_unavailable";
325
373
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
326
- readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
374
+ readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried for up to 45 seconds in total before failing.";
327
375
  readonly retryable: true;
376
+ readonly thrownBy: "service";
328
377
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
329
378
  }, {
330
379
  readonly reason: "feed_moved";
331
380
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
332
- readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.";
381
+ readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or a coordinate lookup finds no parseable Forecast Time in the feed. Fails in one attempt.";
333
382
  readonly retryable: false;
334
383
  readonly recovery: "Retrying will not help — the SWPC feed path no longer resolves or no longer has the expected shape; the feed URL needs updating against SWPC current inventory.";
335
384
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO9B,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @fileoverview Solar position: geometric solar elevation for a UTC instant and a
3
+ * geographic coordinate, and the sky-darkness state that elevation implies. Pure and
4
+ * dependency-free; used to gate aurora visibility on whether the sun is up.
5
+ * @module services/space-weather/solar-position
6
+ */
7
+ /**
8
+ * Geometric solar elevation in degrees (−90 to 90) at `at`, for a geographic
9
+ * (WGS84) latitude and longitude. No atmospheric refraction is applied, so the value
10
+ * is the sun's true angle above the horizon, not its apparent one.
11
+ *
12
+ * The NOAA Global Monitoring Laboratory solar-position algorithm (after Meeus,
13
+ * *Astronomical Algorithms*): mean orbital elements in Julian centuries from J2000,
14
+ * the equation of center, nutation- and aberration-corrected apparent longitude, and
15
+ * the equation of time for the hour angle. Accurate to well under 0.1° across
16
+ * 1901–2099, which is ample for a threshold at 0°, −6°, and −12°. UTC is used for TT;
17
+ * the ~70 s difference moves the sun by about 0.3′.
18
+ */
19
+ export declare function solarElevationDeg(at: Date, latitude: number, longitude: number): number;
20
+ /** Sky-darkness states, brightest first. */
21
+ export declare const DARKNESS_STATES: readonly ['day', 'civil_twilight', 'nautical_twilight', 'dark'];
22
+ export type Darkness = (typeof DARKNESS_STATES)[number];
23
+ /**
24
+ * The darkness state for a solar elevation in degrees: `day` at 0° and above,
25
+ * `civil_twilight` from −6° up to 0°, `nautical_twilight` from −12° up to −6°, and
26
+ * `dark` below −12°. Each boundary value belongs to the brighter state.
27
+ */
28
+ export declare function darknessFor(elevationDeg: number): Darkness;
29
+ //# sourceMappingURL=solar-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solar-position.d.ts","sourceRoot":"","sources":["../../../src/services/space-weather/solar-position.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA+CvF;AAED,4CAA4C;AAC5C,eAAO,MAAM,eAAe,YAAI,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,CAAU,CAAC;AAE/F,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAK1D"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @fileoverview Solar position: geometric solar elevation for a UTC instant and a
3
+ * geographic coordinate, and the sky-darkness state that elevation implies. Pure and
4
+ * dependency-free; used to gate aurora visibility on whether the sun is up.
5
+ * @module services/space-weather/solar-position
6
+ */
7
+ const DEG_TO_RAD = Math.PI / 180;
8
+ const MS_PER_DAY = 86_400_000;
9
+ const MINUTES_PER_DAY = 1440;
10
+ /** Julian Date of the Unix epoch, 1970-01-01T00:00Z. */
11
+ const UNIX_EPOCH_JD = 2_440_587.5;
12
+ /** Julian Date of the J2000.0 epoch, 2000-01-01T12:00 TT. */
13
+ const J2000_JD = 2_451_545;
14
+ /**
15
+ * Geometric solar elevation in degrees (−90 to 90) at `at`, for a geographic
16
+ * (WGS84) latitude and longitude. No atmospheric refraction is applied, so the value
17
+ * is the sun's true angle above the horizon, not its apparent one.
18
+ *
19
+ * The NOAA Global Monitoring Laboratory solar-position algorithm (after Meeus,
20
+ * *Astronomical Algorithms*): mean orbital elements in Julian centuries from J2000,
21
+ * the equation of center, nutation- and aberration-corrected apparent longitude, and
22
+ * the equation of time for the hour angle. Accurate to well under 0.1° across
23
+ * 1901–2099, which is ample for a threshold at 0°, −6°, and −12°. UTC is used for TT;
24
+ * the ~70 s difference moves the sun by about 0.3′.
25
+ */
26
+ export function solarElevationDeg(at, latitude, longitude) {
27
+ const ms = at.getTime();
28
+ const julianCenturies = (ms / MS_PER_DAY + UNIX_EPOCH_JD - J2000_JD) / 36_525;
29
+ const t = julianCenturies;
30
+ const meanLongitude = (280.46646 + t * (36_000.76983 + t * 0.0003032)) % 360;
31
+ const meanAnomaly = (357.52911 + t * (35_999.05029 - 0.0001537 * t)) * DEG_TO_RAD;
32
+ const eccentricity = 0.016708634 - t * (0.000042037 + 0.0000001267 * t);
33
+ const equationOfCenter = Math.sin(meanAnomaly) * (1.914602 - t * (0.004817 + 0.000014 * t)) +
34
+ Math.sin(2 * meanAnomaly) * (0.019993 - 0.000101 * t) +
35
+ Math.sin(3 * meanAnomaly) * 0.000289;
36
+ const ascendingNode = (125.04 - 1934.136 * t) * DEG_TO_RAD;
37
+ const apparentLongitude = (meanLongitude + equationOfCenter - 0.00569 - 0.00478 * Math.sin(ascendingNode)) * DEG_TO_RAD;
38
+ const meanObliquity = 23 + (26 + (21.448 - t * (46.815 + t * (0.00059 - t * 0.001813))) / 60) / 60;
39
+ const obliquity = (meanObliquity + 0.00256 * Math.cos(ascendingNode)) * DEG_TO_RAD;
40
+ const declination = Math.asin(Math.sin(obliquity) * Math.sin(apparentLongitude));
41
+ const y = Math.tan(obliquity / 2) ** 2;
42
+ const l0 = meanLongitude * DEG_TO_RAD;
43
+ const equationOfTimeMinutes = (4 / DEG_TO_RAD) *
44
+ (y * Math.sin(2 * l0) -
45
+ 2 * eccentricity * Math.sin(meanAnomaly) +
46
+ 4 * eccentricity * y * Math.sin(meanAnomaly) * Math.cos(2 * l0) -
47
+ 0.5 * y * y * Math.sin(4 * l0) -
48
+ 1.25 * eccentricity * eccentricity * Math.sin(2 * meanAnomaly));
49
+ const utcMinutes = (((ms % MS_PER_DAY) + MS_PER_DAY) % MS_PER_DAY) / 60_000;
50
+ const trueSolarMinutes = (((utcMinutes + equationOfTimeMinutes + 4 * longitude) % MINUTES_PER_DAY) + MINUTES_PER_DAY) %
51
+ MINUTES_PER_DAY;
52
+ const hourAngle = (trueSolarMinutes / 4 - 180) * DEG_TO_RAD;
53
+ const lat = latitude * DEG_TO_RAD;
54
+ const cosZenith = Math.sin(lat) * Math.sin(declination) +
55
+ Math.cos(lat) * Math.cos(declination) * Math.cos(hourAngle);
56
+ // Clamp against float drift past ±1, where acos is undefined.
57
+ const zenith = Math.acos(Math.min(1, Math.max(-1, cosZenith)));
58
+ return 90 - zenith / DEG_TO_RAD;
59
+ }
60
+ /** Sky-darkness states, brightest first. */
61
+ export const DARKNESS_STATES = ['day', 'civil_twilight', 'nautical_twilight', 'dark'];
62
+ /**
63
+ * The darkness state for a solar elevation in degrees: `day` at 0° and above,
64
+ * `civil_twilight` from −6° up to 0°, `nautical_twilight` from −12° up to −6°, and
65
+ * `dark` below −12°. Each boundary value belongs to the brighter state.
66
+ */
67
+ export function darknessFor(elevationDeg) {
68
+ if (elevationDeg >= 0)
69
+ return 'day';
70
+ if (elevationDeg >= -6)
71
+ return 'civil_twilight';
72
+ if (elevationDeg >= -12)
73
+ return 'nautical_twilight';
74
+ return 'dark';
75
+ }
76
+ //# sourceMappingURL=solar-position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solar-position.js","sourceRoot":"","sources":["../../../src/services/space-weather/solar-position.ts"],"names":[],"mappings":"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"}
@@ -60,7 +60,7 @@ export declare class SpaceWeatherService {
60
60
  */
61
61
  private readonly userAgent;
62
62
  constructor(config: AppConfig, _storage: StorageService);
63
- /** Fetch current NOAA storm scales (today + 3-day forecast). */
63
+ /** Fetch NOAA storm scales: yesterday's assessed levels, today, and the 3-day forecast. */
64
64
  getNoaaScales(ctx: Context): Promise<NoaaScalesData>;
65
65
  /**
66
66
  * Fetch the SWPC Forecast Discussion — the forecaster-written narrative explaining
@@ -1 +1 @@
1
- {"version":3,"file":"space-weather-service.d.ts","sourceRoot":"","sources":["../../../src/services/space-weather/space-weather-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space-weather-service.d.ts","sourceRoot":"","sources":["../../../src/services/space-weather/space-weather-service.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,16 @@ import { fetchWithTimeout, withRetry } from '@cyanheads/mcp-ts-core/utils';
10
10
  // ── Constants ──────────────────────────────────────────────────────────────
11
11
  const BASE_URL = 'https://services.swpc.noaa.gov';
12
12
  const FETCH_TIMEOUT_MS = 15_000;
13
+ /**
14
+ * One wall-clock budget for a feed's whole retry ladder — every attempt, backoff, and
15
+ * honored `Retry-After`. Four {@link FETCH_TIMEOUT_MS} attempts plus backoff run ~67 s
16
+ * against an upstream that accepts the connection and never answers, past a client's
17
+ * 60 s request timeout, so the caller saw a transport timeout instead of the classified
18
+ * `feed_unavailable`. 45 s leaves 15 s for the error to cross the transport, and still
19
+ * fits three hung attempts or the full four-attempt ladder of a fast failure (~7 s).
20
+ * Feeds a tool composes run their ladders in parallel, so the budget bounds the call.
21
+ */
22
+ const RETRY_DEADLINE_MS = 45_000;
13
23
  /**
14
24
  * Build the SWPC User-Agent from the running server version so it tracks
15
25
  * package.json instead of a hardcoded release that silently drifts on each bump.
@@ -150,7 +160,9 @@ const RETRIED_CODES = new Set([
150
160
  * status range alone is what keeps `feed_moved` synonymous with "failed on the first
151
161
  * attempt": a 408 or 425 is a 4xx the framework classifies as `Timeout` and retries, so
152
162
  * it belongs with the transient set. Everything else — 5xx, 429, network error, client
153
- * deadline, unparseable or HTML body — clears on its own and stays retryable.
163
+ * deadline, the ladder's {@link RETRY_DEADLINE_MS} expiring (a `Timeout` carrying
164
+ * `retry_deadline_exceeded` and no status), unparseable or HTML body — clears on its own
165
+ * and stays retryable.
154
166
  */
155
167
  function feedFailureReason(error) {
156
168
  if (error instanceof McpError) {
@@ -176,15 +188,21 @@ const HTML_BODY_RE = /^\s*<(!DOCTYPE\s+html|html[\s>])/i;
176
188
  * the code inside the retry closure would turn a permanent 404 into four attempts and
177
189
  * seven seconds spent on a feed SWPC no longer serves. Out here the retry decision has
178
190
  * already been made from the upstream code, so attempt counts are untouched.
191
+ *
192
+ * The ladder runs under {@link RETRY_DEADLINE_MS}. `run` receives the attempt's signal —
193
+ * the deadline composed with `ctx.signal` — and must thread it into the request, or an
194
+ * expiry landing mid-attempt waits out that request's own timeout first. A caller abort
195
+ * still outranks the deadline and passes through unclassified.
179
196
  */
180
197
  function withFeedClassification(path, ctx, run) {
181
198
  // Cast ctx to RequestContext for framework utils — Context is structurally
182
199
  // compatible but lacks the index signature the type expects.
183
200
  const reqCtx = ctx;
184
- return withRetry(() => run(reqCtx), {
201
+ return withRetry((attempt) => run(reqCtx, attempt.signal), {
185
202
  operation: `fetchFeed:${path}`,
186
203
  context: reqCtx,
187
204
  baseDelayMs: 1000,
205
+ deadlineMs: RETRY_DEADLINE_MS,
188
206
  signal: ctx.signal,
189
207
  }).catch((error) => {
190
208
  // The caller withdrew the request; nothing about the feed failed.
@@ -196,7 +214,11 @@ function withFeedClassification(path, ctx, run) {
196
214
  throw feedFailure(reason, error instanceof Error ? error.message : `SWPC feed request failed for ${path}.`, path, ctx, error instanceof McpError ? error.data : undefined, error);
197
215
  });
198
216
  }
199
- /** One request for `path`, returning the body as text. */
217
+ /**
218
+ * One request for `path`, returning the body as text. `signal` is the retry attempt's —
219
+ * the ladder's deadline composed with the caller's abort — so either one cancels the
220
+ * request in flight, body read included.
221
+ */
200
222
  async function requestBody(path, reqCtx, signal, userAgent) {
201
223
  const response = await fetchWithTimeout(`${BASE_URL}${path}`, FETCH_TIMEOUT_MS, reqCtx, {
202
224
  signal,
@@ -206,8 +228,8 @@ async function requestBody(path, reqCtx, signal, userAgent) {
206
228
  }
207
229
  /** Fetch and parse a JSON feed, through the shared retry-plus-classify funnel. */
208
230
  function fetchFeed(path, ctx, userAgent) {
209
- return withFeedClassification(path, ctx, async (reqCtx) => {
210
- const text = await requestBody(path, reqCtx, ctx.signal, userAgent);
231
+ return withFeedClassification(path, ctx, async (reqCtx, signal) => {
232
+ const text = await requestBody(path, reqCtx, signal, userAgent);
211
233
  if (HTML_BODY_RE.test(text)) {
212
234
  throw serviceUnavailable(`SWPC feed returned HTML instead of JSON — likely rate-limited or unavailable.`, { path });
213
235
  }
@@ -241,8 +263,8 @@ function fetchFeed(path, ctx, userAgent) {
241
263
  * retry can fix.
242
264
  */
243
265
  function fetchText(path, ctx, userAgent) {
244
- return withFeedClassification(path, ctx, async (reqCtx) => {
245
- const text = await requestBody(path, reqCtx, ctx.signal, userAgent);
266
+ return withFeedClassification(path, ctx, async (reqCtx, signal) => {
267
+ const text = await requestBody(path, reqCtx, signal, userAgent);
246
268
  if (HTML_BODY_RE.test(text)) {
247
269
  throw serviceUnavailable(`SWPC product returned HTML instead of text — likely rate-limited or unavailable.`, { path });
248
270
  }
@@ -639,7 +661,7 @@ export class SpaceWeatherService {
639
661
  this.userAgent = buildUserAgent(config.mcpServerVersion);
640
662
  }
641
663
  // ── NOAA Scales ────────────────────────────────────────────────────────
642
- /** Fetch current NOAA storm scales (today + 3-day forecast). */
664
+ /** Fetch NOAA storm scales: yesterday's assessed levels, today, and the 3-day forecast. */
643
665
  async getNoaaScales(ctx) {
644
666
  const path = '/products/noaa-scales.json';
645
667
  const raw = await fetchFeed(path, ctx, this.userAgent);
@@ -683,7 +705,11 @@ export class SpaceWeatherService {
683
705
  throw feedFailure('feed_moved', 'SWPC scales feed missing key "0" (today).', path, ctx, {
684
706
  available: Object.keys(raw),
685
707
  });
708
+ // Key "-1" is optional: the feed's key set is not guaranteed, and a missing previous
709
+ // day takes nothing away from today or the forecast.
710
+ const yesterday = raw['-1'];
686
711
  return {
712
+ yesterday: yesterday ? normalizePeriod(yesterday) : null,
687
713
  today: normalizePeriod(today),
688
714
  forecast: ['1', '2', '3']
689
715
  .map((k) => raw[k])
@@ -888,6 +914,11 @@ export class SpaceWeatherService {
888
914
  spotClass: r.spot_class ?? '',
889
915
  numberSpots: r.number_spots ?? 0,
890
916
  magClass: r.mag_class ?? '',
917
+ areaMillionths: r.area,
918
+ cFlareCount: r.c_xray_events,
919
+ mFlareCount: r.m_xray_events,
920
+ xFlareCount: r.x_xray_events,
921
+ firstObserved: normalizeSwpcTime(r.first_date),
891
922
  cFlareProbability: parseNum(r.c_flare_probability) ?? 0,
892
923
  mFlareProbability: parseNum(r.m_flare_probability) ?? 0,
893
924
  xFlareProbability: parseNum(r.x_flare_probability) ?? 0,
@@ -1 +1 @@
1
- {"version":3,"file":"space-weather-service.js","sourceRoot":"","sources":["../../../src/services/space-weather/space-weather-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space-weather-service.js","sourceRoot":"","sources":["../../../src/services/space-weather/space-weather-service.ts"],"names":[],"mappings":"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"}