@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.
- package/AGENTS.md +4 -3
- package/CLAUDE.md +4 -3
- package/README.md +12 -7
- package/changelog/0.2.x/0.2.0.md +2 -2
- package/changelog/0.2.x/0.2.1.md +23 -0
- package/changelog/0.3.x/0.3.0.md +18 -0
- package/changelog/template.md +7 -7
- package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts +3 -1
- package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-alerts.tool.js +3 -1
- package/dist/mcp-server/tools/definitions/get-alerts.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts +13 -2
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js +160 -40
- package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts +20 -1
- package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-conditions.tool.js +57 -8
- package/dist/mcp-server/tools/definitions/get-conditions.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts +3 -1
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.js +3 -1
- package/dist/mcp-server/tools/definitions/get-kp-index.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts +8 -1
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js +45 -11
- package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts +9 -1
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js +102 -30
- package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/index.d.ts +56 -7
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
- package/dist/services/space-weather/solar-position.d.ts +29 -0
- package/dist/services/space-weather/solar-position.d.ts.map +1 -0
- package/dist/services/space-weather/solar-position.js +76 -0
- package/dist/services/space-weather/solar-position.js.map +1 -0
- package/dist/services/space-weather/space-weather-service.d.ts +1 -1
- package/dist/services/space-weather/space-weather-service.d.ts.map +1 -1
- package/dist/services/space-weather/space-weather-service.js +39 -8
- package/dist/services/space-weather/space-weather-service.js.map +1 -1
- package/dist/services/space-weather/types.d.ts +30 -4
- package/dist/services/space-weather/types.d.ts.map +1 -1
- package/package.json +5 -5
- 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
|
|
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
|
|
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":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EAEd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACT,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"space-weather-service.d.ts","sourceRoot":"","sources":["../../../src/services/space-weather/space-weather-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EAEd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACT,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQ7C;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAO7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,mBAAmB,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAG/F;AA+xBD,8EAA8E;AAC9E,qBAAa,mBAAmB;IAC9B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAInC,YAAY,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAEtD;IAID,2FAA2F;IACrF,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CA2DzD;IAID;;;OAGG;IACG,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkBrE;IAID,uCAAuC;IACjC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAkB1D;IAED,+BAA+B;IACzB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvD;IAID,qDAAqD;IAC/C,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsBjE;IAID;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAYjE;IAED;;;;OAIG;IACG,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAa3D;IAID;;;;;;;OAOG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAcnD;IAED;;;;;;;OAOG;IACG,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAkBtD;IAED;;;;;;;;;OASG;IACG,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAe3D;IAED,mEAAmE;IAC7D,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAqC1D;IAED,4FAA4F;IACtF,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA0CvE;IAED,gEAAgE;IAC1D,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAcvD;IAID,gDAAgD;IAC1C,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAiD1D;CACF;AAMD,0EAA0E;AAC1E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAExF;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,IAAI,mBAAmB,CAM5D"}
|
|
@@ -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,
|
|
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
|
-
/**
|
|
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,
|
|
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,
|
|
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
|
|
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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"}
|