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.
Files changed (78) hide show
  1. package/dist/esm/index.d.ts +3 -0
  2. package/dist/esm/index.js +1 -0
  3. package/dist/esm/pmxt/client.js +2 -1
  4. package/dist/esm/pmxt/models.d.ts +16 -1
  5. package/dist/esm/pmxt/models.js +56 -1
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.js +3 -1
  8. package/dist/pmxt/client.js +2 -1
  9. package/dist/pmxt/models.d.ts +16 -1
  10. package/dist/pmxt/models.js +58 -0
  11. package/generated/package.json +1 -1
  12. package/generated/src/apis/DefaultApi.js +812 -0
  13. package/generated/src/apis/index.js +19 -0
  14. package/generated/src/index.js +21 -0
  15. package/generated/src/models/Balance.js +54 -0
  16. package/generated/src/models/BaseRequest.js +49 -0
  17. package/generated/src/models/BaseResponse.js +51 -0
  18. package/generated/src/models/CancelOrderRequest.js +53 -0
  19. package/generated/src/models/CreateOrder200Response.js +54 -0
  20. package/generated/src/models/CreateOrderParams.js +85 -0
  21. package/generated/src/models/CreateOrderRequest.js +54 -0
  22. package/generated/src/models/ErrorDetail.js +48 -0
  23. package/generated/src/models/ErrorResponse.js +51 -0
  24. package/generated/src/models/EventFetchParams.js +63 -0
  25. package/generated/src/models/ExchangeCredentials.js +59 -0
  26. package/generated/src/models/ExchangeCredentialsSignatureType.js +49 -0
  27. package/generated/src/models/ExecutionPriceResult.js +52 -0
  28. package/generated/src/models/FetchBalance200Response.js +54 -0
  29. package/generated/src/models/FetchEvents200Response.js +54 -0
  30. package/generated/src/models/FetchEventsRequest.js +52 -0
  31. package/generated/src/models/FetchMarkets200Response.js +54 -0
  32. package/generated/src/models/FetchMarketsRequest.js +52 -0
  33. package/generated/src/models/FetchOHLCV200Response.js +54 -0
  34. package/generated/src/models/FetchOHLCVRequest.js +54 -0
  35. package/generated/src/models/FetchOHLCVRequestArgsInner.js +56 -0
  36. package/generated/src/models/FetchOpenOrders200Response.js +54 -0
  37. package/generated/src/models/FetchOpenOrdersRequest.js +51 -0
  38. package/generated/src/models/FetchOrderBook200Response.js +54 -0
  39. package/generated/src/models/FetchOrderBookRequest.js +53 -0
  40. package/generated/src/models/FetchPositions200Response.js +54 -0
  41. package/generated/src/models/FetchPositionsRequest.js +51 -0
  42. package/generated/src/models/FetchTrades200Response.js +54 -0
  43. package/generated/src/models/FetchTradesRequest.js +54 -0
  44. package/generated/src/models/FilterEventsRequest.js +54 -0
  45. package/generated/src/models/FilterEventsRequestArgsInner.js +67 -0
  46. package/generated/src/models/FilterMarketsRequest.js +54 -0
  47. package/generated/src/models/FilterMarketsRequestArgsInner.js +67 -0
  48. package/generated/src/models/FilterMarketsRequestArgsInnerOneOf.js +47 -0
  49. package/generated/src/models/GetExecutionPrice200Response.js +53 -0
  50. package/generated/src/models/GetExecutionPriceDetailed200Response.js +54 -0
  51. package/generated/src/models/GetExecutionPriceRequest.js +54 -0
  52. package/generated/src/models/GetExecutionPriceRequestArgsInner.js +62 -0
  53. package/generated/src/models/HealthCheck200Response.js +50 -0
  54. package/generated/src/models/HistoryFilterParams.js +68 -0
  55. package/generated/src/models/MarketFilterParams.js +79 -0
  56. package/generated/src/models/MarketOutcome.js +56 -0
  57. package/generated/src/models/Order.js +95 -0
  58. package/generated/src/models/OrderBook.js +53 -0
  59. package/generated/src/models/OrderLevel.js +50 -0
  60. package/generated/src/models/Position.js +62 -0
  61. package/generated/src/models/PriceCandle.js +58 -0
  62. package/generated/src/models/Trade.js +65 -0
  63. package/generated/src/models/UnifiedEvent.js +65 -0
  64. package/generated/src/models/UnifiedMarket.js +81 -0
  65. package/generated/src/models/WatchOrderBookRequest.js +54 -0
  66. package/generated/src/models/WatchOrderBookRequestArgsInner.js +49 -0
  67. package/generated/src/models/WatchPricesRequest.js +53 -0
  68. package/generated/src/models/WatchTradesRequest.js +54 -0
  69. package/generated/src/models/WatchUserPositionsRequest.js +49 -0
  70. package/generated/src/models/index.js +73 -0
  71. package/generated/src/runtime.js +338 -0
  72. package/index.ts +1 -0
  73. package/package.json +2 -2
  74. package/pmxt/client.js +957 -0
  75. package/pmxt/client.ts +2 -1
  76. package/pmxt/models.js +60 -0
  77. package/pmxt/models.ts +60 -1
  78. package/pmxt/server-manager.js +204 -0
@@ -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();
@@ -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: UnifiedMarket[];
268
+ markets: MarketList;
254
269
  /** Event URL */
255
270
  url: string;
256
271
  /** Event image URL */
@@ -3,4 +3,59 @@
3
3
  *
4
4
  * These are clean TypeScript interfaces that provide a user-friendly API.
5
5
  */
6
- export {};
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();
@@ -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,
@@ -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: UnifiedMarket[];
268
+ markets: MarketList;
254
269
  /** Event URL */
255
270
  url: string;
256
271
  /** Event image URL */
@@ -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;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmxtjs",
3
- "version": "2.1.2",
3
+ "version": "2.2.0",
4
4
  "description": "OpenAPI client for pmxtjs",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {