@mostlyrightmd/markets 1.2.0 → 1.5.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.
@@ -106,22 +106,22 @@ async function fetchEventById(eventId, opts = {}) {
106
106
  }
107
107
 
108
108
  // src/polymarket/errors.ts
109
- import { TradewindsError } from "@mostlyrightmd/core";
110
- var PolymarketEventError = class extends TradewindsError {
109
+ import { MostlyRightError } from "@mostlyrightmd/core";
110
+ var PolymarketEventError = class extends MostlyRightError {
111
111
  constructor(message) {
112
112
  super(message);
113
113
  this.name = "PolymarketEventError";
114
114
  }
115
115
  static defaultErrorCode = "POLYMARKET_EVENT_INVALID";
116
116
  };
117
- var PolymarketSettlementError = class extends TradewindsError {
117
+ var PolymarketSettlementError = class extends MostlyRightError {
118
118
  constructor(message) {
119
119
  super(message);
120
120
  this.name = "PolymarketSettlementError";
121
121
  }
122
122
  static defaultErrorCode = "POLYMARKET_SETTLEMENT_FAILED";
123
123
  };
124
- var TooEarlyToSettleError = class extends TradewindsError {
124
+ var TooEarlyToSettleError = class extends MostlyRightError {
125
125
  waitHours;
126
126
  resolutionSourceType;
127
127
  constructor(message, opts) {
@@ -139,7 +139,7 @@ var TooEarlyToSettleError = class extends TradewindsError {
139
139
  };
140
140
  }
141
141
  };
142
- var PayloadTooLargeError = class extends TradewindsError {
142
+ var PayloadTooLargeError = class extends MostlyRightError {
143
143
  constructor(message) {
144
144
  super(message);
145
145
  this.name = "PayloadTooLargeError";
@@ -175,7 +175,7 @@ var SETTLE_DELAY_HOURS = Object.freeze({
175
175
  other: 24
176
176
  });
177
177
  var SLUG_DATE_RE = /(\d{4})-(\d{2})-(\d{2})/g;
178
- var DEFERRED_STATIONS = /* @__PURE__ */ new Set(["VHHH", "RCTP"]);
178
+ var DEFERRED_STATIONS = /* @__PURE__ */ new Set(["HKO", "RCSS"]);
179
179
 
180
180
  // src/polymarket/description.ts
181
181
  var URL_RE = /https?:\/\/[^\s<>"')]{1,2048}/g;
@@ -236,92 +236,92 @@ var POLYMARKET_CITY_STATIONS = {
236
236
  amsterdam: {
237
237
  default: "EHAM"
238
238
  },
239
+ ankara: {
240
+ default: "LTAC"
241
+ },
239
242
  atlanta: {
240
243
  default: "KATL"
241
244
  },
242
- auckland: {
243
- default: "NZAA"
244
- },
245
245
  austin: {
246
246
  default: "KAUS"
247
247
  },
248
- bangkok: {
249
- default: "VTBS"
250
- },
251
- barcelona: {
252
- default: "LEBL"
253
- },
254
248
  beijing: {
255
249
  default: "ZBAA"
256
250
  },
257
- berlin: {
258
- default: "EDDB"
251
+ buenos_aires: {
252
+ default: "SAEZ"
259
253
  },
260
- boston: {
261
- default: "KBOS"
254
+ busan: {
255
+ default: "RKPK"
262
256
  },
263
- brisbane: {
264
- default: "YBBN"
257
+ cape_town: {
258
+ default: "FACT"
265
259
  },
266
- buenos_aires: {
267
- default: "SAEZ"
260
+ chengdu: {
261
+ default: "ZUUU"
268
262
  },
269
263
  chicago: {
270
264
  default: "KORD",
271
265
  high: "KORD",
272
266
  low: "KORD"
273
267
  },
274
- copenhagen: {
275
- default: "EKCH"
268
+ chongqing: {
269
+ default: "ZUCK"
276
270
  },
277
271
  dallas: {
278
- default: "KDFW"
279
- },
280
- delhi: {
281
- default: "VIDP"
272
+ default: "KDAL"
282
273
  },
283
274
  denver: {
284
- default: "KDEN"
285
- },
286
- detroit: {
287
- default: "KDTW"
288
- },
289
- doha: {
290
- default: "OTHH"
291
- },
292
- dubai: {
293
- default: "OMDB"
275
+ default: "KBKF"
294
276
  },
295
- frankfurt: {
296
- default: "EDDF"
277
+ guangzhou: {
278
+ default: "ZGGG"
297
279
  },
298
280
  helsinki: {
299
281
  default: "EFHK"
300
282
  },
301
283
  hong_kong: {
302
- default: "VHHH",
303
- high: "VHHH",
304
- low: "VHHH"
284
+ default: "HKO",
285
+ high: "HKO",
286
+ low: "HKO"
305
287
  },
306
288
  houston: {
307
- default: "KIAH"
289
+ default: "KHOU"
308
290
  },
309
- london: {
310
- default: "EGLL"
291
+ istanbul: {
292
+ default: "LTFM"
293
+ },
294
+ jeddah: {
295
+ default: "OEJN"
296
+ },
297
+ jinan: {
298
+ default: "ZSJN"
311
299
  },
312
- london_gatwick: {
313
- default: "EGKK"
300
+ karachi: {
301
+ default: "OPKC"
302
+ },
303
+ kuala_lumpur: {
304
+ default: "WMKK"
305
+ },
306
+ london: {
307
+ default: "EGLC"
314
308
  },
315
309
  los_angeles: {
316
310
  default: "KLAX",
317
311
  high: "KLAX",
318
312
  low: "KLAX"
319
313
  },
314
+ lucknow: {
315
+ default: "VILK"
316
+ },
320
317
  madrid: {
321
318
  default: "LEMD"
322
319
  },
323
- melbourne: {
324
- default: "YMML"
320
+ manila: {
321
+ default: "RPLL"
322
+ },
323
+ mexico_city: {
324
+ default: "MMMX"
325
325
  },
326
326
  miami: {
327
327
  default: "KMIA"
@@ -329,14 +329,8 @@ var POLYMARKET_CITY_STATIONS = {
329
329
  milan: {
330
330
  default: "LIMC"
331
331
  },
332
- minneapolis: {
333
- default: "KMSP"
334
- },
335
332
  moscow: {
336
- default: "UUEE"
337
- },
338
- mumbai: {
339
- default: "VABB"
333
+ default: "UUWW"
340
334
  },
341
335
  munich: {
342
336
  default: "EDDM"
@@ -346,25 +340,14 @@ var POLYMARKET_CITY_STATIONS = {
346
340
  high: "KLGA",
347
341
  low: "KLGA"
348
342
  },
349
- paris: {
350
- default: "LFPG",
351
- high: "LFPG",
352
- low: "LFPB"
353
- },
354
- paris_orly: {
355
- default: "LFPO"
356
- },
357
- philadelphia: {
358
- default: "KPHL"
359
- },
360
- phoenix: {
361
- default: "KPHX"
343
+ panama_city: {
344
+ default: "MPMG"
362
345
  },
363
- riyadh: {
364
- default: "OERK"
346
+ paris: {
347
+ default: "LFPB"
365
348
  },
366
- rome: {
367
- default: "LIRF"
349
+ qingdao: {
350
+ default: "ZSQD"
368
351
  },
369
352
  san_francisco: {
370
353
  default: "KSFO"
@@ -381,40 +364,37 @@ var POLYMARKET_CITY_STATIONS = {
381
364
  shanghai: {
382
365
  default: "ZSPD"
383
366
  },
367
+ shenzhen: {
368
+ default: "ZGSZ"
369
+ },
384
370
  singapore: {
385
371
  default: "WSSS"
386
372
  },
387
- stockholm: {
388
- default: "ESSA"
389
- },
390
- sydney: {
391
- default: "YSSY"
392
- },
393
373
  taipei: {
394
- default: "RCTP"
374
+ default: "RCSS"
375
+ },
376
+ tel_aviv: {
377
+ default: "LLBG"
395
378
  },
396
379
  tokyo: {
397
380
  default: "RJTT",
398
381
  high: "RJTT",
399
382
  low: "RJTT"
400
383
  },
401
- tokyo_narita: {
402
- default: "RJAA"
403
- },
404
- vienna: {
405
- default: "LOWW"
384
+ toronto: {
385
+ default: "CYYZ"
406
386
  },
407
387
  warsaw: {
408
388
  default: "EPWA"
409
389
  },
410
- washington_dc: {
411
- default: "KDCA"
412
- },
413
390
  wellington: {
414
391
  default: "NZWN"
415
392
  },
416
- zurich: {
417
- default: "LSZH"
393
+ wuhan: {
394
+ default: "ZHHH"
395
+ },
396
+ zhengzhou: {
397
+ default: "ZHCC"
418
398
  }
419
399
  };
420
400
 
@@ -483,19 +463,9 @@ function resolveStationForEvent(event, marketMeasure) {
483
463
  const urlText = `${desc} ${resSrc}`;
484
464
  const extractedIcao = extractIcaoFromResolutionSource(urlText);
485
465
  if (extractedIcao !== null) {
486
- if (extractedIcao === "RCTP") {
466
+ if (DEFERRED_STATIONS.has(extractedIcao)) {
487
467
  throw new DeferredMarketError(
488
- `Polymarket market for station ${extractedIcao} is deferred until the v0.2 CWA client lands`
489
- );
490
- }
491
- if (extractedIcao === "VHHH" && marketMeasure === "low") {
492
- throw new DeferredMarketError(
493
- `Polymarket low-extreme market for station ${extractedIcao} is deferred until the v0.2 HKO client lands`
494
- );
495
- }
496
- if (DEFERRED_STATIONS.has(extractedIcao) && marketMeasure === "default") {
497
- throw new DeferredMarketError(
498
- `Polymarket market for deferred station ${extractedIcao} (measure=default) requires v0.2 client`
468
+ `Polymarket market for station ${extractedIcao} is deferred until the v0.2 source client lands (HKO/RCSS)`
499
469
  );
500
470
  }
501
471
  const cityForRow = cityKey ?? deriveCity(event) ?? "";
@@ -512,19 +482,9 @@ function resolveStationForEvent(event, marketMeasure) {
512
482
  else if (marketMeasure === "low" && typeof entry.low === "string") stationMeasure = "low";
513
483
  const icao = entry[stationMeasure] ?? entry.default;
514
484
  if (typeof icao !== "string") return null;
515
- if (icao === "RCTP") {
516
- throw new DeferredMarketError(
517
- `Polymarket market for station ${icao} is deferred until the v0.2 CWA client lands`
518
- );
519
- }
520
- if (icao === "VHHH" && marketMeasure === "low") {
521
- throw new DeferredMarketError(
522
- `Polymarket low-extreme market for station ${icao} is deferred until the v0.2 HKO client lands`
523
- );
524
- }
525
- if (DEFERRED_STATIONS.has(icao) && marketMeasure === "default") {
485
+ if (DEFERRED_STATIONS.has(icao)) {
526
486
  throw new DeferredMarketError(
527
- `Polymarket market for deferred station ${icao} (measure=default) requires v0.2 client`
487
+ `Polymarket market for station ${icao} is deferred until the v0.2 source client lands (HKO/RCSS)`
528
488
  );
529
489
  }
530
490
  return { city: cityKey, icao, stationMeasure };
@@ -620,14 +580,14 @@ var POLYMARKET_KNOWN_WRONG_STATIONS = Object.freeze({
620
580
  nyc: /* @__PURE__ */ new Set(["KNYC", "KJFK", "KEWR"]),
621
581
  // Chicago: Polymarket uses KORD. KMDW is the common wrong answer.
622
582
  chicago: /* @__PURE__ */ new Set(["KMDW"]),
623
- // Houston: Polymarket uses KIAH. KHOU is the common wrong answer.
624
- houston: /* @__PURE__ */ new Set(["KHOU"]),
625
- // Dallas: Polymarket uses KDFW. KDAL is the common wrong answer.
626
- dallas: /* @__PURE__ */ new Set(["KDAL"]),
583
+ // Houston: Phase 23 moved Polymarket to KHOU. KIAH (Kalshi's station) is
584
+ // now the cross-venue wrong answer for a Polymarket Houston market.
585
+ houston: /* @__PURE__ */ new Set(["KIAH"]),
586
+ // Dallas: Phase 23 moved Polymarket to KDAL. KDFW (Kalshi's station) is
587
+ // now the cross-venue wrong answer.
588
+ dallas: /* @__PURE__ */ new Set(["KDFW"]),
627
589
  // SF: Polymarket uses KSFO. KOAK is the common wrong answer.
628
- san_francisco: /* @__PURE__ */ new Set(["KOAK"]),
629
- // DC: Polymarket uses KDCA. KIAD/KBWI are common wrong answers.
630
- washington_dc: /* @__PURE__ */ new Set(["KIAD", "KBWI"])
590
+ san_francisco: /* @__PURE__ */ new Set(["KOAK"])
631
591
  });
632
592
 
633
593
  // src/polymarket/settle.ts