@cyanheads/noaa-spaceweather-mcp-server 0.1.13 → 0.2.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 (39) hide show
  1. package/AGENTS.md +6 -4
  2. package/CLAUDE.md +6 -4
  3. package/README.md +26 -17
  4. package/changelog/0.1.x/0.1.14.md +32 -0
  5. package/changelog/0.2.x/0.2.0.md +21 -0
  6. package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts +19 -1
  7. package/dist/mcp-server/tools/definitions/get-alerts.tool.d.ts.map +1 -1
  8. package/dist/mcp-server/tools/definitions/get-alerts.tool.js +281 -41
  9. package/dist/mcp-server/tools/definitions/get-alerts.tool.js.map +1 -1
  10. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts +9 -1
  11. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js +91 -52
  13. package/dist/mcp-server/tools/definitions/get-aurora-forecast.tool.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts +27 -8
  15. package/dist/mcp-server/tools/definitions/get-conditions.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/get-conditions.tool.js +234 -38
  17. package/dist/mcp-server/tools/definitions/get-conditions.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts +7 -1
  19. package/dist/mcp-server/tools/definitions/get-kp-index.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/get-kp-index.tool.js +21 -6
  21. package/dist/mcp-server/tools/definitions/get-kp-index.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts +32 -2
  23. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js +243 -39
  25. package/dist/mcp-server/tools/definitions/get-solar-activity.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts +17 -1
  27. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js +150 -21
  29. package/dist/mcp-server/tools/definitions/get-solar-wind.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/index.d.ts +111 -14
  31. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -1
  32. package/dist/services/space-weather/space-weather-service.d.ts +76 -3
  33. package/dist/services/space-weather/space-weather-service.d.ts.map +1 -1
  34. package/dist/services/space-weather/space-weather-service.js +539 -82
  35. package/dist/services/space-weather/space-weather-service.js.map +1 -1
  36. package/dist/services/space-weather/types.d.ts +177 -21
  37. package/dist/services/space-weather/types.d.ts.map +1 -1
  38. package/package.json +3 -3
  39. package/server.json +3 -3
@@ -4,34 +4,44 @@
4
4
  */
5
5
  import { tool, z } from '@cyanheads/mcp-ts-core';
6
6
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
- import { getSpaceWeatherService } from '../../../services/space-weather/space-weather-service.js';
8
- /** Minimum Kp thresholds by geomagnetic latitude band for aurora visibility. */
9
- function minKpForLatitude(geomLat) {
10
- if (geomLat >= 65)
11
- return 0;
12
- if (geomLat >= 60)
13
- return 2;
14
- if (geomLat >= 55)
15
- return 4;
16
- if (geomLat >= 50)
17
- return 5;
18
- if (geomLat >= 45)
19
- return 6;
20
- if (geomLat >= 40)
21
- return 7;
22
- return 9;
7
+ import { auroraBandForGeomagneticLatitude, getSpaceWeatherService, } from '../../../services/space-weather/space-weather-service.js';
8
+ /**
9
+ * North geomagnetic pole for IGRF-14 epoch 2025.0, derived from the model's
10
+ * degree-1 Gauss coefficients (g₁⁰ = −29350.0, g₁¹ = −1410.3, h₁¹ = 4545.5). The
11
+ * pole drifts slowly enough that one epoch is ample for 5°-wide bands.
12
+ */
13
+ const GEOMAGNETIC_POLE_LATITUDE = 80.789;
14
+ const GEOMAGNETIC_POLE_LONGITUDE = -72.763;
15
+ const DEG_TO_RAD = Math.PI / 180;
16
+ /**
17
+ * Convert geographic (WGS84) coordinates to centered-dipole geomagnetic latitude.
18
+ *
19
+ * The dipole is tilted 9.21° from the rotation axis, so geographic and geomagnetic
20
+ * latitude differ by up to ±9.2° and the sign of the difference changes with
21
+ * longitude. Aurora bands are geomagnetic, so feeding them a geographic latitude
22
+ * mis-bands a location by as much as two bands in either direction.
23
+ */
24
+ function toGeomagneticLatitude(latitude, longitude) {
25
+ const lat = latitude * DEG_TO_RAD;
26
+ const poleLat = GEOMAGNETIC_POLE_LATITUDE * DEG_TO_RAD;
27
+ const deltaLon = (longitude - GEOMAGNETIC_POLE_LONGITUDE) * DEG_TO_RAD;
28
+ const sinGeomagnetic = Math.sin(lat) * Math.sin(poleLat) + Math.cos(lat) * Math.cos(poleLat) * Math.cos(deltaLon);
29
+ // Clamp against float drift past ±1 at the poles, where asin is undefined.
30
+ return Math.asin(Math.min(1, Math.max(-1, sinGeomagnetic))) / DEG_TO_RAD;
31
+ }
32
+ /** Signed angular separation between two longitudes, in degrees: [−180, 180). */
33
+ function longitudeDelta(a, b) {
34
+ return ((((a - b + 180) % 360) + 360) % 360) - 180;
23
35
  }
24
36
  /** Find the nearest grid point (1° resolution) and return its aurora probability. */
25
37
  function lookupGridPoint(grid, lat, lon) {
26
- if (grid.length === 0)
27
- return null;
28
- // Normalize longitude to -180..179
29
- const normLon = ((((lon + 180) % 360) + 360) % 360) - 180;
30
38
  let best = null;
31
39
  let bestDist = Infinity;
32
40
  for (const pt of grid) {
33
41
  const dLat = pt.latitude - lat;
34
- const dLon = pt.longitude - normLon;
42
+ // The normalized grid runs −179..180 — a +180 column and no −180 one — so a
43
+ // request within ~1° of the antimeridian lands a cell off on a raw difference.
44
+ const dLon = longitudeDelta(pt.longitude, lon);
35
45
  const dist = dLat * dLat + dLon * dLon;
36
46
  if (dist < bestDist) {
37
47
  bestDist = dist;
@@ -42,13 +52,24 @@ function lookupGridPoint(grid, lat, lon) {
42
52
  ? { auroraPercent: best.auroraPercent, gridLat: best.latitude, gridLon: best.longitude }
43
53
  : null;
44
54
  }
55
+ /**
56
+ * Aurora probability at which a grid point below the 40° geomagnetic edge is read
57
+ * as real signal rather than model noise. #9 pinned an 8% artifact at (0, 0), and
58
+ * the live oval reads 10–17% where it is genuinely present, so the floor sits above
59
+ * the artifact and at the bottom of the real range.
60
+ */
61
+ const OVAL_OVERRIDE_PERCENT = 10;
62
+ /** Kp reported where no NOAA storm level reaches — the top of the scale. */
63
+ const UNREACHABLE_MIN_KP = 9;
45
64
  export const getAuroraForecast = tool('noaa_spaceweather_get_aurora_forecast', {
46
65
  title: 'Get Aurora Forecast',
47
66
  description: 'OVATION model aurora forecast for the next ~30–60 min: global grid of aurora probability ' +
48
67
  'percentages by latitude/longitude (1° resolution). With optional coordinates, returns the local ' +
49
- 'aurora probability at the nearest grid point, the minimum Kp needed for aurora at that latitude, ' +
50
- 'and a plain-language go/no-go verdict. Without coordinates, returns only global metadata. ' +
51
- 'Data updates every ~5 minutes. Coordinates are geographic (WGS84), not geomagnetic.',
68
+ 'aurora probability at the nearest grid point, the geomagnetic latitude those coordinates convert ' +
69
+ 'to, the minimum Kp and G level needed for aurora at that geomagnetic latitude, and a ' +
70
+ 'plain-language go/no-go verdict. Without coordinates, returns only global metadata. ' +
71
+ 'Data updates every ~5 minutes. Supply coordinates as geographic (WGS84); aurora bands are ' +
72
+ 'geomagnetic, and the tool converts between them.',
52
73
  annotations: { readOnlyHint: true, openWorldHint: true, idempotentHint: true },
53
74
  input: z.object({
54
75
  latitude: z
@@ -75,6 +96,9 @@ export const getAuroraForecast = tool('noaa_spaceweather_get_aurora_forecast', {
75
96
  requestedLongitude: z
76
97
  .number()
77
98
  .describe('Geographic longitude supplied in the request (degrees, −180 to 180).'),
99
+ geomagneticLatitude: z
100
+ .number()
101
+ .describe('Centered-dipole geomagnetic latitude the requested coordinates convert to (degrees, −90 to 90). Aurora bands are geomagnetic, so this — not the geographic latitude — is what minKpRequired and the verdict are derived from. It can differ from the geographic latitude by up to ±9.2° in either direction.'),
78
102
  gridLatitude: z.number().describe('Nearest OVATION grid latitude.'),
79
103
  gridLongitude: z.number().describe('Nearest OVATION grid longitude.'),
80
104
  auroraPercent: z
@@ -82,10 +106,14 @@ export const getAuroraForecast = tool('noaa_spaceweather_get_aurora_forecast', {
82
106
  .describe('Aurora probability at the nearest grid point (0–100%).'),
83
107
  minKpRequired: z
84
108
  .number()
85
- .describe('Minimum Kp threshold for aurora visibility at this latitude.'),
109
+ .describe('Minimum Kp for aurora at this geomagnetic latitude — the floor of the band, in SWPC thirds (4.67, 5.67, 6.67, 7.67, 9.00), or 0 inside the quiet-time auroral oval above 65°. Reported as 9 where no storm level reaches, which minGScale=null distinguishes from a genuine G5 threshold. The 60° G1 band is this server’s interpolation between the oval edge and NOAA’s G2 figure; the rest are the NOAA scales page figures.'),
110
+ minGScale: z
111
+ .number()
112
+ .nullable()
113
+ .describe('NOAA G level matching minKpRequired (1–5), 0 inside the quiet-time auroral oval where no storm is needed, and null below 40° geomagnetic where no storm level reaches.'),
86
114
  verdict: z
87
115
  .string()
88
- .describe('Plain-language visibility verdict, e.g. "Good aurora chance (42%) — Kp≥6 needed at this latitude."'),
116
+ .describe('Plain-language visibility verdict at this geomagnetic latitude, e.g. "Good aurora chance (42%) — Kp≥6.67 (G3) needed at 51.2° geomagnetic latitude."'),
89
117
  })
90
118
  .nullable()
91
119
  .describe('Local aurora lookup result. Null when no coordinates were provided.'),
@@ -101,10 +129,17 @@ export const getAuroraForecast = tool('noaa_spaceweather_get_aurora_forecast', {
101
129
  {
102
130
  reason: 'feed_unavailable',
103
131
  code: JsonRpcErrorCode.ServiceUnavailable,
104
- when: 'SWPC endpoint returns non-OK status or times out after retries.',
132
+ when: 'SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.',
105
133
  retryable: true,
106
134
  recovery: 'Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.',
107
135
  },
136
+ {
137
+ reason: 'feed_moved',
138
+ code: JsonRpcErrorCode.ServiceUnavailable,
139
+ when: 'SWPC feed path returns a permanent 4xx (404, 410, 401, 403). Fails in one attempt.',
140
+ retryable: false,
141
+ 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.',
142
+ },
108
143
  {
109
144
  reason: 'invalid_coordinates',
110
145
  code: JsonRpcErrorCode.ValidationError,
@@ -113,18 +148,14 @@ export const getAuroraForecast = tool('noaa_spaceweather_get_aurora_forecast', {
113
148
  },
114
149
  ],
115
150
  async handler(input, ctx) {
116
- // Validate: if one coordinate is provided, the other must be too
117
- const hasLat = input.latitude != null;
118
- const hasLon = input.longitude != null;
119
- if ((hasLat && !hasLon) || (!hasLat && hasLon)) {
151
+ // A local lookup needs the pair; one coordinate alone has nothing to look up.
152
+ const { latitude: lat, longitude: lon } = input;
153
+ if ((lat == null) !== (lon == null)) {
120
154
  throw ctx.fail('invalid_coordinates', 'Provide both latitude and longitude, or neither.', {
121
155
  ...ctx.recoveryFor('invalid_coordinates'),
122
156
  });
123
157
  }
124
- ctx.log.info('Fetching aurora forecast', {
125
- latitude: input.latitude,
126
- longitude: input.longitude,
127
- });
158
+ ctx.log.info('Fetching aurora forecast', { latitude: lat, longitude: lon });
128
159
  const svc = getSpaceWeatherService();
129
160
  const aurora = await svc.getAuroraForecast(ctx);
130
161
  const grid = aurora.grid;
@@ -142,48 +173,55 @@ export const getAuroraForecast = tool('noaa_spaceweather_get_aurora_forecast', {
142
173
  : 'Unknown';
143
174
  // Local lookup
144
175
  let localLookup = null;
145
- if (hasLat && hasLon) {
146
- // biome-ignore lint/style/noNonNullAssertion: guarded by hasLat && hasLon checks above
147
- const lat = input.latitude;
148
- // biome-ignore lint/style/noNonNullAssertion: guarded by hasLat && hasLon checks above
149
- const lon = input.longitude;
176
+ if (lat != null && lon != null) {
150
177
  const nearest = lookupGridPoint(grid, lat, lon);
151
178
  if (nearest) {
152
- const minKp = minKpForLatitude(Math.abs(lat));
179
+ // Aurora bands are geomagnetic; the caller supplies geographic coordinates.
180
+ const geomLat = toGeomagneticLatitude(lat, lon);
181
+ const geomText = geomLat.toFixed(1);
182
+ const band = auroraBandForGeomagneticLatitude(geomLat);
183
+ const minKp = band?.minKp ?? UNREACHABLE_MIN_KP;
153
184
  const pct = nearest.auroraPercent;
154
- const kpClause = minKp > 0 ? ` Kp≥${minKp} needed at this latitude.` : '';
185
+ const kpClause = band && band.minKp > 0
186
+ ? ` Kp≥${band.minKp} (G${band.gScale}) needed at ${geomText}° geomagnetic.`
187
+ : '';
155
188
  let verdict;
156
- // Guard: when minKp===9 the location is below the minimum aurora latitude (~40° geographic).
157
- // Even a G5 extreme storm (Kp 9) reaches only ~40° geomagnetic — implying aurora is
158
- // "possible with Kp≥9" at equatorial latitudes is misleading.
159
- if (minKp === 9) {
160
- verdict = `Aurora not visible at this latitude — even G5 extreme storms (Kp 9) do not reach below ~40° geographic latitude. Travel to latitudes above 40° to see aurora.`;
189
+ // Below the G5 band's 40° edge no storm level reaches, so the ladder's
190
+ // "possible with Kp≥9" framing would mislead (#9) — unless the grid point
191
+ // itself reads high enough to be signal rather than model noise.
192
+ if (!band) {
193
+ verdict =
194
+ pct >= OVAL_OVERRIDE_PERCENT
195
+ ? `Aurora is normally not seen at ${geomText}° geomagnetic latitude, but the nearest grid point reads ${pct}% — an exceptional reading; only G5-class (Kp 9) storms push the oval this far equatorward.`
196
+ : `Aurora not visible at ${geomText}° geomagnetic latitude (${lat}° geographic) — even G5 extreme storms (Kp 9) do not reach below 40° geomagnetic latitude. Travel toward higher geomagnetic latitudes to see aurora.`;
161
197
  }
162
198
  else if (pct >= 30) {
163
199
  verdict =
164
200
  minKp === 0
165
- ? `Good aurora chance (${pct}%) at this latitude — no Kp minimum required, aurora possible now.`
201
+ ? `Good aurora chance (${pct}%) at ${geomText}° geomagnetic latitude — inside the auroral oval, no Kp minimum required, aurora possible now.`
166
202
  : `Good aurora chance (${pct}%) —${kpClause}`;
167
203
  }
168
204
  else if (pct >= 5) {
169
205
  verdict =
170
206
  minKp === 0
171
- ? `Low aurora chance (${pct}%) at this location — aurora activity is low despite the favorable latitude.`
207
+ ? `Low aurora chance (${pct}%) at this location — aurora activity is low despite the favorable geomagnetic latitude of ${geomText}°.`
172
208
  : `Low aurora chance (${pct}%) — conditions marginal.${kpClause}`;
173
209
  }
174
210
  else if (minKp === 0) {
175
- verdict = `Very low aurora probability (${pct}%) despite favorable latitude — wait for elevated solar activity and higher Kp.`;
211
+ verdict = `Very low aurora probability (${pct}%) despite a favorable geomagnetic latitude of ${geomText}° — wait for elevated solar activity and higher Kp.`;
176
212
  }
177
213
  else {
178
- verdict = `Very low aurora probability (${pct}%) at this location. Kp≥${minKp} needed — travel to higher latitudes or wait for elevated Kp.`;
214
+ verdict = `Very low aurora probability (${pct}%) at this location.${kpClause} Travel toward higher geomagnetic latitudes or wait for elevated Kp.`;
179
215
  }
180
216
  localLookup = {
181
217
  requestedLatitude: lat,
182
218
  requestedLongitude: lon,
219
+ geomagneticLatitude: Number(geomLat.toFixed(2)),
183
220
  gridLatitude: nearest.gridLat,
184
221
  gridLongitude: nearest.gridLon,
185
222
  auroraPercent: pct,
186
223
  minKpRequired: minKp,
224
+ minGScale: band?.gScale ?? null,
187
225
  verdict,
188
226
  };
189
227
  }
@@ -209,8 +247,9 @@ export const getAuroraForecast = tool('noaa_spaceweather_get_aurora_forecast', {
209
247
  lines.push('');
210
248
  lines.push('### Local Forecast');
211
249
  lines.push(`**Location:** ${l.requestedLatitude}°, ${l.requestedLongitude}° → nearest grid (${l.gridLatitude}°, ${l.gridLongitude}°)`);
250
+ lines.push(`**Geomagnetic Latitude:** ${l.geomagneticLatitude}°`);
212
251
  lines.push(`**Aurora Probability:** ${l.auroraPercent}%`);
213
- lines.push(`**Min Kp Required:** ${l.minKpRequired}`);
252
+ lines.push(`**Min Kp Required:** ${l.minKpRequired} (${l.minGScale === null ? 'not reachable by any storm level' : `G${l.minGScale}`})`);
214
253
  lines.push(`**Verdict:** ${l.verdict}`);
215
254
  }
216
255
  return [{ type: 'text', text: lines.join('\n') }];
@@ -1 +1 @@
1
- {"version":3,"file":"get-aurora-forecast.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-aurora-forecast.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-aurora-forecast.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-aurora-forecast.tool.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@
4
4
  */
5
5
  import { z } from '@cyanheads/mcp-ts-core';
6
6
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
- export declare const getConditions: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{}, z.core.$strip>, z.ZodObject<{
7
+ export declare const getConditions: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
8
+ include_discussion: z.ZodDefault<z.ZodBoolean>;
9
+ }, z.core.$strip>, z.ZodObject<{
8
10
  observedAt: z.ZodString;
9
11
  currentKp: z.ZodNumber;
10
12
  currentGScale: z.ZodNumber;
@@ -34,22 +36,39 @@ export declare const getConditions: import("@cyanheads/mcp-ts-core").ToolDefinit
34
36
  label: z.ZodString;
35
37
  }, z.core.$strip>;
36
38
  R: z.ZodObject<{
37
- scale: z.ZodNumber;
38
- text: z.ZodString;
39
- label: z.ZodString;
39
+ scale: z.ZodNullable<z.ZodNumber>;
40
+ text: z.ZodNullable<z.ZodString>;
41
+ label: z.ZodNullable<z.ZodString>;
42
+ minorProbPercent: z.ZodNullable<z.ZodNumber>;
43
+ majorProbPercent: z.ZodNullable<z.ZodNumber>;
40
44
  }, z.core.$strip>;
41
45
  S: z.ZodObject<{
42
- scale: z.ZodNumber;
43
- text: z.ZodString;
44
- label: z.ZodString;
46
+ scale: z.ZodNullable<z.ZodNumber>;
47
+ text: z.ZodNullable<z.ZodString>;
48
+ label: z.ZodNullable<z.ZodString>;
49
+ probPercent: z.ZodNullable<z.ZodNumber>;
45
50
  }, z.core.$strip>;
46
51
  }, z.core.$strip>>;
47
52
  summary: z.ZodString;
53
+ discussion: z.ZodNullable<z.ZodObject<{
54
+ issued: z.ZodNullable<z.ZodString>;
55
+ sections: z.ZodArray<z.ZodObject<{
56
+ topic: z.ZodString;
57
+ summary: z.ZodNullable<z.ZodString>;
58
+ forecast: z.ZodNullable<z.ZodString>;
59
+ }, z.core.$strip>>;
60
+ }, z.core.$strip>>;
48
61
  }, z.core.$strip>, readonly [{
49
62
  readonly reason: "feed_unavailable";
50
63
  readonly code: JsonRpcErrorCode.ServiceUnavailable;
51
- readonly when: "SWPC endpoint returns non-OK status or times out after retries.";
64
+ readonly when: "SWPC feed returns 5xx or 429, times out, or answers with a body that is not parseable JSON. Retried before failing.";
52
65
  readonly retryable: true;
53
66
  readonly recovery: "Retry in 30–60 seconds; SWPC feeds occasionally lag during high-activity events.";
67
+ }, {
68
+ readonly reason: "feed_moved";
69
+ readonly code: JsonRpcErrorCode.ServiceUnavailable;
70
+ readonly when: "SWPC feed path returns a permanent 4xx (404, 410, 401, 403), or a feed answers without the shape it is documented to have — the scales feed no longer carrying its \"0\" (today) period, or the forecast discussion carrying no topic section. Fails in one attempt.";
71
+ readonly retryable: false;
72
+ 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.";
54
73
  }], undefined>;
55
74
  //# sourceMappingURL=get-conditions.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-conditions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-conditions.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA0BjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmJxB,CAAC"}
1
+ {"version":3,"file":"get-conditions.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-conditions.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAiNjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAmNxB,CAAC"}