pmxt-core 2.43.12 → 2.43.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseExchange.d.ts +20 -0
- package/dist/BaseExchange.js +57 -0
- package/dist/exchanges/baozi/index.js +3 -0
- package/dist/exchanges/gemini-titan/index.js +3 -0
- package/dist/exchanges/hyperliquid/index.js +3 -0
- package/dist/exchanges/kalshi/api.d.ts +1 -1
- package/dist/exchanges/kalshi/api.js +1 -1
- package/dist/exchanges/kalshi/index.js +3 -0
- package/dist/exchanges/limitless/api.d.ts +1 -1
- package/dist/exchanges/limitless/api.js +1 -1
- package/dist/exchanges/limitless/index.js +3 -0
- package/dist/exchanges/mock/index.js +2 -0
- package/dist/exchanges/myriad/api.d.ts +1 -1
- package/dist/exchanges/myriad/api.js +1 -1
- package/dist/exchanges/myriad/index.js +3 -0
- package/dist/exchanges/opinion/api.d.ts +1 -1
- package/dist/exchanges/opinion/api.js +1 -1
- package/dist/exchanges/opinion/index.js +3 -0
- package/dist/exchanges/polymarket/api-clob.d.ts +1 -1
- package/dist/exchanges/polymarket/api-clob.js +1 -1
- package/dist/exchanges/polymarket/api-data.d.ts +1 -1
- package/dist/exchanges/polymarket/api-data.js +1 -1
- package/dist/exchanges/polymarket/api-gamma.d.ts +1 -1
- package/dist/exchanges/polymarket/api-gamma.js +1 -1
- package/dist/exchanges/polymarket/index.js +3 -0
- package/dist/exchanges/polymarket_us/index.js +3 -0
- package/dist/exchanges/probable/api.d.ts +1 -1
- package/dist/exchanges/probable/api.js +1 -1
- package/dist/exchanges/probable/index.js +3 -0
- package/dist/exchanges/smarkets/index.js +3 -0
- package/dist/server/openapi.yaml +15 -0
- package/package.json +3 -3
package/dist/BaseExchange.d.ts
CHANGED
|
@@ -128,6 +128,11 @@ export interface FetchOrderBookParams {
|
|
|
128
128
|
/** Outcome side: 'yes' or 'no'. Required for exchanges like Limitless
|
|
129
129
|
* where the API returns a single orderbook per market. */
|
|
130
130
|
side?: 'yes' | 'no';
|
|
131
|
+
/** Outcome alias: 'yes' or 'no', or an outcome token ID. When set,
|
|
132
|
+
* the first argument is treated as a market ID and this value selects
|
|
133
|
+
* which outcome's order book to fetch. Accepts the literal strings
|
|
134
|
+
* 'yes'/'no' (resolved via a market lookup) or a raw outcome token ID. */
|
|
135
|
+
outcome?: string;
|
|
131
136
|
/** Unix timestamp (ms) — fetch a historical snapshot at or before this
|
|
132
137
|
* time, or the start of a range when combined with `until` (hosted API only). */
|
|
133
138
|
since?: number;
|
|
@@ -453,6 +458,21 @@ export declare abstract class PredictionMarketExchange {
|
|
|
453
458
|
* @throws MarketNotFound if no market matches the parameters
|
|
454
459
|
*/
|
|
455
460
|
fetchMarket(params?: MarketFetchParams): Promise<UnifiedMarket>;
|
|
461
|
+
private cacheMarketLookup;
|
|
462
|
+
private marketMatchesIdentifier;
|
|
463
|
+
private getCachedMarketForOutcomeAlias;
|
|
464
|
+
private fetchMarketForOutcomeAlias;
|
|
465
|
+
/**
|
|
466
|
+
* Resolve an outcome alias ('yes'/'no') to an actual outcome token ID.
|
|
467
|
+
* When params.outcome is set, treats `id` as a market ID, looks up the
|
|
468
|
+
* market, and returns the resolved outcome token ID plus cleaned params.
|
|
469
|
+
* When params.outcome is already a token ID (not 'yes'/'no'), returns it
|
|
470
|
+
* directly. When params.outcome is not set, returns `id` unchanged.
|
|
471
|
+
*/
|
|
472
|
+
protected resolveOutcomeAlias(id: string, params?: FetchOrderBookParams): Promise<{
|
|
473
|
+
outcomeId: string;
|
|
474
|
+
params?: FetchOrderBookParams;
|
|
475
|
+
}>;
|
|
456
476
|
/**
|
|
457
477
|
* Fetch a single event by lookup parameters.
|
|
458
478
|
* Convenience wrapper around fetchEvents() that returns a single result or throws EventNotFound.
|
package/dist/BaseExchange.js
CHANGED
|
@@ -386,6 +386,63 @@ class PredictionMarketExchange {
|
|
|
386
386
|
}
|
|
387
387
|
return markets[0];
|
|
388
388
|
}
|
|
389
|
+
cacheMarketLookup(market) {
|
|
390
|
+
this.markets[market.marketId] = market;
|
|
391
|
+
if (market.slug) {
|
|
392
|
+
this.marketsBySlug[market.slug] = market;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
marketMatchesIdentifier(market, id) {
|
|
396
|
+
return market.marketId === id
|
|
397
|
+
|| market.slug === id
|
|
398
|
+
|| market.contractAddress === id
|
|
399
|
+
|| market.id === id;
|
|
400
|
+
}
|
|
401
|
+
getCachedMarketForOutcomeAlias(id) {
|
|
402
|
+
const direct = this.markets[id] ?? this.marketsBySlug[id];
|
|
403
|
+
if (direct && this.marketMatchesIdentifier(direct, id))
|
|
404
|
+
return direct;
|
|
405
|
+
return Object.values(this.markets).find((market) => this.marketMatchesIdentifier(market, id));
|
|
406
|
+
}
|
|
407
|
+
async fetchMarketForOutcomeAlias(id) {
|
|
408
|
+
const cached = this.getCachedMarketForOutcomeAlias(id);
|
|
409
|
+
if (cached)
|
|
410
|
+
return cached;
|
|
411
|
+
for (const params of [{ marketId: id }, { slug: id }]) {
|
|
412
|
+
const markets = await this.fetchMarkets(params);
|
|
413
|
+
const exact = markets.find((market) => this.marketMatchesIdentifier(market, id));
|
|
414
|
+
const market = exact ?? (markets.length === 1 ? markets[0] : undefined);
|
|
415
|
+
if (market) {
|
|
416
|
+
this.cacheMarketLookup(market);
|
|
417
|
+
return market;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
throw new errors_1.MarketNotFound(id, this.name);
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Resolve an outcome alias ('yes'/'no') to an actual outcome token ID.
|
|
424
|
+
* When params.outcome is set, treats `id` as a market ID, looks up the
|
|
425
|
+
* market, and returns the resolved outcome token ID plus cleaned params.
|
|
426
|
+
* When params.outcome is already a token ID (not 'yes'/'no'), returns it
|
|
427
|
+
* directly. When params.outcome is not set, returns `id` unchanged.
|
|
428
|
+
*/
|
|
429
|
+
async resolveOutcomeAlias(id, params) {
|
|
430
|
+
if (!params?.outcome)
|
|
431
|
+
return { outcomeId: id, params };
|
|
432
|
+
const outcome = String(params.outcome);
|
|
433
|
+
const alias = outcome.toLowerCase();
|
|
434
|
+
const { outcome: _, ...rest } = params;
|
|
435
|
+
if (alias === 'yes' || alias === 'no') {
|
|
436
|
+
const market = await this.fetchMarketForOutcomeAlias(id);
|
|
437
|
+
const selected = alias === 'yes' ? market.yes : market.no;
|
|
438
|
+
if (!selected) {
|
|
439
|
+
throw new Error(`Market "${id}" has no '${alias}' outcome on ${this.name}`);
|
|
440
|
+
}
|
|
441
|
+
return { outcomeId: selected.outcomeId, params: rest };
|
|
442
|
+
}
|
|
443
|
+
// outcome is already a raw token ID — use it directly
|
|
444
|
+
return { outcomeId: outcome, params: rest };
|
|
445
|
+
}
|
|
389
446
|
// ----------------------------------------------------------------------------
|
|
390
447
|
// Implementation methods (to be overridden by exchanges)
|
|
391
448
|
// ----------------------------------------------------------------------------
|
|
@@ -73,6 +73,9 @@ class BaoziExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
73
73
|
return [];
|
|
74
74
|
}
|
|
75
75
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
76
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
77
|
+
outcomeId = resolved.outcomeId;
|
|
78
|
+
_params = resolved.params;
|
|
76
79
|
const rawMarket = await this.fetcher.fetchRawOrderBook(outcomeId);
|
|
77
80
|
return this.normalizer.normalizeOrderBook(rawMarket, outcomeId);
|
|
78
81
|
}
|
|
@@ -68,6 +68,9 @@ class GeminiTitanExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
68
68
|
.filter((e) => e !== null);
|
|
69
69
|
}
|
|
70
70
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
71
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
72
|
+
outcomeId = resolved.outcomeId;
|
|
73
|
+
_params = resolved.params;
|
|
71
74
|
const { instrumentSymbol } = (0, utils_1.fromOutcomeId)(outcomeId);
|
|
72
75
|
const raw = await this.fetcher.fetchRawOrderBook(instrumentSymbol);
|
|
73
76
|
if (!raw) {
|
|
@@ -79,6 +79,9 @@ class HyperliquidExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
79
79
|
.filter((e) => e !== null);
|
|
80
80
|
}
|
|
81
81
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
82
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
83
|
+
outcomeId = resolved.outcomeId;
|
|
84
|
+
_params = resolved.params;
|
|
82
85
|
const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
|
|
83
86
|
return this.normalizer.normalizeOrderBook(raw, outcomeId);
|
|
84
87
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/kalshi/Kalshi.yaml
|
|
3
|
-
* Generated at: 2026-05-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:07.957Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const kalshiApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.kalshiApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/kalshi/Kalshi.yaml
|
|
6
|
-
* Generated at: 2026-05-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:07.957Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.kalshiApiSpec = {
|
|
@@ -123,6 +123,9 @@ class KalshiExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
123
123
|
return this.normalizer.normalizeOHLCV(rawCandles, params);
|
|
124
124
|
}
|
|
125
125
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
126
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
127
|
+
outcomeId = resolved.outcomeId;
|
|
128
|
+
_params = resolved.params;
|
|
126
129
|
const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
|
|
127
130
|
return this.normalizer.normalizeOrderBook(raw, outcomeId);
|
|
128
131
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/limitless/Limitless.yaml
|
|
3
|
-
* Generated at: 2026-05-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:08.004Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const limitlessApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.limitlessApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/limitless/Limitless.yaml
|
|
6
|
-
* Generated at: 2026-05-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:08.004Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.limitlessApiSpec = {
|
|
@@ -156,6 +156,9 @@ class LimitlessExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
156
156
|
return this.normalizer.normalizeOHLCV(rawPrices, params);
|
|
157
157
|
}
|
|
158
158
|
async fetchOrderBook(outcomeId, limit, params) {
|
|
159
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, params);
|
|
160
|
+
outcomeId = resolved.outcomeId;
|
|
161
|
+
params = resolved.params;
|
|
159
162
|
const slug = await this.resolveSlug(outcomeId);
|
|
160
163
|
const rawOrderBook = await this.fetcher.fetchRawOrderBook(slug);
|
|
161
164
|
const orderBook = this.normalizer.normalizeOrderBook(rawOrderBook, outcomeId);
|
|
@@ -279,6 +279,8 @@ class MockExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
279
279
|
return limit !== undefined ? events.slice(offset, offset + limit) : events.slice(offset);
|
|
280
280
|
}
|
|
281
281
|
async fetchOrderBook(id, _limit, _params) {
|
|
282
|
+
const resolved = await this.resolveOutcomeAlias(id, _params);
|
|
283
|
+
id = resolved.outcomeId;
|
|
282
284
|
const f = new seededRng_1.SeededRng(id);
|
|
283
285
|
const midPrice = round(f.float(0.1, 0.9), 3);
|
|
284
286
|
const spread = round(f.float(0.005, 0.03), 3);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/myriad/myriad.yaml
|
|
3
|
-
* Generated at: 2026-05-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:08.018Z
|
|
4
4
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const myriadApiSpec: {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.myriadApiSpec = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/myriad/myriad.yaml
|
|
6
|
-
* Generated at: 2026-05-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:08.018Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.myriadApiSpec = {
|
|
@@ -91,6 +91,9 @@ class MyriadExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
91
91
|
return this.normalizer.normalizeOHLCV(rawMarket, params, parsedOutcomeId);
|
|
92
92
|
}
|
|
93
93
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
94
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
95
|
+
outcomeId = resolved.outcomeId;
|
|
96
|
+
_params = resolved.params;
|
|
94
97
|
const parts = outcomeId.split(':');
|
|
95
98
|
if (parts.length >= 3) {
|
|
96
99
|
const [networkId, marketId, oid] = parts;
|
|
@@ -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-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:08.023Z
|
|
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-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:08.023Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.opinionApiSpec = {
|
|
@@ -170,6 +170,9 @@ class OpinionExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
170
170
|
return this.normalizer.normalizeOHLCV({ history: rawPoints }, params);
|
|
171
171
|
}
|
|
172
172
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
173
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
174
|
+
outcomeId = resolved.outcomeId;
|
|
175
|
+
_params = resolved.params;
|
|
173
176
|
const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
|
|
174
177
|
return this.normalizer.normalizeOrderBook(raw, outcomeId);
|
|
175
178
|
}
|
|
@@ -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-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:07.964Z
|
|
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-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:07.964Z
|
|
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-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:07.982Z
|
|
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-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:07.982Z
|
|
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-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:07.978Z
|
|
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-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:07.978Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.polymarketGammaSpec = {
|
|
@@ -112,6 +112,9 @@ class PolymarketExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
112
112
|
return this.normalizer.normalizeOHLCV(raw, params);
|
|
113
113
|
}
|
|
114
114
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
115
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
116
|
+
outcomeId = resolved.outcomeId;
|
|
117
|
+
_params = resolved.params;
|
|
115
118
|
(0, validation_1.validateIdFormat)(outcomeId, 'OrderBook');
|
|
116
119
|
(0, validation_1.validateOutcomeId)(outcomeId, 'OrderBook');
|
|
117
120
|
const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
|
|
@@ -167,6 +167,9 @@ class PolymarketUSExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
170
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
171
|
+
outcomeId = resolved.outcomeId;
|
|
172
|
+
_params = resolved.params;
|
|
170
173
|
return this.run(async () => {
|
|
171
174
|
const slug = this.slugFromId(outcomeId);
|
|
172
175
|
const book = await this.client.markets.book(slug);
|
|
@@ -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-
|
|
3
|
+
* Generated at: 2026-05-23T22:05:08.013Z
|
|
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-
|
|
6
|
+
* Generated at: 2026-05-23T22:05:08.013Z
|
|
7
7
|
* Do not edit manually -- run "npm run fetch:openapi" to regenerate.
|
|
8
8
|
*/
|
|
9
9
|
exports.probableApiSpec = {
|
|
@@ -119,6 +119,9 @@ class ProbableExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
119
119
|
return event;
|
|
120
120
|
}
|
|
121
121
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
122
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
123
|
+
outcomeId = resolved.outcomeId;
|
|
124
|
+
_params = resolved.params;
|
|
122
125
|
const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
|
|
123
126
|
return this.normalizer.normalizeOrderBook(raw, outcomeId);
|
|
124
127
|
}
|
|
@@ -161,6 +161,9 @@ class SmarketsExchange extends BaseExchange_1.PredictionMarketExchange {
|
|
|
161
161
|
.slice(0, limit);
|
|
162
162
|
}
|
|
163
163
|
async fetchOrderBook(outcomeId, _limit, _params) {
|
|
164
|
+
const resolved = await this.resolveOutcomeAlias(outcomeId, _params);
|
|
165
|
+
outcomeId = resolved.outcomeId;
|
|
166
|
+
_params = resolved.params;
|
|
164
167
|
const raw = await this.fetcher.fetchRawOrderBook(outcomeId);
|
|
165
168
|
return this.normalizer.normalizeOrderBook(raw, outcomeId);
|
|
166
169
|
}
|
package/dist/server/openapi.yaml
CHANGED
|
@@ -656,6 +656,15 @@ paths:
|
|
|
656
656
|
description: >-
|
|
657
657
|
Outcome side: 'yes' or 'no'. Required for exchanges like Limitless where the API returns a single orderbook
|
|
658
658
|
per market.
|
|
659
|
+
- in: query
|
|
660
|
+
name: outcome
|
|
661
|
+
required: false
|
|
662
|
+
schema:
|
|
663
|
+
type: string
|
|
664
|
+
description: >-
|
|
665
|
+
Outcome alias: 'yes' or 'no', or an outcome token ID. When set, the first argument is treated as a market ID
|
|
666
|
+
and this value selects which outcome's order book to fetch. Accepts the literal strings 'yes'/'no' (resolved
|
|
667
|
+
via a market lookup) or a raw outcome token ID.
|
|
659
668
|
- in: query
|
|
660
669
|
name: since
|
|
661
670
|
required: false
|
|
@@ -3192,6 +3201,12 @@ components:
|
|
|
3192
3201
|
description: >-
|
|
3193
3202
|
Outcome side: 'yes' or 'no'. Required for exchanges like Limitless where the API returns a single orderbook
|
|
3194
3203
|
per market.
|
|
3204
|
+
outcome:
|
|
3205
|
+
type: string
|
|
3206
|
+
description: >-
|
|
3207
|
+
Outcome alias: 'yes' or 'no', or an outcome token ID. When set, the first argument is treated as a market ID
|
|
3208
|
+
and this value selects which outcome's order book to fetch. Accepts the literal strings 'yes'/'no' (resolved
|
|
3209
|
+
via a market lookup) or a raw outcome token ID.
|
|
3195
3210
|
since:
|
|
3196
3211
|
type: number
|
|
3197
3212
|
description: >-
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pmxt-core",
|
|
3
|
-
"version": "2.43.
|
|
3
|
+
"version": "2.43.13",
|
|
4
4
|
"description": "pmxt is a unified prediction market data API. The ccxt for prediction markets.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"test": "jest -c jest.config.js",
|
|
30
30
|
"server": "tsx watch src/server/index.ts",
|
|
31
31
|
"server:prod": "node dist/server/index.js",
|
|
32
|
-
"generate:sdk:python": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g python -o ../sdks/python/generated --package-name pmxt_internal --additional-properties=projectName=pmxt-internal,packageVersion=2.43.
|
|
33
|
-
"generate:sdk:typescript": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g typescript-fetch -o ../sdks/typescript/generated --additional-properties=npmName=pmxtjs,npmVersion=2.43.
|
|
32
|
+
"generate:sdk:python": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g python -o ../sdks/python/generated --package-name pmxt_internal --additional-properties=projectName=pmxt-internal,packageVersion=2.43.13,library=urllib3",
|
|
33
|
+
"generate:sdk:typescript": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g typescript-fetch -o ../sdks/typescript/generated --additional-properties=npmName=pmxtjs,npmVersion=2.43.13,supportsES6=true,typescriptThreePlus=true && node ../sdks/typescript/scripts/fix-generated.js",
|
|
34
34
|
"fetch:openapi": "node scripts/fetch-openapi-specs.js",
|
|
35
35
|
"extract:jsdoc": "node ../scripts/extract-jsdoc.js",
|
|
36
36
|
"generate:docs": "npm run extract:jsdoc && node ../scripts/generate-api-docs.js",
|