mostlyright 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,17 +6,22 @@ import {
6
6
  var src_exports = {};
7
7
  __export(src_exports, {
8
8
  AuthenticationError: () => AuthenticationError,
9
+ CATALOG: () => CATALOG,
9
10
  CLIMATE_REPORT_TYPE_PRIORITY: () => CLIMATE_REPORT_TYPE_PRIORITY,
10
11
  DATA_AVAILABILITY_REASONS: () => DATA_AVAILABILITY_REASONS,
11
12
  DataAvailabilityError: () => DataAvailabilityError,
12
13
  DeferredMarketError: () => DeferredMarketError,
13
14
  ForbiddenError: () => ForbiddenError,
15
+ IssuedAtMissingError: () => IssuedAtMissingError,
14
16
  LIVE_V1_POLICY: () => LIVE_V1_POLICY,
15
17
  LeakageError: () => LeakageError,
16
18
  LiveStreamError: () => LiveStreamError,
19
+ MostlyRightError: () => MostlyRightError,
17
20
  NoLiveDataError: () => NoLiveDataError,
18
21
  NotFoundError: () => NotFoundError,
22
+ NwpNotAvailableError: () => NwpNotAvailableError,
19
23
  OBSERVATION_SOURCE_PRIORITY: () => OBSERVATION_SOURCE_PRIORITY,
24
+ OpenMeteoSeamlessLeakageError: () => OpenMeteoSeamlessLeakageError,
20
25
  PayloadTooLargeError: () => PayloadTooLargeError,
21
26
  PolymarketEventError: () => PolymarketEventError,
22
27
  QC_ALPHA_RULES: () => QC_ALPHA_RULES,
@@ -29,9 +34,9 @@ __export(src_exports, {
29
34
  ServerError: () => ServerError,
30
35
  SourceMismatchError: () => SourceMismatchError,
31
36
  SourceUnavailableError: () => SourceUnavailableError,
37
+ StationCatalog: () => StationCatalog,
32
38
  TemporalDriftError: () => TemporalDriftError,
33
39
  TherminalError: () => TherminalError,
34
- TradewindsError: () => TradewindsError,
35
40
  ValidationError: () => ValidationError,
36
41
  _CLI_PUBLICATION_DELAY_HOURS: () => _CLI_PUBLICATION_DELAY_HOURS,
37
42
  _JAN_REF: () => _JAN_REF,
@@ -60,7 +65,10 @@ var STATIONS = [
60
65
  latitude: 52.3667,
61
66
  longitude: 13.5033,
62
67
  name: "Berlin Brandenburg",
63
- tz: "Europe/Berlin"
68
+ tz: "Europe/Berlin",
69
+ venues: [
70
+ "polymarket"
71
+ ]
64
72
  },
65
73
  {
66
74
  code: "EDDF",
@@ -70,7 +78,10 @@ var STATIONS = [
70
78
  latitude: 50.0379,
71
79
  longitude: 8.5622,
72
80
  name: "Frankfurt am Main",
73
- tz: "Europe/Berlin"
81
+ tz: "Europe/Berlin",
82
+ venues: [
83
+ "polymarket"
84
+ ]
74
85
  },
75
86
  {
76
87
  code: "EDDM",
@@ -80,7 +91,10 @@ var STATIONS = [
80
91
  latitude: 48.3538,
81
92
  longitude: 11.7861,
82
93
  name: "Munich Franz Josef Strauss",
83
- tz: "Europe/Berlin"
94
+ tz: "Europe/Berlin",
95
+ venues: [
96
+ "polymarket"
97
+ ]
84
98
  },
85
99
  {
86
100
  code: "EFHK",
@@ -90,7 +104,10 @@ var STATIONS = [
90
104
  latitude: 60.3172,
91
105
  longitude: 24.9633,
92
106
  name: "Helsinki-Vantaa",
93
- tz: "Europe/Helsinki"
107
+ tz: "Europe/Helsinki",
108
+ venues: [
109
+ "polymarket"
110
+ ]
94
111
  },
95
112
  {
96
113
  code: "EGKK",
@@ -100,7 +117,10 @@ var STATIONS = [
100
117
  latitude: 51.1481,
101
118
  longitude: -0.1903,
102
119
  name: "London Gatwick",
103
- tz: "Europe/London"
120
+ tz: "Europe/London",
121
+ venues: [
122
+ "polymarket"
123
+ ]
104
124
  },
105
125
  {
106
126
  code: "EGLL",
@@ -110,7 +130,10 @@ var STATIONS = [
110
130
  latitude: 51.4706,
111
131
  longitude: -0.4619,
112
132
  name: "London Heathrow",
113
- tz: "Europe/London"
133
+ tz: "Europe/London",
134
+ venues: [
135
+ "polymarket"
136
+ ]
114
137
  },
115
138
  {
116
139
  code: "EHAM",
@@ -120,7 +143,10 @@ var STATIONS = [
120
143
  latitude: 52.3086,
121
144
  longitude: 4.7639,
122
145
  name: "Amsterdam Schiphol",
123
- tz: "Europe/Amsterdam"
146
+ tz: "Europe/Amsterdam",
147
+ venues: [
148
+ "polymarket"
149
+ ]
124
150
  },
125
151
  {
126
152
  code: "EKCH",
@@ -130,7 +156,10 @@ var STATIONS = [
130
156
  latitude: 55.6181,
131
157
  longitude: 12.6561,
132
158
  name: "Copenhagen Kastrup",
133
- tz: "Europe/Copenhagen"
159
+ tz: "Europe/Copenhagen",
160
+ venues: [
161
+ "polymarket"
162
+ ]
134
163
  },
135
164
  {
136
165
  code: "EPWA",
@@ -140,7 +169,10 @@ var STATIONS = [
140
169
  latitude: 52.1657,
141
170
  longitude: 20.9671,
142
171
  name: "Warsaw Chopin",
143
- tz: "Europe/Warsaw"
172
+ tz: "Europe/Warsaw",
173
+ venues: [
174
+ "polymarket"
175
+ ]
144
176
  },
145
177
  {
146
178
  code: "ESSA",
@@ -150,7 +182,10 @@ var STATIONS = [
150
182
  latitude: 59.6519,
151
183
  longitude: 17.9186,
152
184
  name: "Stockholm Arlanda",
153
- tz: "Europe/Stockholm"
185
+ tz: "Europe/Stockholm",
186
+ venues: [
187
+ "polymarket"
188
+ ]
154
189
  },
155
190
  {
156
191
  code: "ATL",
@@ -160,7 +195,11 @@ var STATIONS = [
160
195
  latitude: 33.6407,
161
196
  longitude: -84.4277,
162
197
  name: "Hartsfield-Jackson Atlanta International",
163
- tz: "America/New_York"
198
+ tz: "America/New_York",
199
+ venues: [
200
+ "kalshi",
201
+ "polymarket"
202
+ ]
164
203
  },
165
204
  {
166
205
  code: "AUS",
@@ -170,7 +209,24 @@ var STATIONS = [
170
209
  latitude: 30.1975,
171
210
  longitude: -97.6664,
172
211
  name: "Austin-Bergstrom International",
173
- tz: "America/Chicago"
212
+ tz: "America/Chicago",
213
+ venues: [
214
+ "kalshi",
215
+ "polymarket"
216
+ ]
217
+ },
218
+ {
219
+ code: "BNA",
220
+ country: "US",
221
+ ghcnh_id: "USW00013897",
222
+ icao: "KBNA",
223
+ latitude: 36.1245,
224
+ longitude: -86.6782,
225
+ name: "Nashville International",
226
+ tz: "America/Chicago",
227
+ venues: [
228
+ "kalshi"
229
+ ]
174
230
  },
175
231
  {
176
232
  code: "BOS",
@@ -180,7 +236,24 @@ var STATIONS = [
180
236
  latitude: 42.3656,
181
237
  longitude: -71.0096,
182
238
  name: "Boston Logan International",
183
- tz: "America/New_York"
239
+ tz: "America/New_York",
240
+ venues: [
241
+ "kalshi",
242
+ "polymarket"
243
+ ]
244
+ },
245
+ {
246
+ code: "CVG",
247
+ country: "US",
248
+ ghcnh_id: "USW00093814",
249
+ icao: "KCVG",
250
+ latitude: 39.0488,
251
+ longitude: -84.6678,
252
+ name: "Cincinnati/Northern Kentucky International",
253
+ tz: "America/New_York",
254
+ venues: [
255
+ "kalshi"
256
+ ]
184
257
  },
185
258
  {
186
259
  code: "DCA",
@@ -190,7 +263,11 @@ var STATIONS = [
190
263
  latitude: 38.8512,
191
264
  longitude: -77.0402,
192
265
  name: "Washington Reagan National",
193
- tz: "America/New_York"
266
+ tz: "America/New_York",
267
+ venues: [
268
+ "kalshi",
269
+ "polymarket"
270
+ ]
194
271
  },
195
272
  {
196
273
  code: "DEN",
@@ -200,7 +277,11 @@ var STATIONS = [
200
277
  latitude: 39.8561,
201
278
  longitude: -104.6737,
202
279
  name: "Denver International",
203
- tz: "America/Denver"
280
+ tz: "America/Denver",
281
+ venues: [
282
+ "kalshi",
283
+ "polymarket"
284
+ ]
204
285
  },
205
286
  {
206
287
  code: "DFW",
@@ -210,7 +291,25 @@ var STATIONS = [
210
291
  latitude: 32.8998,
211
292
  longitude: -97.0403,
212
293
  name: "Dallas-Fort Worth International",
213
- tz: "America/Chicago"
294
+ tz: "America/Chicago",
295
+ venues: [
296
+ "kalshi",
297
+ "polymarket"
298
+ ]
299
+ },
300
+ {
301
+ code: "DTW",
302
+ country: "US",
303
+ ghcnh_id: "USW00094847",
304
+ icao: "KDTW",
305
+ latitude: 42.2124,
306
+ longitude: -83.3534,
307
+ name: "Detroit Metropolitan Wayne County",
308
+ tz: "America/New_York",
309
+ venues: [
310
+ "kalshi",
311
+ "polymarket"
312
+ ]
214
313
  },
215
314
  {
216
315
  code: "HOU",
@@ -220,7 +319,22 @@ var STATIONS = [
220
319
  latitude: 29.6454,
221
320
  longitude: -95.2789,
222
321
  name: "Houston Hobby",
223
- tz: "America/Chicago"
322
+ tz: "America/Chicago",
323
+ venues: []
324
+ },
325
+ {
326
+ code: "IAH",
327
+ country: "US",
328
+ ghcnh_id: "USW00012960",
329
+ icao: "KIAH",
330
+ latitude: 29.9844,
331
+ longitude: -95.3414,
332
+ name: "Houston George Bush Intercontinental",
333
+ tz: "America/Chicago",
334
+ venues: [
335
+ "kalshi",
336
+ "polymarket"
337
+ ]
224
338
  },
225
339
  {
226
340
  code: "LAS",
@@ -230,7 +344,10 @@ var STATIONS = [
230
344
  latitude: 36.084,
231
345
  longitude: -115.1537,
232
346
  name: "Harry Reid (McCarran) International",
233
- tz: "America/Los_Angeles"
347
+ tz: "America/Los_Angeles",
348
+ venues: [
349
+ "kalshi"
350
+ ]
234
351
  },
235
352
  {
236
353
  code: "LAX",
@@ -240,7 +357,11 @@ var STATIONS = [
240
357
  latitude: 33.9425,
241
358
  longitude: -118.4081,
242
359
  name: "Los Angeles International",
243
- tz: "America/Los_Angeles"
360
+ tz: "America/Los_Angeles",
361
+ venues: [
362
+ "kalshi",
363
+ "polymarket"
364
+ ]
244
365
  },
245
366
  {
246
367
  code: "MDW",
@@ -250,7 +371,10 @@ var STATIONS = [
250
371
  latitude: 41.7868,
251
372
  longitude: -87.7522,
252
373
  name: "Chicago Midway International",
253
- tz: "America/Chicago"
374
+ tz: "America/Chicago",
375
+ venues: [
376
+ "kalshi"
377
+ ]
254
378
  },
255
379
  {
256
380
  code: "MIA",
@@ -260,7 +384,11 @@ var STATIONS = [
260
384
  latitude: 25.7959,
261
385
  longitude: -80.287,
262
386
  name: "Miami International",
263
- tz: "America/New_York"
387
+ tz: "America/New_York",
388
+ venues: [
389
+ "kalshi",
390
+ "polymarket"
391
+ ]
264
392
  },
265
393
  {
266
394
  code: "MSP",
@@ -270,7 +398,11 @@ var STATIONS = [
270
398
  latitude: 44.8848,
271
399
  longitude: -93.2223,
272
400
  name: "Minneapolis-St Paul International",
273
- tz: "America/Chicago"
401
+ tz: "America/Chicago",
402
+ venues: [
403
+ "kalshi",
404
+ "polymarket"
405
+ ]
274
406
  },
275
407
  {
276
408
  code: "MSY",
@@ -280,7 +412,8 @@ var STATIONS = [
280
412
  latitude: 29.9934,
281
413
  longitude: -90.258,
282
414
  name: "New Orleans Louis Armstrong International",
283
- tz: "America/Chicago"
415
+ tz: "America/Chicago",
416
+ venues: []
284
417
  },
285
418
  {
286
419
  code: "NYC",
@@ -290,7 +423,10 @@ var STATIONS = [
290
423
  latitude: 40.7789,
291
424
  longitude: -73.9692,
292
425
  name: "Central Park, New York",
293
- tz: "America/New_York"
426
+ tz: "America/New_York",
427
+ venues: [
428
+ "kalshi"
429
+ ]
294
430
  },
295
431
  {
296
432
  code: "OKC",
@@ -300,7 +436,8 @@ var STATIONS = [
300
436
  latitude: 35.3931,
301
437
  longitude: -97.6007,
302
438
  name: "Oklahoma City Will Rogers World",
303
- tz: "America/Chicago"
439
+ tz: "America/Chicago",
440
+ venues: []
304
441
  },
305
442
  {
306
443
  code: "PHL",
@@ -310,7 +447,11 @@ var STATIONS = [
310
447
  latitude: 39.8721,
311
448
  longitude: -75.2411,
312
449
  name: "Philadelphia International",
313
- tz: "America/New_York"
450
+ tz: "America/New_York",
451
+ venues: [
452
+ "kalshi",
453
+ "polymarket"
454
+ ]
314
455
  },
315
456
  {
316
457
  code: "PHX",
@@ -320,7 +461,11 @@ var STATIONS = [
320
461
  latitude: 33.4373,
321
462
  longitude: -112.0078,
322
463
  name: "Phoenix Sky Harbor International",
323
- tz: "America/Phoenix"
464
+ tz: "America/Phoenix",
465
+ venues: [
466
+ "kalshi",
467
+ "polymarket"
468
+ ]
324
469
  },
325
470
  {
326
471
  code: "SAT",
@@ -330,7 +475,8 @@ var STATIONS = [
330
475
  latitude: 29.5337,
331
476
  longitude: -98.4698,
332
477
  name: "San Antonio International",
333
- tz: "America/Chicago"
478
+ tz: "America/Chicago",
479
+ venues: []
334
480
  },
335
481
  {
336
482
  code: "SEA",
@@ -340,7 +486,11 @@ var STATIONS = [
340
486
  latitude: 47.4502,
341
487
  longitude: -122.3088,
342
488
  name: "Seattle-Tacoma International",
343
- tz: "America/Los_Angeles"
489
+ tz: "America/Los_Angeles",
490
+ venues: [
491
+ "kalshi",
492
+ "polymarket"
493
+ ]
344
494
  },
345
495
  {
346
496
  code: "SFO",
@@ -350,7 +500,24 @@ var STATIONS = [
350
500
  latitude: 37.6213,
351
501
  longitude: -122.379,
352
502
  name: "San Francisco International",
353
- tz: "America/Los_Angeles"
503
+ tz: "America/Los_Angeles",
504
+ venues: [
505
+ "kalshi",
506
+ "polymarket"
507
+ ]
508
+ },
509
+ {
510
+ code: "SLC",
511
+ country: "US",
512
+ ghcnh_id: "USW00024127",
513
+ icao: "KSLC",
514
+ latitude: 40.7884,
515
+ longitude: -111.9778,
516
+ name: "Salt Lake City International",
517
+ tz: "America/Denver",
518
+ venues: [
519
+ "kalshi"
520
+ ]
354
521
  },
355
522
  {
356
523
  code: "LEBL",
@@ -360,7 +527,10 @@ var STATIONS = [
360
527
  latitude: 41.2974,
361
528
  longitude: 2.0833,
362
529
  name: "Barcelona El Prat",
363
- tz: "Europe/Madrid"
530
+ tz: "Europe/Madrid",
531
+ venues: [
532
+ "polymarket"
533
+ ]
364
534
  },
365
535
  {
366
536
  code: "LEMD",
@@ -370,7 +540,10 @@ var STATIONS = [
370
540
  latitude: 40.4719,
371
541
  longitude: -3.5626,
372
542
  name: "Madrid Barajas",
373
- tz: "Europe/Madrid"
543
+ tz: "Europe/Madrid",
544
+ venues: [
545
+ "polymarket"
546
+ ]
374
547
  },
375
548
  {
376
549
  code: "LFPB",
@@ -380,7 +553,10 @@ var STATIONS = [
380
553
  latitude: 48.9694,
381
554
  longitude: 2.4414,
382
555
  name: "Paris Le Bourget",
383
- tz: "Europe/Paris"
556
+ tz: "Europe/Paris",
557
+ venues: [
558
+ "polymarket"
559
+ ]
384
560
  },
385
561
  {
386
562
  code: "LFPG",
@@ -390,7 +566,10 @@ var STATIONS = [
390
566
  latitude: 49.0097,
391
567
  longitude: 2.5479,
392
568
  name: "Paris Charles de Gaulle",
393
- tz: "Europe/Paris"
569
+ tz: "Europe/Paris",
570
+ venues: [
571
+ "polymarket"
572
+ ]
394
573
  },
395
574
  {
396
575
  code: "LFPO",
@@ -400,7 +579,10 @@ var STATIONS = [
400
579
  latitude: 48.7233,
401
580
  longitude: 2.3794,
402
581
  name: "Paris Orly",
403
- tz: "Europe/Paris"
582
+ tz: "Europe/Paris",
583
+ venues: [
584
+ "polymarket"
585
+ ]
404
586
  },
405
587
  {
406
588
  code: "LIMC",
@@ -410,7 +592,10 @@ var STATIONS = [
410
592
  latitude: 45.6306,
411
593
  longitude: 8.7281,
412
594
  name: "Milan Malpensa",
413
- tz: "Europe/Rome"
595
+ tz: "Europe/Rome",
596
+ venues: [
597
+ "polymarket"
598
+ ]
414
599
  },
415
600
  {
416
601
  code: "LIRF",
@@ -420,7 +605,10 @@ var STATIONS = [
420
605
  latitude: 41.8003,
421
606
  longitude: 12.2389,
422
607
  name: "Rome Fiumicino",
423
- tz: "Europe/Rome"
608
+ tz: "Europe/Rome",
609
+ venues: [
610
+ "polymarket"
611
+ ]
424
612
  },
425
613
  {
426
614
  code: "LOWW",
@@ -430,7 +618,10 @@ var STATIONS = [
430
618
  latitude: 48.1103,
431
619
  longitude: 16.5697,
432
620
  name: "Vienna International",
433
- tz: "Europe/Vienna"
621
+ tz: "Europe/Vienna",
622
+ venues: [
623
+ "polymarket"
624
+ ]
434
625
  },
435
626
  {
436
627
  code: "LSZH",
@@ -440,7 +631,10 @@ var STATIONS = [
440
631
  latitude: 47.4647,
441
632
  longitude: 8.5492,
442
633
  name: "Zurich",
443
- tz: "Europe/Zurich"
634
+ tz: "Europe/Zurich",
635
+ venues: [
636
+ "polymarket"
637
+ ]
444
638
  },
445
639
  {
446
640
  code: "NZAA",
@@ -450,7 +644,10 @@ var STATIONS = [
450
644
  latitude: -37.0081,
451
645
  longitude: 174.7917,
452
646
  name: "Auckland",
453
- tz: "Pacific/Auckland"
647
+ tz: "Pacific/Auckland",
648
+ venues: [
649
+ "polymarket"
650
+ ]
454
651
  },
455
652
  {
456
653
  code: "NZWN",
@@ -460,7 +657,10 @@ var STATIONS = [
460
657
  latitude: -41.3272,
461
658
  longitude: 174.8053,
462
659
  name: "Wellington",
463
- tz: "Pacific/Auckland"
660
+ tz: "Pacific/Auckland",
661
+ venues: [
662
+ "polymarket"
663
+ ]
464
664
  },
465
665
  {
466
666
  code: "OERK",
@@ -470,7 +670,10 @@ var STATIONS = [
470
670
  latitude: 24.9576,
471
671
  longitude: 46.6988,
472
672
  name: "Riyadh King Khalid International",
473
- tz: "Asia/Riyadh"
673
+ tz: "Asia/Riyadh",
674
+ venues: [
675
+ "polymarket"
676
+ ]
474
677
  },
475
678
  {
476
679
  code: "OMDB",
@@ -480,7 +683,10 @@ var STATIONS = [
480
683
  latitude: 25.2532,
481
684
  longitude: 55.3657,
482
685
  name: "Dubai International",
483
- tz: "Asia/Dubai"
686
+ tz: "Asia/Dubai",
687
+ venues: [
688
+ "polymarket"
689
+ ]
484
690
  },
485
691
  {
486
692
  code: "OTHH",
@@ -490,7 +696,10 @@ var STATIONS = [
490
696
  latitude: 25.2731,
491
697
  longitude: 51.608,
492
698
  name: "Doha Hamad International",
493
- tz: "Asia/Qatar"
699
+ tz: "Asia/Qatar",
700
+ venues: [
701
+ "polymarket"
702
+ ]
494
703
  },
495
704
  {
496
705
  code: "RCTP",
@@ -500,7 +709,10 @@ var STATIONS = [
500
709
  latitude: 25.0777,
501
710
  longitude: 121.2328,
502
711
  name: "Taipei Taoyuan",
503
- tz: "Asia/Taipei"
712
+ tz: "Asia/Taipei",
713
+ venues: [
714
+ "polymarket"
715
+ ]
504
716
  },
505
717
  {
506
718
  code: "RJAA",
@@ -510,7 +722,10 @@ var STATIONS = [
510
722
  latitude: 35.7647,
511
723
  longitude: 140.3864,
512
724
  name: "Tokyo Narita",
513
- tz: "Asia/Tokyo"
725
+ tz: "Asia/Tokyo",
726
+ venues: [
727
+ "polymarket"
728
+ ]
514
729
  },
515
730
  {
516
731
  code: "RJTT",
@@ -520,7 +735,10 @@ var STATIONS = [
520
735
  latitude: 35.5522,
521
736
  longitude: 139.78,
522
737
  name: "Tokyo Haneda",
523
- tz: "Asia/Tokyo"
738
+ tz: "Asia/Tokyo",
739
+ venues: [
740
+ "polymarket"
741
+ ]
524
742
  },
525
743
  {
526
744
  code: "RKSI",
@@ -530,7 +748,10 @@ var STATIONS = [
530
748
  latitude: 37.4691,
531
749
  longitude: 126.4505,
532
750
  name: "Seoul Incheon",
533
- tz: "Asia/Seoul"
751
+ tz: "Asia/Seoul",
752
+ venues: [
753
+ "polymarket"
754
+ ]
534
755
  },
535
756
  {
536
757
  code: "SAEZ",
@@ -540,7 +761,10 @@ var STATIONS = [
540
761
  latitude: -34.8222,
541
762
  longitude: -58.5358,
542
763
  name: "Buenos Aires Ezeiza",
543
- tz: "America/Argentina/Buenos_Aires"
764
+ tz: "America/Argentina/Buenos_Aires",
765
+ venues: [
766
+ "polymarket"
767
+ ]
544
768
  },
545
769
  {
546
770
  code: "SBGR",
@@ -550,7 +774,10 @@ var STATIONS = [
550
774
  latitude: -23.4356,
551
775
  longitude: -46.4731,
552
776
  name: "S\xE3o Paulo Guarulhos",
553
- tz: "America/Sao_Paulo"
777
+ tz: "America/Sao_Paulo",
778
+ venues: [
779
+ "polymarket"
780
+ ]
554
781
  },
555
782
  {
556
783
  code: "UUEE",
@@ -560,7 +787,10 @@ var STATIONS = [
560
787
  latitude: 55.9728,
561
788
  longitude: 37.4147,
562
789
  name: "Moscow Sheremetyevo",
563
- tz: "Europe/Moscow"
790
+ tz: "Europe/Moscow",
791
+ venues: [
792
+ "polymarket"
793
+ ]
564
794
  },
565
795
  {
566
796
  code: "VABB",
@@ -570,7 +800,10 @@ var STATIONS = [
570
800
  latitude: 19.0887,
571
801
  longitude: 72.8679,
572
802
  name: "Mumbai Chhatrapati Shivaji",
573
- tz: "Asia/Kolkata"
803
+ tz: "Asia/Kolkata",
804
+ venues: [
805
+ "polymarket"
806
+ ]
574
807
  },
575
808
  {
576
809
  code: "VHHH",
@@ -580,7 +813,10 @@ var STATIONS = [
580
813
  latitude: 22.308,
581
814
  longitude: 113.9185,
582
815
  name: "Hong Kong International",
583
- tz: "Asia/Hong_Kong"
816
+ tz: "Asia/Hong_Kong",
817
+ venues: [
818
+ "polymarket"
819
+ ]
584
820
  },
585
821
  {
586
822
  code: "VIDP",
@@ -590,7 +826,10 @@ var STATIONS = [
590
826
  latitude: 28.5562,
591
827
  longitude: 77.1,
592
828
  name: "Delhi Indira Gandhi",
593
- tz: "Asia/Kolkata"
829
+ tz: "Asia/Kolkata",
830
+ venues: [
831
+ "polymarket"
832
+ ]
594
833
  },
595
834
  {
596
835
  code: "VTBS",
@@ -600,7 +839,10 @@ var STATIONS = [
600
839
  latitude: 13.69,
601
840
  longitude: 100.7501,
602
841
  name: "Bangkok Suvarnabhumi",
603
- tz: "Asia/Bangkok"
842
+ tz: "Asia/Bangkok",
843
+ venues: [
844
+ "polymarket"
845
+ ]
604
846
  },
605
847
  {
606
848
  code: "WSSS",
@@ -610,7 +852,10 @@ var STATIONS = [
610
852
  latitude: 1.3644,
611
853
  longitude: 103.9915,
612
854
  name: "Singapore Changi",
613
- tz: "Asia/Singapore"
855
+ tz: "Asia/Singapore",
856
+ venues: [
857
+ "polymarket"
858
+ ]
614
859
  },
615
860
  {
616
861
  code: "YBBN",
@@ -620,7 +865,10 @@ var STATIONS = [
620
865
  latitude: -27.3842,
621
866
  longitude: 153.1175,
622
867
  name: "Brisbane",
623
- tz: "Australia/Brisbane"
868
+ tz: "Australia/Brisbane",
869
+ venues: [
870
+ "polymarket"
871
+ ]
624
872
  },
625
873
  {
626
874
  code: "YMML",
@@ -630,7 +878,10 @@ var STATIONS = [
630
878
  latitude: -37.6733,
631
879
  longitude: 144.8433,
632
880
  name: "Melbourne Tullamarine",
633
- tz: "Australia/Melbourne"
881
+ tz: "Australia/Melbourne",
882
+ venues: [
883
+ "polymarket"
884
+ ]
634
885
  },
635
886
  {
636
887
  code: "YSSY",
@@ -640,7 +891,10 @@ var STATIONS = [
640
891
  latitude: -33.9461,
641
892
  longitude: 151.1772,
642
893
  name: "Sydney Kingsford Smith",
643
- tz: "Australia/Sydney"
894
+ tz: "Australia/Sydney",
895
+ venues: [
896
+ "polymarket"
897
+ ]
644
898
  },
645
899
  {
646
900
  code: "ZBAA",
@@ -650,7 +904,10 @@ var STATIONS = [
650
904
  latitude: 40.0801,
651
905
  longitude: 116.5846,
652
906
  name: "Beijing Capital",
653
- tz: "Asia/Shanghai"
907
+ tz: "Asia/Shanghai",
908
+ venues: [
909
+ "polymarket"
910
+ ]
654
911
  },
655
912
  {
656
913
  code: "ZSPD",
@@ -660,16 +917,22 @@ var STATIONS = [
660
917
  latitude: 31.1443,
661
918
  longitude: 121.8083,
662
919
  name: "Shanghai Pudong",
663
- tz: "Asia/Shanghai"
920
+ tz: "Asia/Shanghai",
921
+ venues: [
922
+ "polymarket"
923
+ ]
664
924
  }
665
925
  ];
666
926
  var STATION_BY_CODE = /* @__PURE__ */ new Map([
667
927
  ["ATL", STATIONS[10]],
668
928
  ["AUS", STATIONS[11]],
669
- ["BOS", STATIONS[12]],
670
- ["DCA", STATIONS[13]],
671
- ["DEN", STATIONS[14]],
672
- ["DFW", STATIONS[15]],
929
+ ["BNA", STATIONS[12]],
930
+ ["BOS", STATIONS[13]],
931
+ ["CVG", STATIONS[14]],
932
+ ["DCA", STATIONS[15]],
933
+ ["DEN", STATIONS[16]],
934
+ ["DFW", STATIONS[17]],
935
+ ["DTW", STATIONS[18]],
673
936
  ["EDDB", STATIONS[0]],
674
937
  ["EDDF", STATIONS[1]],
675
938
  ["EDDM", STATIONS[2]],
@@ -680,51 +943,53 @@ var STATION_BY_CODE = /* @__PURE__ */ new Map([
680
943
  ["EKCH", STATIONS[7]],
681
944
  ["EPWA", STATIONS[8]],
682
945
  ["ESSA", STATIONS[9]],
683
- ["HOU", STATIONS[16]],
684
- ["LAS", STATIONS[17]],
685
- ["LAX", STATIONS[18]],
686
- ["LEBL", STATIONS[30]],
687
- ["LEMD", STATIONS[31]],
688
- ["LFPB", STATIONS[32]],
689
- ["LFPG", STATIONS[33]],
690
- ["LFPO", STATIONS[34]],
691
- ["LIMC", STATIONS[35]],
692
- ["LIRF", STATIONS[36]],
693
- ["LOWW", STATIONS[37]],
694
- ["LSZH", STATIONS[38]],
695
- ["MDW", STATIONS[19]],
696
- ["MIA", STATIONS[20]],
697
- ["MSP", STATIONS[21]],
698
- ["MSY", STATIONS[22]],
699
- ["NYC", STATIONS[23]],
700
- ["NZAA", STATIONS[39]],
701
- ["NZWN", STATIONS[40]],
702
- ["OERK", STATIONS[41]],
703
- ["OKC", STATIONS[24]],
704
- ["OMDB", STATIONS[42]],
705
- ["OTHH", STATIONS[43]],
706
- ["PHL", STATIONS[25]],
707
- ["PHX", STATIONS[26]],
708
- ["RCTP", STATIONS[44]],
709
- ["RJAA", STATIONS[45]],
710
- ["RJTT", STATIONS[46]],
711
- ["RKSI", STATIONS[47]],
712
- ["SAEZ", STATIONS[48]],
713
- ["SAT", STATIONS[27]],
714
- ["SBGR", STATIONS[49]],
715
- ["SEA", STATIONS[28]],
716
- ["SFO", STATIONS[29]],
717
- ["UUEE", STATIONS[50]],
718
- ["VABB", STATIONS[51]],
719
- ["VHHH", STATIONS[52]],
720
- ["VIDP", STATIONS[53]],
721
- ["VTBS", STATIONS[54]],
722
- ["WSSS", STATIONS[55]],
723
- ["YBBN", STATIONS[56]],
724
- ["YMML", STATIONS[57]],
725
- ["YSSY", STATIONS[58]],
726
- ["ZBAA", STATIONS[59]],
727
- ["ZSPD", STATIONS[60]]
946
+ ["HOU", STATIONS[19]],
947
+ ["IAH", STATIONS[20]],
948
+ ["LAS", STATIONS[21]],
949
+ ["LAX", STATIONS[22]],
950
+ ["LEBL", STATIONS[35]],
951
+ ["LEMD", STATIONS[36]],
952
+ ["LFPB", STATIONS[37]],
953
+ ["LFPG", STATIONS[38]],
954
+ ["LFPO", STATIONS[39]],
955
+ ["LIMC", STATIONS[40]],
956
+ ["LIRF", STATIONS[41]],
957
+ ["LOWW", STATIONS[42]],
958
+ ["LSZH", STATIONS[43]],
959
+ ["MDW", STATIONS[23]],
960
+ ["MIA", STATIONS[24]],
961
+ ["MSP", STATIONS[25]],
962
+ ["MSY", STATIONS[26]],
963
+ ["NYC", STATIONS[27]],
964
+ ["NZAA", STATIONS[44]],
965
+ ["NZWN", STATIONS[45]],
966
+ ["OERK", STATIONS[46]],
967
+ ["OKC", STATIONS[28]],
968
+ ["OMDB", STATIONS[47]],
969
+ ["OTHH", STATIONS[48]],
970
+ ["PHL", STATIONS[29]],
971
+ ["PHX", STATIONS[30]],
972
+ ["RCTP", STATIONS[49]],
973
+ ["RJAA", STATIONS[50]],
974
+ ["RJTT", STATIONS[51]],
975
+ ["RKSI", STATIONS[52]],
976
+ ["SAEZ", STATIONS[53]],
977
+ ["SAT", STATIONS[31]],
978
+ ["SBGR", STATIONS[54]],
979
+ ["SEA", STATIONS[32]],
980
+ ["SFO", STATIONS[33]],
981
+ ["SLC", STATIONS[34]],
982
+ ["UUEE", STATIONS[55]],
983
+ ["VABB", STATIONS[56]],
984
+ ["VHHH", STATIONS[57]],
985
+ ["VIDP", STATIONS[58]],
986
+ ["VTBS", STATIONS[59]],
987
+ ["WSSS", STATIONS[60]],
988
+ ["YBBN", STATIONS[61]],
989
+ ["YMML", STATIONS[62]],
990
+ ["YSSY", STATIONS[63]],
991
+ ["ZBAA", STATIONS[64]],
992
+ ["ZSPD", STATIONS[65]]
728
993
  ]);
729
994
  var STATION_BY_ICAO = /* @__PURE__ */ new Map([
730
995
  ["EDDB", STATIONS[0]],
@@ -739,55 +1004,60 @@ var STATION_BY_ICAO = /* @__PURE__ */ new Map([
739
1004
  ["ESSA", STATIONS[9]],
740
1005
  ["KATL", STATIONS[10]],
741
1006
  ["KAUS", STATIONS[11]],
742
- ["KBOS", STATIONS[12]],
743
- ["KDCA", STATIONS[13]],
744
- ["KDEN", STATIONS[14]],
745
- ["KDFW", STATIONS[15]],
746
- ["KHOU", STATIONS[16]],
747
- ["KLAS", STATIONS[17]],
748
- ["KLAX", STATIONS[18]],
749
- ["KMDW", STATIONS[19]],
750
- ["KMIA", STATIONS[20]],
751
- ["KMSP", STATIONS[21]],
752
- ["KMSY", STATIONS[22]],
753
- ["KNYC", STATIONS[23]],
754
- ["KOKC", STATIONS[24]],
755
- ["KPHL", STATIONS[25]],
756
- ["KPHX", STATIONS[26]],
757
- ["KSAT", STATIONS[27]],
758
- ["KSEA", STATIONS[28]],
759
- ["KSFO", STATIONS[29]],
760
- ["LEBL", STATIONS[30]],
761
- ["LEMD", STATIONS[31]],
762
- ["LFPB", STATIONS[32]],
763
- ["LFPG", STATIONS[33]],
764
- ["LFPO", STATIONS[34]],
765
- ["LIMC", STATIONS[35]],
766
- ["LIRF", STATIONS[36]],
767
- ["LOWW", STATIONS[37]],
768
- ["LSZH", STATIONS[38]],
769
- ["NZAA", STATIONS[39]],
770
- ["NZWN", STATIONS[40]],
771
- ["OERK", STATIONS[41]],
772
- ["OMDB", STATIONS[42]],
773
- ["OTHH", STATIONS[43]],
774
- ["RCTP", STATIONS[44]],
775
- ["RJAA", STATIONS[45]],
776
- ["RJTT", STATIONS[46]],
777
- ["RKSI", STATIONS[47]],
778
- ["SAEZ", STATIONS[48]],
779
- ["SBGR", STATIONS[49]],
780
- ["UUEE", STATIONS[50]],
781
- ["VABB", STATIONS[51]],
782
- ["VHHH", STATIONS[52]],
783
- ["VIDP", STATIONS[53]],
784
- ["VTBS", STATIONS[54]],
785
- ["WSSS", STATIONS[55]],
786
- ["YBBN", STATIONS[56]],
787
- ["YMML", STATIONS[57]],
788
- ["YSSY", STATIONS[58]],
789
- ["ZBAA", STATIONS[59]],
790
- ["ZSPD", STATIONS[60]]
1007
+ ["KBNA", STATIONS[12]],
1008
+ ["KBOS", STATIONS[13]],
1009
+ ["KCVG", STATIONS[14]],
1010
+ ["KDCA", STATIONS[15]],
1011
+ ["KDEN", STATIONS[16]],
1012
+ ["KDFW", STATIONS[17]],
1013
+ ["KDTW", STATIONS[18]],
1014
+ ["KHOU", STATIONS[19]],
1015
+ ["KIAH", STATIONS[20]],
1016
+ ["KLAS", STATIONS[21]],
1017
+ ["KLAX", STATIONS[22]],
1018
+ ["KMDW", STATIONS[23]],
1019
+ ["KMIA", STATIONS[24]],
1020
+ ["KMSP", STATIONS[25]],
1021
+ ["KMSY", STATIONS[26]],
1022
+ ["KNYC", STATIONS[27]],
1023
+ ["KOKC", STATIONS[28]],
1024
+ ["KPHL", STATIONS[29]],
1025
+ ["KPHX", STATIONS[30]],
1026
+ ["KSAT", STATIONS[31]],
1027
+ ["KSEA", STATIONS[32]],
1028
+ ["KSFO", STATIONS[33]],
1029
+ ["KSLC", STATIONS[34]],
1030
+ ["LEBL", STATIONS[35]],
1031
+ ["LEMD", STATIONS[36]],
1032
+ ["LFPB", STATIONS[37]],
1033
+ ["LFPG", STATIONS[38]],
1034
+ ["LFPO", STATIONS[39]],
1035
+ ["LIMC", STATIONS[40]],
1036
+ ["LIRF", STATIONS[41]],
1037
+ ["LOWW", STATIONS[42]],
1038
+ ["LSZH", STATIONS[43]],
1039
+ ["NZAA", STATIONS[44]],
1040
+ ["NZWN", STATIONS[45]],
1041
+ ["OERK", STATIONS[46]],
1042
+ ["OMDB", STATIONS[47]],
1043
+ ["OTHH", STATIONS[48]],
1044
+ ["RCTP", STATIONS[49]],
1045
+ ["RJAA", STATIONS[50]],
1046
+ ["RJTT", STATIONS[51]],
1047
+ ["RKSI", STATIONS[52]],
1048
+ ["SAEZ", STATIONS[53]],
1049
+ ["SBGR", STATIONS[54]],
1050
+ ["UUEE", STATIONS[55]],
1051
+ ["VABB", STATIONS[56]],
1052
+ ["VHHH", STATIONS[57]],
1053
+ ["VIDP", STATIONS[58]],
1054
+ ["VTBS", STATIONS[59]],
1055
+ ["WSSS", STATIONS[60]],
1056
+ ["YBBN", STATIONS[61]],
1057
+ ["YMML", STATIONS[62]],
1058
+ ["YSSY", STATIONS[63]],
1059
+ ["ZBAA", STATIONS[64]],
1060
+ ["ZSPD", STATIONS[65]]
791
1061
  ]);
792
1062
 
793
1063
  // ../core/src/data/generated/source-priority.ts
@@ -916,9 +1186,9 @@ function toJsonSafe(value, seen) {
916
1186
  }
917
1187
  return { _repr_only: true, value: String(value) };
918
1188
  }
919
- var TradewindsError = class extends Error {
1189
+ var MostlyRightError = class extends Error {
920
1190
  /** Subclass override — the stable string enum surfaced via `errorCode`. */
921
- static defaultErrorCode = "TRADEWINDS_ERROR";
1191
+ static defaultErrorCode = "MOSTLYRIGHT_ERROR";
922
1192
  errorCode;
923
1193
  source;
924
1194
  requestId;
@@ -950,7 +1220,7 @@ var TradewindsError = class extends Error {
950
1220
  return safe;
951
1221
  }
952
1222
  };
953
- var SourceUnavailableError = class extends TradewindsError {
1223
+ var SourceUnavailableError = class extends MostlyRightError {
954
1224
  static defaultErrorCode = "SOURCE_UNAVAILABLE";
955
1225
  httpStatus;
956
1226
  retryable;
@@ -984,7 +1254,7 @@ var DATA_AVAILABILITY_REASONS = [
984
1254
  "source_5xx",
985
1255
  "rate_limited"
986
1256
  ];
987
- var DataAvailabilityError = class extends TradewindsError {
1257
+ var DataAvailabilityError = class extends MostlyRightError {
988
1258
  static defaultErrorCode = "DATA_AVAILABILITY";
989
1259
  reason;
990
1260
  hint;
@@ -1010,7 +1280,32 @@ var DataAvailabilityError = class extends TradewindsError {
1010
1280
  };
1011
1281
  }
1012
1282
  };
1013
- var SchemaValidationError = class extends TradewindsError {
1283
+ var NwpNotAvailableError = class extends DataAvailabilityError {
1284
+ static defaultErrorCode = "NWP_NOT_AVAILABLE";
1285
+ station;
1286
+ model;
1287
+ constructor(options) {
1288
+ const parentOpts = {
1289
+ reason: "model_unavailable",
1290
+ hint: options.hint,
1291
+ source: options.source ?? `nwp.${options.model}`
1292
+ };
1293
+ if (options.requestId !== void 0 && options.requestId !== null) {
1294
+ parentOpts.requestId = options.requestId;
1295
+ }
1296
+ super(parentOpts);
1297
+ this.station = options.station;
1298
+ this.model = options.model;
1299
+ }
1300
+ payload() {
1301
+ return {
1302
+ ...super.payload(),
1303
+ station: this.station,
1304
+ model: this.model
1305
+ };
1306
+ }
1307
+ };
1308
+ var SchemaValidationError = class extends MostlyRightError {
1014
1309
  static defaultErrorCode = "SCHEMA_VALIDATION_FAILED";
1015
1310
  schemaId;
1016
1311
  violations;
@@ -1033,7 +1328,7 @@ var SchemaValidationError = class extends TradewindsError {
1033
1328
  };
1034
1329
  }
1035
1330
  };
1036
- var SourceMismatchError = class extends TradewindsError {
1331
+ var SourceMismatchError = class extends MostlyRightError {
1037
1332
  static defaultErrorCode = "SOURCE_MISMATCH";
1038
1333
  /** Canonical role-name vocabulary (design.md §R). */
1039
1334
  static VALID_ROLES = /* @__PURE__ */ new Set([
@@ -1062,7 +1357,7 @@ var SourceMismatchError = class extends TradewindsError {
1062
1357
  };
1063
1358
  }
1064
1359
  };
1065
- var LeakageError = class extends TradewindsError {
1360
+ var LeakageError = class extends MostlyRightError {
1066
1361
  static defaultErrorCode = "LEAKAGE_DETECTED";
1067
1362
  asOf;
1068
1363
  violatingCount;
@@ -1082,7 +1377,50 @@ var LeakageError = class extends TradewindsError {
1082
1377
  };
1083
1378
  }
1084
1379
  };
1085
- var TemporalDriftError = class extends TradewindsError {
1380
+ var IssuedAtMissingError = class extends SchemaValidationError {
1381
+ static defaultErrorCode = "ISSUED_AT_MISSING";
1382
+ violatingCountRows;
1383
+ constructor(message, options = {}) {
1384
+ super(message, {
1385
+ ...options,
1386
+ schemaId: "schema.forecast.station.v1",
1387
+ violations: [{ column: "issued_at", rule: "non_null" }]
1388
+ });
1389
+ this.violatingCountRows = options.violatingCount ?? 0;
1390
+ }
1391
+ payload() {
1392
+ return {
1393
+ ...super.payload(),
1394
+ name: "IssuedAtMissingError",
1395
+ violating_count: this.violatingCountRows,
1396
+ origin_issue: "Tarabcak/mostlyright#70"
1397
+ };
1398
+ }
1399
+ };
1400
+ var OpenMeteoSeamlessLeakageError = class extends LeakageError {
1401
+ static defaultErrorCode = "OPEN_METEO_SEAMLESS_LEAKAGE";
1402
+ model;
1403
+ endpointUrl;
1404
+ constructor(message, options) {
1405
+ super(message, {
1406
+ ...options,
1407
+ asOf: options.asOf ?? "(seamless-endpoint-refused-before-fetch)",
1408
+ violatingCount: 0
1409
+ });
1410
+ this.model = options.model;
1411
+ this.endpointUrl = options.endpointUrl;
1412
+ }
1413
+ payload() {
1414
+ return {
1415
+ ...super.payload(),
1416
+ name: "OpenMeteoSeamlessLeakageError",
1417
+ model: this.model,
1418
+ endpoint_url: this.endpointUrl,
1419
+ origin_issue: "Tarabcak/mostlyright#70"
1420
+ };
1421
+ }
1422
+ };
1423
+ var TemporalDriftError = class extends MostlyRightError {
1086
1424
  static defaultErrorCode = "TEMPORAL_DRIFT";
1087
1425
  schemaId;
1088
1426
  assertedRange;
@@ -1105,7 +1443,7 @@ var TemporalDriftError = class extends TradewindsError {
1105
1443
  };
1106
1444
  }
1107
1445
  };
1108
- var PayloadTooLargeError = class extends TradewindsError {
1446
+ var PayloadTooLargeError = class extends MostlyRightError {
1109
1447
  static defaultErrorCode = "PAYLOAD_TOO_LARGE";
1110
1448
  declaredSize;
1111
1449
  limit;
@@ -1125,13 +1463,13 @@ var PayloadTooLargeError = class extends TradewindsError {
1125
1463
  };
1126
1464
  }
1127
1465
  };
1128
- var DeferredMarketError = class extends TradewindsError {
1466
+ var DeferredMarketError = class extends MostlyRightError {
1129
1467
  static defaultErrorCode = "DEFERRED_MARKET";
1130
1468
  };
1131
- var PolymarketEventError = class extends TradewindsError {
1469
+ var PolymarketEventError = class extends MostlyRightError {
1132
1470
  static defaultErrorCode = "POLYMARKET_EVENT_INVALID";
1133
1471
  };
1134
- var TherminalError = class extends TradewindsError {
1472
+ var TherminalError = class extends MostlyRightError {
1135
1473
  static defaultErrorCode = "HTTP_ERROR";
1136
1474
  statusCode;
1137
1475
  constructor(message, options = {}) {
@@ -1190,7 +1528,7 @@ var ServerError = class extends TherminalError {
1190
1528
  super(message, { ...options, statusCode: options.statusCode ?? 500 });
1191
1529
  }
1192
1530
  };
1193
- var LiveStreamError = class extends TradewindsError {
1531
+ var LiveStreamError = class extends MostlyRightError {
1194
1532
  static defaultErrorCode = "LIVE_STREAM_ERROR";
1195
1533
  };
1196
1534
  var NoLiveDataError = class extends LiveStreamError {
@@ -1446,6 +1784,69 @@ function marketCloseUtc(dateStr, station, tzOverride) {
1446
1784
  return new Date(marketCloseAsUtcMs - offsetHours * 36e5);
1447
1785
  }
1448
1786
 
1787
+ // ../core/src/stations/index.ts
1788
+ var StationCatalog = class {
1789
+ stations;
1790
+ byCode;
1791
+ byIcao;
1792
+ constructor(stations = STATIONS) {
1793
+ this.stations = stations;
1794
+ if (stations === STATIONS) {
1795
+ this.byCode = STATION_BY_CODE;
1796
+ this.byIcao = STATION_BY_ICAO;
1797
+ } else {
1798
+ const byCode = /* @__PURE__ */ new Map();
1799
+ const byIcao = /* @__PURE__ */ new Map();
1800
+ for (const s of stations) {
1801
+ if (s.code !== null) byCode.set(s.code, s);
1802
+ byIcao.set(s.icao, s);
1803
+ }
1804
+ this.byCode = byCode;
1805
+ this.byIcao = byIcao;
1806
+ }
1807
+ }
1808
+ /**
1809
+ * Return the station for `code` (registry code or ICAO).
1810
+ * @throws if no station matches.
1811
+ */
1812
+ get(code) {
1813
+ const station = this.byCode.get(code) ?? this.byIcao.get(code);
1814
+ if (station === void 0) {
1815
+ throw new Error(
1816
+ `Unknown station ${JSON.stringify(code)}. Expected a registry code (e.g. "NYC", "EGLL") or a 4-letter ICAO (e.g. "KNYC").`
1817
+ );
1818
+ }
1819
+ return station;
1820
+ }
1821
+ /** Stations tagged with `venue` (e.g. "kalshi"), sorted by ICAO. */
1822
+ filterByVenue(venue) {
1823
+ return this.stations.filter((s) => s.venues.includes(venue)).sort((a, b) => a.icao.localeCompare(b.icao));
1824
+ }
1825
+ /** Stations whose ISO 3166-1 alpha-2 `country` matches, sorted by ICAO. */
1826
+ filterByCountry(country) {
1827
+ return this.stations.filter((s) => s.country === country).sort((a, b) => a.icao.localeCompare(b.icao));
1828
+ }
1829
+ /** Union of all venue tags present in the catalog. */
1830
+ venues() {
1831
+ const out = /* @__PURE__ */ new Set();
1832
+ for (const s of this.stations) {
1833
+ for (const v of s.venues) out.add(v);
1834
+ }
1835
+ return out;
1836
+ }
1837
+ /** True iff `code` resolves to a station (by registry code or ICAO). */
1838
+ has(code) {
1839
+ return this.byCode.has(code) || this.byIcao.has(code);
1840
+ }
1841
+ get size() {
1842
+ return this.stations.length;
1843
+ }
1844
+ [Symbol.iterator]() {
1845
+ return this.stations[Symbol.iterator]();
1846
+ }
1847
+ };
1848
+ var CATALOG = new StationCatalog();
1849
+
1449
1850
  // ../core/src/internal/http.ts
1450
1851
  var DEFAULT_BASE_DELAY_MS = 1e3;
1451
1852
  var DEFAULT_MAX_RETRIES = 3;
@@ -1608,13 +2009,16 @@ export {
1608
2009
  QC_ALPHA_RULES,
1609
2010
  QC_ALPHA_RULES_BY_ID,
1610
2011
  toJsonSafe,
1611
- TradewindsError,
2012
+ MostlyRightError,
1612
2013
  SourceUnavailableError,
1613
2014
  DATA_AVAILABILITY_REASONS,
1614
2015
  DataAvailabilityError,
2016
+ NwpNotAvailableError,
1615
2017
  SchemaValidationError,
1616
2018
  SourceMismatchError,
1617
2019
  LeakageError,
2020
+ IssuedAtMissingError,
2021
+ OpenMeteoSeamlessLeakageError,
1618
2022
  TemporalDriftError,
1619
2023
  PayloadTooLargeError,
1620
2024
  DeferredMarketError,
@@ -1639,9 +2043,11 @@ export {
1639
2043
  settlementWindowUtc,
1640
2044
  cliAvailableAt,
1641
2045
  marketCloseUtc,
2046
+ StationCatalog,
2047
+ CATALOG,
1642
2048
  fetchWithRetry,
1643
2049
  version,
1644
2050
  helloCore,
1645
2051
  src_exports
1646
2052
  };
1647
- //# sourceMappingURL=chunk-WKPNA46C.mjs.map
2053
+ //# sourceMappingURL=chunk-7XWX6QZG.mjs.map