pmxtjs 2.1.2 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/pmxt/client.js +2 -1
- package/dist/esm/pmxt/models.d.ts +16 -1
- package/dist/esm/pmxt/models.js +56 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -1
- package/dist/pmxt/client.js +2 -1
- package/dist/pmxt/models.d.ts +16 -1
- package/dist/pmxt/models.js +58 -0
- package/generated/package.json +1 -1
- package/generated/src/apis/DefaultApi.js +812 -0
- package/generated/src/apis/index.js +19 -0
- package/generated/src/index.js +21 -0
- package/generated/src/models/Balance.js +54 -0
- package/generated/src/models/BaseRequest.js +49 -0
- package/generated/src/models/BaseResponse.js +51 -0
- package/generated/src/models/CancelOrderRequest.js +53 -0
- package/generated/src/models/CreateOrder200Response.js +54 -0
- package/generated/src/models/CreateOrderParams.js +85 -0
- package/generated/src/models/CreateOrderRequest.js +54 -0
- package/generated/src/models/ErrorDetail.js +48 -0
- package/generated/src/models/ErrorResponse.js +51 -0
- package/generated/src/models/EventFetchParams.js +63 -0
- package/generated/src/models/ExchangeCredentials.js +59 -0
- package/generated/src/models/ExchangeCredentialsSignatureType.js +49 -0
- package/generated/src/models/ExecutionPriceResult.js +52 -0
- package/generated/src/models/FetchBalance200Response.js +54 -0
- package/generated/src/models/FetchEvents200Response.js +54 -0
- package/generated/src/models/FetchEventsRequest.js +52 -0
- package/generated/src/models/FetchMarkets200Response.js +54 -0
- package/generated/src/models/FetchMarketsRequest.js +52 -0
- package/generated/src/models/FetchOHLCV200Response.js +54 -0
- package/generated/src/models/FetchOHLCVRequest.js +54 -0
- package/generated/src/models/FetchOHLCVRequestArgsInner.js +56 -0
- package/generated/src/models/FetchOpenOrders200Response.js +54 -0
- package/generated/src/models/FetchOpenOrdersRequest.js +51 -0
- package/generated/src/models/FetchOrderBook200Response.js +54 -0
- package/generated/src/models/FetchOrderBookRequest.js +53 -0
- package/generated/src/models/FetchPositions200Response.js +54 -0
- package/generated/src/models/FetchPositionsRequest.js +51 -0
- package/generated/src/models/FetchTrades200Response.js +54 -0
- package/generated/src/models/FetchTradesRequest.js +54 -0
- package/generated/src/models/FilterEventsRequest.js +54 -0
- package/generated/src/models/FilterEventsRequestArgsInner.js +67 -0
- package/generated/src/models/FilterMarketsRequest.js +54 -0
- package/generated/src/models/FilterMarketsRequestArgsInner.js +67 -0
- package/generated/src/models/FilterMarketsRequestArgsInnerOneOf.js +47 -0
- package/generated/src/models/GetExecutionPrice200Response.js +53 -0
- package/generated/src/models/GetExecutionPriceDetailed200Response.js +54 -0
- package/generated/src/models/GetExecutionPriceRequest.js +54 -0
- package/generated/src/models/GetExecutionPriceRequestArgsInner.js +62 -0
- package/generated/src/models/HealthCheck200Response.js +50 -0
- package/generated/src/models/HistoryFilterParams.js +68 -0
- package/generated/src/models/MarketFilterParams.js +79 -0
- package/generated/src/models/MarketOutcome.js +56 -0
- package/generated/src/models/Order.js +95 -0
- package/generated/src/models/OrderBook.js +53 -0
- package/generated/src/models/OrderLevel.js +50 -0
- package/generated/src/models/Position.js +62 -0
- package/generated/src/models/PriceCandle.js +58 -0
- package/generated/src/models/Trade.js +65 -0
- package/generated/src/models/UnifiedEvent.js +65 -0
- package/generated/src/models/UnifiedMarket.js +81 -0
- package/generated/src/models/WatchOrderBookRequest.js +54 -0
- package/generated/src/models/WatchOrderBookRequestArgsInner.js +49 -0
- package/generated/src/models/WatchPricesRequest.js +53 -0
- package/generated/src/models/WatchTradesRequest.js +54 -0
- package/generated/src/models/WatchUserPositionsRequest.js +49 -0
- package/generated/src/models/index.js +73 -0
- package/generated/src/runtime.js +338 -0
- package/index.ts +1 -0
- package/package.json +2 -2
- package/pmxt/client.js +957 -0
- package/pmxt/client.ts +2 -1
- package/pmxt/models.js +60 -0
- package/pmxt/models.ts +60 -1
- package/pmxt/server-manager.js +204 -0
package/dist/esm/index.d.ts
CHANGED
|
@@ -19,12 +19,15 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { Exchange, Polymarket, Kalshi, Limitless } from "./pmxt/client.js";
|
|
21
21
|
import { ServerManager } from "./pmxt/server-manager.js";
|
|
22
|
+
import * as models from "./pmxt/models.js";
|
|
22
23
|
export { Exchange, Polymarket, Kalshi, Limitless, PolymarketOptions } from "./pmxt/client.js";
|
|
23
24
|
export { ServerManager } from "./pmxt/server-manager.js";
|
|
25
|
+
export { MarketList } from "./pmxt/models.js";
|
|
24
26
|
export type * from "./pmxt/models.js";
|
|
25
27
|
declare function stopServer(): Promise<void>;
|
|
26
28
|
declare function restartServer(): Promise<void>;
|
|
27
29
|
declare const pmxt: {
|
|
30
|
+
MarketList: typeof models.MarketList;
|
|
28
31
|
Exchange: typeof Exchange;
|
|
29
32
|
Polymarket: typeof Polymarket;
|
|
30
33
|
Kalshi: typeof Kalshi;
|
package/dist/esm/index.js
CHANGED
|
@@ -22,6 +22,7 @@ import { ServerManager } from "./pmxt/server-manager.js";
|
|
|
22
22
|
import * as models from "./pmxt/models.js";
|
|
23
23
|
export { Exchange, Polymarket, Kalshi, Limitless } from "./pmxt/client.js";
|
|
24
24
|
export { ServerManager } from "./pmxt/server-manager.js";
|
|
25
|
+
export { MarketList } from "./pmxt/models.js";
|
|
25
26
|
const defaultManager = new ServerManager();
|
|
26
27
|
async function stopServer() {
|
|
27
28
|
await defaultManager.stop();
|
package/dist/esm/pmxt/client.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* OpenAPI client, matching the Python API exactly.
|
|
6
6
|
*/
|
|
7
7
|
import { DefaultApi, Configuration, } from "../generated/src/index.js";
|
|
8
|
+
import { MarketList, } from "./models.js";
|
|
8
9
|
import { ServerManager } from "./server-manager.js";
|
|
9
10
|
// Converter functions
|
|
10
11
|
function convertMarket(raw) {
|
|
@@ -113,7 +114,7 @@ function convertBalance(raw) {
|
|
|
113
114
|
};
|
|
114
115
|
}
|
|
115
116
|
function convertEvent(raw) {
|
|
116
|
-
const markets = (raw.markets || []).map(convertMarket);
|
|
117
|
+
const markets = MarketList.from((raw.markets || []).map(convertMarket));
|
|
117
118
|
return {
|
|
118
119
|
id: raw.id,
|
|
119
120
|
title: raw.title,
|
|
@@ -237,6 +237,21 @@ export interface CreateOrderParams {
|
|
|
237
237
|
/** Optional fee rate (e.g., 1000 for 0.1%) */
|
|
238
238
|
fee?: number;
|
|
239
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* A list of UnifiedMarket objects with a convenience match() method.
|
|
242
|
+
* Extends Array so all standard array operations work unchanged.
|
|
243
|
+
*/
|
|
244
|
+
export declare class MarketList extends Array<UnifiedMarket> {
|
|
245
|
+
/**
|
|
246
|
+
* Find a single market by case-insensitive substring match.
|
|
247
|
+
*
|
|
248
|
+
* @param query - Substring to search for
|
|
249
|
+
* @param searchIn - Fields to search in (default: ['title'])
|
|
250
|
+
* @returns The matching UnifiedMarket
|
|
251
|
+
* @throws Error if zero or multiple markets match
|
|
252
|
+
*/
|
|
253
|
+
match(query: string, searchIn?: ('title' | 'description' | 'category' | 'tags' | 'outcomes')[]): UnifiedMarket;
|
|
254
|
+
}
|
|
240
255
|
/**
|
|
241
256
|
* A grouped collection of related markets (e.g., "Who will be Fed Chair?" contains multiple candidate markets)
|
|
242
257
|
*/
|
|
@@ -250,7 +265,7 @@ export interface UnifiedEvent {
|
|
|
250
265
|
/** Event slug */
|
|
251
266
|
slug: string;
|
|
252
267
|
/** Related markets in this event */
|
|
253
|
-
markets:
|
|
268
|
+
markets: MarketList;
|
|
254
269
|
/** Event URL */
|
|
255
270
|
url: string;
|
|
256
271
|
/** Event image URL */
|
package/dist/esm/pmxt/models.js
CHANGED
|
@@ -3,4 +3,59 @@
|
|
|
3
3
|
*
|
|
4
4
|
* These are clean TypeScript interfaces that provide a user-friendly API.
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A list of UnifiedMarket objects with a convenience match() method.
|
|
8
|
+
* Extends Array so all standard array operations work unchanged.
|
|
9
|
+
*/
|
|
10
|
+
export class MarketList extends Array {
|
|
11
|
+
/**
|
|
12
|
+
* Find a single market by case-insensitive substring match.
|
|
13
|
+
*
|
|
14
|
+
* @param query - Substring to search for
|
|
15
|
+
* @param searchIn - Fields to search in (default: ['title'])
|
|
16
|
+
* @returns The matching UnifiedMarket
|
|
17
|
+
* @throws Error if zero or multiple markets match
|
|
18
|
+
*/
|
|
19
|
+
match(query, searchIn) {
|
|
20
|
+
const fields = searchIn || ['title'];
|
|
21
|
+
const lowerQuery = query.toLowerCase();
|
|
22
|
+
const matches = [];
|
|
23
|
+
for (const m of this) {
|
|
24
|
+
for (const field of fields) {
|
|
25
|
+
if (field === 'title' && m.title?.toLowerCase().includes(lowerQuery)) {
|
|
26
|
+
matches.push(m);
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
if (field === 'description' && m.description?.toLowerCase().includes(lowerQuery)) {
|
|
30
|
+
matches.push(m);
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
if (field === 'category' && m.category?.toLowerCase().includes(lowerQuery)) {
|
|
34
|
+
matches.push(m);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
if (field === 'tags' && m.tags?.some(t => t.toLowerCase().includes(lowerQuery))) {
|
|
38
|
+
matches.push(m);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
if (field === 'outcomes' && m.outcomes?.some(o => o.label.toLowerCase().includes(lowerQuery))) {
|
|
42
|
+
matches.push(m);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (matches.length === 0) {
|
|
48
|
+
throw new Error(`No markets matching '${query}'`);
|
|
49
|
+
}
|
|
50
|
+
if (matches.length > 1) {
|
|
51
|
+
const titlesStr = matches
|
|
52
|
+
.map((m, i) => {
|
|
53
|
+
const truncated = m.title.length > 70 ? m.title.substring(0, 70) + '...' : m.title;
|
|
54
|
+
return `${i + 1}. ${truncated}`;
|
|
55
|
+
})
|
|
56
|
+
.join('\n ');
|
|
57
|
+
throw new Error(`Multiple markets matching '${query}' (${matches.length} matches):\n ${titlesStr}\n\nPlease refine your search.`);
|
|
58
|
+
}
|
|
59
|
+
return matches[0];
|
|
60
|
+
}
|
|
61
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,12 +19,15 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { Exchange, Polymarket, Kalshi, Limitless } from "./pmxt/client.js";
|
|
21
21
|
import { ServerManager } from "./pmxt/server-manager.js";
|
|
22
|
+
import * as models from "./pmxt/models.js";
|
|
22
23
|
export { Exchange, Polymarket, Kalshi, Limitless, PolymarketOptions } from "./pmxt/client.js";
|
|
23
24
|
export { ServerManager } from "./pmxt/server-manager.js";
|
|
25
|
+
export { MarketList } from "./pmxt/models.js";
|
|
24
26
|
export type * from "./pmxt/models.js";
|
|
25
27
|
declare function stopServer(): Promise<void>;
|
|
26
28
|
declare function restartServer(): Promise<void>;
|
|
27
29
|
declare const pmxt: {
|
|
30
|
+
MarketList: typeof models.MarketList;
|
|
28
31
|
Exchange: typeof Exchange;
|
|
29
32
|
Polymarket: typeof Polymarket;
|
|
30
33
|
Kalshi: typeof Kalshi;
|
package/dist/index.js
CHANGED
|
@@ -52,7 +52,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
52
52
|
};
|
|
53
53
|
})();
|
|
54
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
-
exports.ServerManager = exports.Limitless = exports.Kalshi = exports.Polymarket = exports.Exchange = void 0;
|
|
55
|
+
exports.MarketList = exports.ServerManager = exports.Limitless = exports.Kalshi = exports.Polymarket = exports.Exchange = void 0;
|
|
56
56
|
const client_js_1 = require("./pmxt/client.js");
|
|
57
57
|
const server_manager_js_1 = require("./pmxt/server-manager.js");
|
|
58
58
|
const models = __importStar(require("./pmxt/models.js"));
|
|
@@ -63,6 +63,8 @@ Object.defineProperty(exports, "Kalshi", { enumerable: true, get: function () {
|
|
|
63
63
|
Object.defineProperty(exports, "Limitless", { enumerable: true, get: function () { return client_js_2.Limitless; } });
|
|
64
64
|
var server_manager_js_2 = require("./pmxt/server-manager.js");
|
|
65
65
|
Object.defineProperty(exports, "ServerManager", { enumerable: true, get: function () { return server_manager_js_2.ServerManager; } });
|
|
66
|
+
var models_js_1 = require("./pmxt/models.js");
|
|
67
|
+
Object.defineProperty(exports, "MarketList", { enumerable: true, get: function () { return models_js_1.MarketList; } });
|
|
66
68
|
const defaultManager = new server_manager_js_1.ServerManager();
|
|
67
69
|
async function stopServer() {
|
|
68
70
|
await defaultManager.stop();
|
package/dist/pmxt/client.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.Limitless = exports.Kalshi = exports.Polymarket = exports.Exchange = void 0;
|
|
10
10
|
const index_js_1 = require("../generated/src/index.js");
|
|
11
|
+
const models_js_1 = require("./models.js");
|
|
11
12
|
const server_manager_js_1 = require("./server-manager.js");
|
|
12
13
|
// Converter functions
|
|
13
14
|
function convertMarket(raw) {
|
|
@@ -116,7 +117,7 @@ function convertBalance(raw) {
|
|
|
116
117
|
};
|
|
117
118
|
}
|
|
118
119
|
function convertEvent(raw) {
|
|
119
|
-
const markets = (raw.markets || []).map(convertMarket);
|
|
120
|
+
const markets = models_js_1.MarketList.from((raw.markets || []).map(convertMarket));
|
|
120
121
|
return {
|
|
121
122
|
id: raw.id,
|
|
122
123
|
title: raw.title,
|
package/dist/pmxt/models.d.ts
CHANGED
|
@@ -237,6 +237,21 @@ export interface CreateOrderParams {
|
|
|
237
237
|
/** Optional fee rate (e.g., 1000 for 0.1%) */
|
|
238
238
|
fee?: number;
|
|
239
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* A list of UnifiedMarket objects with a convenience match() method.
|
|
242
|
+
* Extends Array so all standard array operations work unchanged.
|
|
243
|
+
*/
|
|
244
|
+
export declare class MarketList extends Array<UnifiedMarket> {
|
|
245
|
+
/**
|
|
246
|
+
* Find a single market by case-insensitive substring match.
|
|
247
|
+
*
|
|
248
|
+
* @param query - Substring to search for
|
|
249
|
+
* @param searchIn - Fields to search in (default: ['title'])
|
|
250
|
+
* @returns The matching UnifiedMarket
|
|
251
|
+
* @throws Error if zero or multiple markets match
|
|
252
|
+
*/
|
|
253
|
+
match(query: string, searchIn?: ('title' | 'description' | 'category' | 'tags' | 'outcomes')[]): UnifiedMarket;
|
|
254
|
+
}
|
|
240
255
|
/**
|
|
241
256
|
* A grouped collection of related markets (e.g., "Who will be Fed Chair?" contains multiple candidate markets)
|
|
242
257
|
*/
|
|
@@ -250,7 +265,7 @@ export interface UnifiedEvent {
|
|
|
250
265
|
/** Event slug */
|
|
251
266
|
slug: string;
|
|
252
267
|
/** Related markets in this event */
|
|
253
|
-
markets:
|
|
268
|
+
markets: MarketList;
|
|
254
269
|
/** Event URL */
|
|
255
270
|
url: string;
|
|
256
271
|
/** Event image URL */
|
package/dist/pmxt/models.js
CHANGED
|
@@ -5,3 +5,61 @@
|
|
|
5
5
|
* These are clean TypeScript interfaces that provide a user-friendly API.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.MarketList = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* A list of UnifiedMarket objects with a convenience match() method.
|
|
11
|
+
* Extends Array so all standard array operations work unchanged.
|
|
12
|
+
*/
|
|
13
|
+
class MarketList extends Array {
|
|
14
|
+
/**
|
|
15
|
+
* Find a single market by case-insensitive substring match.
|
|
16
|
+
*
|
|
17
|
+
* @param query - Substring to search for
|
|
18
|
+
* @param searchIn - Fields to search in (default: ['title'])
|
|
19
|
+
* @returns The matching UnifiedMarket
|
|
20
|
+
* @throws Error if zero or multiple markets match
|
|
21
|
+
*/
|
|
22
|
+
match(query, searchIn) {
|
|
23
|
+
const fields = searchIn || ['title'];
|
|
24
|
+
const lowerQuery = query.toLowerCase();
|
|
25
|
+
const matches = [];
|
|
26
|
+
for (const m of this) {
|
|
27
|
+
for (const field of fields) {
|
|
28
|
+
if (field === 'title' && m.title?.toLowerCase().includes(lowerQuery)) {
|
|
29
|
+
matches.push(m);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
if (field === 'description' && m.description?.toLowerCase().includes(lowerQuery)) {
|
|
33
|
+
matches.push(m);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
if (field === 'category' && m.category?.toLowerCase().includes(lowerQuery)) {
|
|
37
|
+
matches.push(m);
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
if (field === 'tags' && m.tags?.some(t => t.toLowerCase().includes(lowerQuery))) {
|
|
41
|
+
matches.push(m);
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
if (field === 'outcomes' && m.outcomes?.some(o => o.label.toLowerCase().includes(lowerQuery))) {
|
|
45
|
+
matches.push(m);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (matches.length === 0) {
|
|
51
|
+
throw new Error(`No markets matching '${query}'`);
|
|
52
|
+
}
|
|
53
|
+
if (matches.length > 1) {
|
|
54
|
+
const titlesStr = matches
|
|
55
|
+
.map((m, i) => {
|
|
56
|
+
const truncated = m.title.length > 70 ? m.title.substring(0, 70) + '...' : m.title;
|
|
57
|
+
return `${i + 1}. ${truncated}`;
|
|
58
|
+
})
|
|
59
|
+
.join('\n ');
|
|
60
|
+
throw new Error(`Multiple markets matching '${query}' (${matches.length} matches):\n ${titlesStr}\n\nPlease refine your search.`);
|
|
61
|
+
}
|
|
62
|
+
return matches[0];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.MarketList = MarketList;
|