pmxt-core 2.38.0 → 2.39.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 (47) hide show
  1. package/dist/BaseExchange.d.ts +14 -14
  2. package/dist/BaseExchange.js +19 -19
  3. package/dist/exchanges/baozi/index.d.ts +2 -2
  4. package/dist/exchanges/baozi/index.js +5 -5
  5. package/dist/exchanges/kalshi/api.d.ts +1 -1
  6. package/dist/exchanges/kalshi/api.js +1 -1
  7. package/dist/exchanges/kalshi/index.d.ts +6 -6
  8. package/dist/exchanges/kalshi/index.js +14 -14
  9. package/dist/exchanges/limitless/api.d.ts +1 -1
  10. package/dist/exchanges/limitless/api.js +1 -1
  11. package/dist/exchanges/limitless/index.d.ts +5 -5
  12. package/dist/exchanges/limitless/index.js +15 -12
  13. package/dist/exchanges/myriad/api.d.ts +1 -1
  14. package/dist/exchanges/myriad/api.js +1 -1
  15. package/dist/exchanges/myriad/index.d.ts +5 -5
  16. package/dist/exchanges/myriad/index.js +14 -14
  17. package/dist/exchanges/myriad/websocket.d.ts +2 -2
  18. package/dist/exchanges/myriad/websocket.js +12 -12
  19. package/dist/exchanges/opinion/api.d.ts +1 -1
  20. package/dist/exchanges/opinion/api.js +1 -1
  21. package/dist/exchanges/opinion/index.d.ts +4 -4
  22. package/dist/exchanges/opinion/index.js +9 -9
  23. package/dist/exchanges/polymarket/api-clob.d.ts +1 -1
  24. package/dist/exchanges/polymarket/api-clob.js +1 -1
  25. package/dist/exchanges/polymarket/api-data.d.ts +1 -1
  26. package/dist/exchanges/polymarket/api-data.js +1 -1
  27. package/dist/exchanges/polymarket/api-gamma.d.ts +1 -1
  28. package/dist/exchanges/polymarket/api-gamma.js +1 -1
  29. package/dist/exchanges/polymarket/index.d.ts +6 -6
  30. package/dist/exchanges/polymarket/index.js +19 -19
  31. package/dist/exchanges/polymarket/websocket.d.ts +3 -3
  32. package/dist/exchanges/polymarket/websocket.js +21 -21
  33. package/dist/exchanges/polymarket_us/index.d.ts +3 -3
  34. package/dist/exchanges/polymarket_us/index.js +7 -7
  35. package/dist/exchanges/polymarket_us/websocket.d.ts +2 -2
  36. package/dist/exchanges/polymarket_us/websocket.js +6 -6
  37. package/dist/exchanges/probable/api.d.ts +1 -1
  38. package/dist/exchanges/probable/api.js +1 -1
  39. package/dist/exchanges/probable/index.d.ts +4 -4
  40. package/dist/exchanges/probable/index.js +9 -9
  41. package/dist/exchanges/smarkets/index.d.ts +2 -2
  42. package/dist/exchanges/smarkets/index.js +5 -5
  43. package/dist/router/Router.d.ts +1 -1
  44. package/dist/router/Router.js +3 -3
  45. package/dist/server/method-verbs.json +7 -7
  46. package/dist/server/openapi.yaml +3 -3
  47. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/opinion/opinion-openapi.yaml
3
- * Generated at: 2026-05-08T19:42:37.556Z
3
+ * Generated at: 2026-05-08T20:27:07.094Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const opinionApiSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.opinionApiSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/opinion/opinion-openapi.yaml
6
- * Generated at: 2026-05-08T19:42:37.556Z
6
+ * Generated at: 2026-05-08T20:27:07.094Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.opinionApiSpec = {
@@ -21,8 +21,8 @@ export declare class OpinionExchange extends PredictionMarketExchange {
21
21
  protected mapImplicitApiError(error: any): any;
22
22
  protected fetchMarketsImpl(params?: MarketFilterParams): Promise<UnifiedMarket[]>;
23
23
  protected fetchEventsImpl(params: EventFetchParams): Promise<UnifiedEvent[]>;
24
- fetchOHLCV(id: string, params: OHLCVParams): Promise<PriceCandle[]>;
25
- fetchOrderBook(id: string): Promise<OrderBook>;
24
+ fetchOHLCV(outcomeId: string, params: OHLCVParams): Promise<PriceCandle[]>;
25
+ fetchOrderBook(outcomeId: string): Promise<OrderBook>;
26
26
  fetchMyTrades(params?: MyTradesParams): Promise<UserTrade[]>;
27
27
  fetchPositions(): Promise<Position[]>;
28
28
  fetchOrder(orderId: string): Promise<Order>;
@@ -33,8 +33,8 @@ export declare class OpinionExchange extends PredictionMarketExchange {
33
33
  submitOrder(built: BuiltOrder): Promise<Order>;
34
34
  createOrder(params: CreateOrderParams): Promise<Order>;
35
35
  cancelOrder(orderId: string): Promise<Order>;
36
- watchOrderBook(id: string): Promise<OrderBook>;
37
- watchTrades(id: string): Promise<Trade[]>;
36
+ watchOrderBook(outcomeId: string): Promise<OrderBook>;
37
+ watchTrades(outcomeId: string): Promise<Trade[]>;
38
38
  close(): Promise<void>;
39
39
  /**
40
40
  * Resolve an ID (which may be a token/outcome ID or a numeric market ID string)
@@ -165,13 +165,13 @@ class OpinionExchange extends BaseExchange_1.PredictionMarketExchange {
165
165
  await this.enrichPrices(allMarkets);
166
166
  return events;
167
167
  }
168
- async fetchOHLCV(id, params) {
169
- const rawPoints = await this.fetcher.fetchRawOHLCV(id, params);
168
+ async fetchOHLCV(outcomeId, params) {
169
+ const rawPoints = await this.fetcher.fetchRawOHLCV(outcomeId, params);
170
170
  return this.normalizer.normalizeOHLCV({ history: rawPoints }, params);
171
171
  }
172
- async fetchOrderBook(id) {
173
- const raw = await this.fetcher.fetchRawOrderBook(id);
174
- return this.normalizer.normalizeOrderBook(raw, id);
172
+ async fetchOrderBook(outcomeId) {
173
+ const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
174
+ return this.normalizer.normalizeOrderBook(raw, outcomeId);
175
175
  }
176
176
  // -------------------------------------------------------------------------
177
177
  // User Data (fetcher -> normalizer)
@@ -323,14 +323,14 @@ class OpinionExchange extends BaseExchange_1.PredictionMarketExchange {
323
323
  // -------------------------------------------------------------------------
324
324
  // WebSocket
325
325
  // -------------------------------------------------------------------------
326
- async watchOrderBook(id) {
326
+ async watchOrderBook(outcomeId) {
327
327
  const ws = this.ensureWebSocket();
328
- const marketId = this.resolveMarketId(id);
328
+ const marketId = this.resolveMarketId(outcomeId);
329
329
  return ws.watchOrderBook(marketId);
330
330
  }
331
- async watchTrades(id) {
331
+ async watchTrades(outcomeId) {
332
332
  const ws = this.ensureWebSocket();
333
- const marketId = this.resolveMarketId(id);
333
+ const marketId = this.resolveMarketId(outcomeId);
334
334
  return ws.watchTrades(marketId);
335
335
  }
336
336
  async close() {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketClobAPI.yaml
3
- * Generated at: 2026-05-08T19:42:37.506Z
3
+ * Generated at: 2026-05-08T20:27:07.017Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const polymarketClobSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.polymarketClobSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketClobAPI.yaml
6
- * Generated at: 2026-05-08T19:42:37.506Z
6
+ * Generated at: 2026-05-08T20:27:07.017Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.polymarketClobSpec = {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/Polymarket_Data_API.yaml
3
- * Generated at: 2026-05-08T19:42:37.518Z
3
+ * Generated at: 2026-05-08T20:27:07.042Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const polymarketDataSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.polymarketDataSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/Polymarket_Data_API.yaml
6
- * Generated at: 2026-05-08T19:42:37.518Z
6
+ * Generated at: 2026-05-08T20:27:07.042Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.polymarketDataSpec = {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketGammaAPI.yaml
3
- * Generated at: 2026-05-08T19:42:37.516Z
3
+ * Generated at: 2026-05-08T20:27:07.038Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const polymarketGammaSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.polymarketGammaSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketGammaAPI.yaml
6
- * Generated at: 2026-05-08T19:42:37.516Z
6
+ * Generated at: 2026-05-08T20:27:07.038Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.polymarketGammaSpec = {
@@ -26,9 +26,9 @@ export declare class PolymarketExchange extends PredictionMarketExchange {
26
26
  * a privateKey was provided (not apiKey/apiSecret/passphrase).
27
27
  */
28
28
  initAuth(): Promise<void>;
29
- fetchOHLCV(id: string, params: OHLCVParams): Promise<PriceCandle[]>;
30
- fetchOrderBook(id: string): Promise<OrderBook>;
31
- fetchTrades(id: string, params: TradesParams | HistoryFilterParams): Promise<Trade[]>;
29
+ fetchOHLCV(outcomeId: string, params: OHLCVParams): Promise<PriceCandle[]>;
30
+ fetchOrderBook(outcomeId: string): Promise<OrderBook>;
31
+ fetchTrades(outcomeId: string, params: TradesParams | HistoryFilterParams): Promise<Trade[]>;
32
32
  /**
33
33
  * Pre-warm the SDK's internal caches for a market outcome.
34
34
  *
@@ -49,9 +49,9 @@ export declare class PolymarketExchange extends PredictionMarketExchange {
49
49
  fetchMyTrades(params?: MyTradesParams): Promise<UserTrade[]>;
50
50
  fetchPositions(address?: string): Promise<Position[]>;
51
51
  fetchBalance(address?: string): Promise<Balance[]>;
52
- watchOrderBook(id: string, limit?: number): Promise<OrderBook>;
53
- unwatchOrderBook(id: string): Promise<void>;
54
- watchTrades(id: string, address?: string, since?: number, limit?: number): Promise<Trade[]>;
52
+ watchOrderBook(outcomeId: string, limit?: number): Promise<OrderBook>;
53
+ unwatchOrderBook(outcomeId: string): Promise<void>;
54
+ watchTrades(outcomeId: string, address?: string, since?: number, limit?: number): Promise<Trade[]>;
55
55
  watchAddress(address: string, types?: SubscriptionOption[]): Promise<SubscribedAddressSnapshot>;
56
56
  unwatchAddress(address: string): Promise<void>;
57
57
  close(): Promise<void>;
@@ -101,29 +101,29 @@ class PolymarketExchange extends BaseExchange_1.PredictionMarketExchange {
101
101
  };
102
102
  this.cachedAddress = auth.getFunderAddress();
103
103
  }
104
- async fetchOHLCV(id, params) {
105
- (0, validation_1.validateIdFormat)(id, 'OHLCV');
106
- (0, validation_1.validateOutcomeId)(id, 'OHLCV');
104
+ async fetchOHLCV(outcomeId, params) {
105
+ (0, validation_1.validateIdFormat)(outcomeId, 'OHLCV');
106
+ (0, validation_1.validateOutcomeId)(outcomeId, 'OHLCV');
107
107
  if (!params.resolution) {
108
108
  throw new Error('fetchOHLCV requires a resolution parameter. Use OHLCVParams with resolution specified.');
109
109
  }
110
- const raw = await this.fetcher.fetchRawOHLCV(id, params);
110
+ const raw = await this.fetcher.fetchRawOHLCV(outcomeId, params);
111
111
  return this.normalizer.normalizeOHLCV(raw, params);
112
112
  }
113
- async fetchOrderBook(id) {
114
- (0, validation_1.validateIdFormat)(id, 'OrderBook');
115
- (0, validation_1.validateOutcomeId)(id, 'OrderBook');
116
- const raw = await this.fetcher.fetchRawOrderBook(id);
117
- return this.normalizer.normalizeOrderBook(raw, id);
113
+ async fetchOrderBook(outcomeId) {
114
+ (0, validation_1.validateIdFormat)(outcomeId, 'OrderBook');
115
+ (0, validation_1.validateOutcomeId)(outcomeId, 'OrderBook');
116
+ const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
117
+ return this.normalizer.normalizeOrderBook(raw, outcomeId);
118
118
  }
119
- async fetchTrades(id, params) {
120
- (0, validation_1.validateIdFormat)(id, 'Trades');
121
- (0, validation_1.validateOutcomeId)(id, 'Trades');
119
+ async fetchTrades(outcomeId, params) {
120
+ (0, validation_1.validateIdFormat)(outcomeId, 'Trades');
121
+ (0, validation_1.validateOutcomeId)(outcomeId, 'Trades');
122
122
  if ('resolution' in params && params.resolution !== undefined) {
123
123
  console.warn('[pmxt] Warning: The "resolution" parameter is deprecated for fetchTrades() and will be ignored. ' +
124
124
  'It will be removed in v3.0.0. Please remove it from your code.');
125
125
  }
126
- const rawTrades = await this.fetcher.fetchRawTrades(id, params);
126
+ const rawTrades = await this.fetcher.fetchRawTrades(outcomeId, params);
127
127
  const mappedTrades = rawTrades.map((raw, i) => this.normalizer.normalizeTrade(raw, i));
128
128
  if (params.limit && mappedTrades.length > params.limit) {
129
129
  return mappedTrades.slice(0, params.limit);
@@ -411,14 +411,14 @@ class PolymarketExchange extends BaseExchange_1.PredictionMarketExchange {
411
411
  // ----------------------------------------------------------------------------
412
412
  // WebSocket Methods
413
413
  // ----------------------------------------------------------------------------
414
- async watchOrderBook(id, limit) {
415
- return this.ensureWs().watchOrderBook(id);
414
+ async watchOrderBook(outcomeId, limit) {
415
+ return this.ensureWs().watchOrderBook(outcomeId);
416
416
  }
417
- async unwatchOrderBook(id) {
418
- return this.ensureWs().unwatchOrderBook(id);
417
+ async unwatchOrderBook(outcomeId) {
418
+ return this.ensureWs().unwatchOrderBook(outcomeId);
419
419
  }
420
- async watchTrades(id, address, since, limit) {
421
- return this.ensureWs().watchTrades(id, address);
420
+ async watchTrades(outcomeId, address, since, limit) {
421
+ return this.ensureWs().watchTrades(outcomeId, address);
422
422
  }
423
423
  async watchAddress(address, types = ['trades', 'positions', 'balances']) {
424
424
  return this.ensureWs().watchAddress(address, types);
@@ -31,9 +31,9 @@ export declare class PolymarketWebSocket {
31
31
  private config;
32
32
  private initializationPromise?;
33
33
  constructor(callApi: (operationId: string, params?: Record<string, any>) => Promise<any>, config?: PolymarketWebSocketConfig);
34
- watchOrderBook(id: string): Promise<OrderBook>;
35
- unwatchOrderBook(id: string): Promise<void>;
36
- watchTrades(id: string, address?: string): Promise<Trade[]>;
34
+ watchOrderBook(outcomeId: string): Promise<OrderBook>;
35
+ unwatchOrderBook(outcomeId: string): Promise<void>;
36
+ watchTrades(outcomeId: string, address?: string): Promise<Trade[]>;
37
37
  watchAddress(address: string, types: SubscriptionOption[]): Promise<SubscribedAddressSnapshot>;
38
38
  unwatchAddress(address: string): Promise<void>;
39
39
  close(): Promise<void>;
@@ -68,55 +68,55 @@ class PolymarketWebSocket {
68
68
  buildActivity: goldsky_1.buildPolymarketActivity,
69
69
  });
70
70
  }
71
- async watchOrderBook(id) {
71
+ async watchOrderBook(outcomeId) {
72
72
  await this.ensureInitialized();
73
73
  // Subscribe to the asset if not already subscribed
74
74
  const currentAssets = this.manager.getAssetIds();
75
- if (!currentAssets.includes(id)) {
76
- await this.manager.addSubscriptions([id]);
75
+ if (!currentAssets.includes(outcomeId)) {
76
+ await this.manager.addSubscriptions([outcomeId]);
77
77
  }
78
78
  // Return a promise that resolves on the next orderbook update
79
79
  const dataPromise = new Promise((resolve, reject) => {
80
- if (!this.orderBookResolvers.has(id)) {
81
- this.orderBookResolvers.set(id, []);
80
+ if (!this.orderBookResolvers.has(outcomeId)) {
81
+ this.orderBookResolvers.set(outcomeId, []);
82
82
  }
83
- this.orderBookResolvers.get(id).push({ resolve, reject });
83
+ this.orderBookResolvers.get(outcomeId).push({ resolve, reject });
84
84
  });
85
- return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchOrderBook('${id}')`);
85
+ return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchOrderBook('${outcomeId}')`);
86
86
  }
87
- async unwatchOrderBook(id) {
87
+ async unwatchOrderBook(outcomeId) {
88
88
  if (!this.manager) {
89
89
  return;
90
90
  }
91
- await this.manager.removeSubscriptions([id]);
91
+ await this.manager.removeSubscriptions([outcomeId]);
92
92
  // Clear any pending resolvers for this asset
93
- const resolvers = this.orderBookResolvers.get(id);
93
+ const resolvers = this.orderBookResolvers.get(outcomeId);
94
94
  if (resolvers) {
95
- this.orderBookResolvers = new Map([...this.orderBookResolvers].filter(([key]) => key !== id));
95
+ this.orderBookResolvers = new Map([...this.orderBookResolvers].filter(([key]) => key !== outcomeId));
96
96
  }
97
97
  // Remove the cached orderbook for this asset
98
- if (this.orderBooks.has(id)) {
99
- this.orderBooks = new Map([...this.orderBooks].filter(([key]) => key !== id));
98
+ if (this.orderBooks.has(outcomeId)) {
99
+ this.orderBooks = new Map([...this.orderBooks].filter(([key]) => key !== outcomeId));
100
100
  }
101
101
  }
102
- async watchTrades(id, address) {
102
+ async watchTrades(outcomeId, address) {
103
103
  if (address) {
104
- return this.watcher.watch(address, ['trades'], id);
104
+ return this.watcher.watch(address, ['trades'], outcomeId);
105
105
  }
106
106
  await this.ensureInitialized();
107
107
  // Subscribe to the asset if not already subscribed
108
108
  const currentAssets = this.manager.getAssetIds();
109
- if (!currentAssets.includes(id)) {
110
- await this.manager.addSubscriptions([id]);
109
+ if (!currentAssets.includes(outcomeId)) {
110
+ await this.manager.addSubscriptions([outcomeId]);
111
111
  }
112
112
  // Return a promise that resolves on the next trade
113
113
  const dataPromise = new Promise((resolve, reject) => {
114
- if (!this.tradeResolvers.has(id)) {
115
- this.tradeResolvers.set(id, []);
114
+ if (!this.tradeResolvers.has(outcomeId)) {
115
+ this.tradeResolvers.set(outcomeId, []);
116
116
  }
117
- this.tradeResolvers.get(id).push({ resolve, reject });
117
+ this.tradeResolvers.get(outcomeId).push({ resolve, reject });
118
118
  });
119
- return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchTrades('${id}')`);
119
+ return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchTrades('${outcomeId}')`);
120
120
  }
121
121
  async watchAddress(address, types) {
122
122
  return this.watcher.watch(address, types);
@@ -46,7 +46,7 @@ export declare class PolymarketUSExchange extends PredictionMarketExchange {
46
46
  private slugFromId;
47
47
  protected fetchMarketsImpl(params?: MarketFetchParams): Promise<UnifiedMarket[]>;
48
48
  protected fetchEventsImpl(params: EventFetchParams): Promise<UnifiedEvent[]>;
49
- fetchOrderBook(id: string): Promise<OrderBook>;
49
+ fetchOrderBook(outcomeId: string): Promise<OrderBook>;
50
50
  fetchBalance(_address?: string): Promise<Balance[]>;
51
51
  fetchPositions(_address?: string): Promise<Position[]>;
52
52
  fetchMyTrades(params?: MyTradesParams): Promise<UserTrade[]>;
@@ -62,7 +62,7 @@ export declare class PolymarketUSExchange extends PredictionMarketExchange {
62
62
  * method calls `requireAuth()` up front.
63
63
  */
64
64
  private ensureWs;
65
- watchOrderBook(id: string, _limit?: number): Promise<OrderBook>;
66
- watchTrades(id: string, _address?: string, _since?: number, _limit?: number): Promise<Trade[]>;
65
+ watchOrderBook(outcomeId: string, _limit?: number): Promise<OrderBook>;
66
+ watchTrades(outcomeId: string, _address?: string, _since?: number, _limit?: number): Promise<Trade[]>;
67
67
  close(): Promise<void>;
68
68
  }
@@ -166,11 +166,11 @@ class PolymarketUSExchange extends BaseExchange_1.PredictionMarketExchange {
166
166
  return events;
167
167
  });
168
168
  }
169
- async fetchOrderBook(id) {
169
+ async fetchOrderBook(outcomeId) {
170
170
  return this.run(async () => {
171
- const slug = this.slugFromId(id);
171
+ const slug = this.slugFromId(outcomeId);
172
172
  const book = await this.client.markets.book(slug);
173
- return this.normalizer.normalizeOrderBook(book, id);
173
+ return this.normalizer.normalizeOrderBook(book, outcomeId);
174
174
  });
175
175
  }
176
176
  // -------------------------------------------------------------------------
@@ -321,11 +321,11 @@ class PolymarketUSExchange extends BaseExchange_1.PredictionMarketExchange {
321
321
  }
322
322
  return this.wsWrapper;
323
323
  }
324
- async watchOrderBook(id, _limit) {
325
- return this.run(() => this.ensureWs().watchOrderBook(id));
324
+ async watchOrderBook(outcomeId, _limit) {
325
+ return this.run(() => this.ensureWs().watchOrderBook(outcomeId));
326
326
  }
327
- async watchTrades(id, _address, _since, _limit) {
328
- return this.run(() => this.ensureWs().watchTrades(id));
327
+ async watchTrades(outcomeId, _address, _since, _limit) {
328
+ return this.run(() => this.ensureWs().watchTrades(outcomeId));
329
329
  }
330
330
  // -------------------------------------------------------------------------
331
331
  // Lifecycle
@@ -31,8 +31,8 @@ export declare class PolymarketUSWebSocket {
31
31
  private readonly orderBookResolvers;
32
32
  private readonly tradeResolvers;
33
33
  constructor(client: PolymarketUSClient, normalizer: PolymarketUSNormalizer, config?: PolymarketUSWebSocketConfig);
34
- watchOrderBook(id: string): Promise<OrderBook>;
35
- watchTrades(id: string): Promise<Trade[]>;
34
+ watchOrderBook(outcomeId: string): Promise<OrderBook>;
35
+ watchTrades(outcomeId: string): Promise<Trade[]>;
36
36
  close(): Promise<void>;
37
37
  private ensureInitialized;
38
38
  private handleMarketData;
@@ -57,8 +57,8 @@ class PolymarketUSWebSocket {
57
57
  this.normalizer = normalizer;
58
58
  this.config = config;
59
59
  }
60
- async watchOrderBook(id) {
61
- const slug = slugFromId(id);
60
+ async watchOrderBook(outcomeId) {
61
+ const slug = slugFromId(outcomeId);
62
62
  await this.ensureInitialized();
63
63
  if (!this.bookSubscriptions.has(slug)) {
64
64
  this.bookSubscriptions.add(slug);
@@ -69,10 +69,10 @@ class PolymarketUSWebSocket {
69
69
  queue.push({ resolve, reject });
70
70
  this.orderBookResolvers.set(slug, queue);
71
71
  });
72
- return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchOrderBook('${id}')`);
72
+ return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchOrderBook('${outcomeId}')`);
73
73
  }
74
- async watchTrades(id) {
75
- const slug = slugFromId(id);
74
+ async watchTrades(outcomeId) {
75
+ const slug = slugFromId(outcomeId);
76
76
  await this.ensureInitialized();
77
77
  if (!this.tradeSubscriptions.has(slug)) {
78
78
  this.tradeSubscriptions.add(slug);
@@ -83,7 +83,7 @@ class PolymarketUSWebSocket {
83
83
  queue.push({ resolve, reject });
84
84
  this.tradeResolvers.set(slug, queue);
85
85
  });
86
- return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchTrades('${id}')`);
86
+ return (0, watch_timeout_1.withWatchTimeout)(dataPromise, this.config.watchTimeoutMs ?? watch_timeout_1.DEFAULT_WATCH_TIMEOUT_MS, `watchTrades('${outcomeId}')`);
87
87
  }
88
88
  async close() {
89
89
  if (this.socket) {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/probable/probable.yaml
3
- * Generated at: 2026-05-08T19:42:37.540Z
3
+ * Generated at: 2026-05-08T20:27:07.084Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const probableApiSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.probableApiSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/probable/probable.yaml
6
- * Generated at: 2026-05-08T19:42:37.540Z
6
+ * Generated at: 2026-05-08T20:27:07.084Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.probableApiSpec = {
@@ -27,10 +27,10 @@ export declare class ProbableExchange extends PredictionMarketExchange {
27
27
  * @returns The UnifiedEvent, or null if not found
28
28
  */
29
29
  getEventBySlug(slug: string): Promise<UnifiedEvent | null>;
30
- fetchOrderBook(id: string): Promise<OrderBook>;
31
- fetchOHLCV(id: string, params: OHLCVParams): Promise<PriceCandle[]>;
30
+ fetchOrderBook(outcomeId: string): Promise<OrderBook>;
31
+ fetchOHLCV(outcomeId: string, params: OHLCVParams): Promise<PriceCandle[]>;
32
32
  fetchMyTrades(params?: MyTradesParams): Promise<UserTrade[]>;
33
- fetchTrades(id: string, params: TradesParams | HistoryFilterParams): Promise<Trade[]>;
33
+ fetchTrades(outcomeId: string, params: TradesParams | HistoryFilterParams): Promise<Trade[]>;
34
34
  createOrder(params: CreateOrderParams): Promise<Order>;
35
35
  /**
36
36
  * Cancel an order.
@@ -46,6 +46,6 @@ export declare class ProbableExchange extends PredictionMarketExchange {
46
46
  fetchOpenOrders(marketId?: string): Promise<Order[]>;
47
47
  fetchPositions(): Promise<Position[]>;
48
48
  fetchBalance(): Promise<Balance[]>;
49
- watchOrderBook(id: string, limit?: number): Promise<OrderBook>;
49
+ watchOrderBook(outcomeId: string, limit?: number): Promise<OrderBook>;
50
50
  close(): Promise<void>;
51
51
  }
@@ -116,15 +116,15 @@ class ProbableExchange extends BaseExchange_1.PredictionMarketExchange {
116
116
  }
117
117
  return event;
118
118
  }
119
- async fetchOrderBook(id) {
120
- const raw = await this.fetcher.fetchRawOrderBook(id);
121
- return this.normalizer.normalizeOrderBook(raw, id);
119
+ async fetchOrderBook(outcomeId) {
120
+ const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
121
+ return this.normalizer.normalizeOrderBook(raw, outcomeId);
122
122
  }
123
- async fetchOHLCV(id, params) {
123
+ async fetchOHLCV(outcomeId, params) {
124
124
  if (!params.resolution) {
125
125
  throw new Error('fetchOHLCV requires a resolution parameter.');
126
126
  }
127
- const rawPoints = await this.fetcher.fetchRawOHLCV(id, params);
127
+ const rawPoints = await this.fetcher.fetchRawOHLCV(outcomeId, params);
128
128
  return this.normalizer.normalizeOHLCV(rawPoints, params);
129
129
  }
130
130
  async fetchMyTrades(params) {
@@ -133,11 +133,11 @@ class ProbableExchange extends BaseExchange_1.PredictionMarketExchange {
133
133
  const rawTrades = await this.fetcher.fetchRawMyTrades(params || {}, address);
134
134
  return rawTrades.map((raw, i) => this.normalizer.normalizeUserTrade(raw, i));
135
135
  }
136
- async fetchTrades(id, params) {
136
+ async fetchTrades(outcomeId, params) {
137
137
  const auth = this.ensureAuth();
138
138
  const client = auth.getClobClient();
139
139
  // Use CLOB client directly for trades (legacy behaviour preserved)
140
- const queryParams = { tokenId: id };
140
+ const queryParams = { tokenId: outcomeId };
141
141
  if (params.limit)
142
142
  queryParams.limit = params.limit;
143
143
  const response = await client.getTrades(queryParams);
@@ -359,11 +359,11 @@ class ProbableExchange extends BaseExchange_1.PredictionMarketExchange {
359
359
  // --------------------------------------------------------------------------
360
360
  // WebSocket Streaming (public, no auth needed)
361
361
  // --------------------------------------------------------------------------
362
- async watchOrderBook(id, limit) {
362
+ async watchOrderBook(outcomeId, limit) {
363
363
  if (!this.ws) {
364
364
  this.ws = new websocket_1.ProbableWebSocket(this.wsConfig);
365
365
  }
366
- return this.ws.watchOrderBook(id);
366
+ return this.ws.watchOrderBook(outcomeId);
367
367
  }
368
368
  async close() {
369
369
  if (this.ws) {
@@ -18,8 +18,8 @@ export declare class SmarketsExchange extends PredictionMarketExchange {
18
18
  private requireAuth;
19
19
  protected fetchMarketsImpl(params?: MarketFilterParams): Promise<UnifiedMarket[]>;
20
20
  protected fetchEventsImpl(params: EventFetchParams): Promise<UnifiedEvent[]>;
21
- fetchOrderBook(id: string): Promise<OrderBook>;
22
- fetchTrades(id: string, params: TradesParams | HistoryFilterParams): Promise<Trade[]>;
21
+ fetchOrderBook(outcomeId: string): Promise<OrderBook>;
22
+ fetchTrades(outcomeId: string, params: TradesParams | HistoryFilterParams): Promise<Trade[]>;
23
23
  fetchBalance(): Promise<Balance[]>;
24
24
  fetchMyTrades(params?: MyTradesParams): Promise<UserTrade[]>;
25
25
  fetchPositions(): Promise<Position[]>;
@@ -158,16 +158,16 @@ class SmarketsExchange extends BaseExchange_1.PredictionMarketExchange {
158
158
  .filter((e) => e !== null)
159
159
  .slice(0, limit);
160
160
  }
161
- async fetchOrderBook(id) {
162
- const raw = await this.fetcher.fetchRawOrderBook(id);
163
- return this.normalizer.normalizeOrderBook(raw, id);
161
+ async fetchOrderBook(outcomeId) {
162
+ const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
163
+ return this.normalizer.normalizeOrderBook(raw, outcomeId);
164
164
  }
165
- async fetchTrades(id, params) {
165
+ async fetchTrades(outcomeId, params) {
166
166
  if ('resolution' in params && params.resolution !== undefined) {
167
167
  console.warn('[pmxt] Warning: The "resolution" parameter is deprecated for fetchTrades() and will be ignored. ' +
168
168
  'It will be removed in v3.0.0. Please remove it from your code.');
169
169
  }
170
- const rawActivity = await this.fetcher.fetchRawTradeActivity(id, params);
170
+ const rawActivity = await this.fetcher.fetchRawTradeActivity(outcomeId, params);
171
171
  return rawActivity.map((raw, i) => this.normalizer.normalizeActivityTrade(raw, i));
172
172
  }
173
173
  // -------------------------------------------------------------------------
@@ -8,7 +8,7 @@ export declare class Router extends PredictionMarketExchange {
8
8
  get name(): string;
9
9
  protected fetchMarketsImpl(params?: MarketFetchParams): Promise<UnifiedMarket[]>;
10
10
  protected fetchEventsImpl(params?: EventFetchParams): Promise<UnifiedEvent[]>;
11
- fetchOrderBook(id: string, side?: 'yes' | 'no'): Promise<OrderBook>;
11
+ fetchOrderBook(outcomeId: string, side?: 'yes' | 'no'): Promise<OrderBook>;
12
12
  fetchMarketMatches(params?: FetchMarketMatchesParams): Promise<MatchResult[]>;
13
13
  /**
14
14
  * Browse mode: fetch all matched market pairs from the catalog.
@@ -64,7 +64,7 @@ class Router extends BaseExchange_1.PredictionMarketExchange {
64
64
  // -----------------------------------------------------------------------
65
65
  // Unified orderbook (cross-exchange merge)
66
66
  // -----------------------------------------------------------------------
67
- async fetchOrderBook(id, side) {
67
+ async fetchOrderBook(outcomeId, side) {
68
68
  const exchangeNames = Object.keys(this.exchanges);
69
69
  if (exchangeNames.length === 0) {
70
70
  throw new Error('Router requires exchange instances for fetchOrderBook. Pass exchanges in RouterOptions.');
@@ -72,7 +72,7 @@ class Router extends BaseExchange_1.PredictionMarketExchange {
72
72
  const resolvedSide = side ?? 'yes';
73
73
  // Find identity matches across venues
74
74
  const matches = await this.fetchMarketMatches({
75
- marketId: id,
75
+ marketId: outcomeId,
76
76
  relation: 'identity',
77
77
  });
78
78
  const fetchPromises = [];
@@ -92,7 +92,7 @@ class Router extends BaseExchange_1.PredictionMarketExchange {
92
92
  for (const [name, exchange] of Object.entries(this.exchanges)) {
93
93
  if (matchedVenues.has(name))
94
94
  continue;
95
- fetchPromises.push(exchange.fetchOrderBook(id, resolvedSide).catch(() => null));
95
+ fetchPromises.push(exchange.fetchOrderBook(outcomeId, resolvedSide).catch(() => null));
96
96
  }
97
97
  const books = (await Promise.all(fetchPromises)).filter((b) => b !== null);
98
98
  if (books.length === 0) {