pmxtjs 2.33.5 → 2.34.1

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 (82) hide show
  1. package/dist/esm/generated/src/apis/DefaultApi.d.ts +72 -7
  2. package/dist/esm/generated/src/apis/DefaultApi.js +107 -6
  3. package/dist/esm/generated/src/models/ArbitrageOpportunity.d.ts +23 -0
  4. package/dist/esm/generated/src/models/ArbitrageOpportunity.js +14 -0
  5. package/dist/esm/generated/src/models/CompareMarketPricesRequest.d.ts +3 -3
  6. package/dist/esm/generated/src/models/CompareMarketPricesRequest.js +3 -3
  7. package/dist/esm/generated/src/models/FetchArbitrageParams.d.ts +17 -0
  8. package/dist/esm/generated/src/models/FetchArbitrageParams.js +12 -0
  9. package/dist/esm/generated/src/models/FetchEventMatchesParams.d.ts +7 -0
  10. package/dist/esm/generated/src/models/FetchEventMatchesParams.js +3 -0
  11. package/dist/esm/generated/src/models/FetchMarketMatches200Response.d.ts +46 -0
  12. package/dist/esm/generated/src/models/{FetchMatches200Response.js → FetchMarketMatches200Response.js} +8 -8
  13. package/dist/esm/generated/src/models/FetchMarketMatchesParams.d.ts +86 -0
  14. package/dist/esm/generated/src/models/{FetchMatchesParams.js → FetchMarketMatchesParams.js} +12 -9
  15. package/dist/esm/generated/src/models/UnifiedEvent.d.ts +6 -0
  16. package/dist/esm/generated/src/models/UnifiedEvent.js +2 -0
  17. package/dist/esm/generated/src/models/UnifiedMarket.d.ts +6 -0
  18. package/dist/esm/generated/src/models/UnifiedMarket.js +2 -0
  19. package/dist/esm/generated/src/models/index.d.ts +2 -2
  20. package/dist/esm/generated/src/models/index.js +2 -2
  21. package/dist/esm/index.d.ts +3 -0
  22. package/dist/esm/index.js +3 -0
  23. package/dist/esm/pmxt/client.js +2 -0
  24. package/dist/esm/pmxt/models.d.ts +66 -0
  25. package/dist/esm/pmxt/router.d.ts +133 -0
  26. package/dist/esm/pmxt/router.js +338 -0
  27. package/dist/generated/src/apis/DefaultApi.d.ts +72 -7
  28. package/dist/generated/src/apis/DefaultApi.js +108 -7
  29. package/dist/generated/src/models/ArbitrageOpportunity.d.ts +23 -0
  30. package/dist/generated/src/models/ArbitrageOpportunity.js +15 -0
  31. package/dist/generated/src/models/CompareMarketPricesRequest.d.ts +3 -3
  32. package/dist/generated/src/models/CompareMarketPricesRequest.js +3 -3
  33. package/dist/generated/src/models/FetchArbitrageParams.d.ts +17 -0
  34. package/dist/generated/src/models/FetchArbitrageParams.js +13 -0
  35. package/dist/generated/src/models/FetchEventMatchesParams.d.ts +7 -0
  36. package/dist/generated/src/models/FetchEventMatchesParams.js +3 -0
  37. package/dist/generated/src/models/FetchMarketMatches200Response.d.ts +46 -0
  38. package/dist/generated/src/models/{FetchMatches200Response.js → FetchMarketMatches200Response.js} +13 -13
  39. package/dist/generated/src/models/FetchMarketMatchesParams.d.ts +86 -0
  40. package/dist/generated/src/models/{FetchMatchesParams.js → FetchMarketMatchesParams.js} +18 -15
  41. package/dist/generated/src/models/UnifiedEvent.d.ts +6 -0
  42. package/dist/generated/src/models/UnifiedEvent.js +2 -0
  43. package/dist/generated/src/models/UnifiedMarket.d.ts +6 -0
  44. package/dist/generated/src/models/UnifiedMarket.js +2 -0
  45. package/dist/generated/src/models/index.d.ts +2 -2
  46. package/dist/generated/src/models/index.js +2 -2
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.js +5 -1
  49. package/dist/pmxt/client.js +2 -0
  50. package/dist/pmxt/models.d.ts +66 -0
  51. package/dist/pmxt/router.d.ts +133 -0
  52. package/dist/pmxt/router.js +375 -0
  53. package/generated/.openapi-generator/FILES +4 -4
  54. package/generated/docs/ArbitrageOpportunity.md +4 -0
  55. package/generated/docs/CompareMarketPricesRequest.md +1 -1
  56. package/generated/docs/DefaultApi.md +112 -10
  57. package/generated/docs/FetchArbitrageParams.md +2 -0
  58. package/generated/docs/FetchEventMatchesParams.md +2 -0
  59. package/generated/docs/{FetchMatches200Response.md → FetchMarketMatches200Response.md} +4 -4
  60. package/generated/docs/{FetchMatchesParams.md → FetchMarketMatchesParams.md} +6 -4
  61. package/generated/docs/UnifiedEvent.md +2 -0
  62. package/generated/docs/UnifiedMarket.md +2 -0
  63. package/generated/package.json +1 -1
  64. package/generated/src/apis/DefaultApi.ts +159 -10
  65. package/generated/src/models/ArbitrageOpportunity.ts +30 -0
  66. package/generated/src/models/CompareMarketPricesRequest.ts +11 -11
  67. package/generated/src/models/FetchArbitrageParams.ts +22 -0
  68. package/generated/src/models/FetchEventMatchesParams.ts +16 -0
  69. package/generated/src/models/{FetchMatches200Response.ts → FetchMarketMatches200Response.ts} +13 -13
  70. package/generated/src/models/{FetchMatchesParams.ts → FetchMarketMatchesParams.ts} +36 -20
  71. package/generated/src/models/UnifiedEvent.ts +8 -0
  72. package/generated/src/models/UnifiedMarket.ts +8 -0
  73. package/generated/src/models/index.ts +2 -2
  74. package/index.ts +3 -0
  75. package/package.json +2 -2
  76. package/pmxt/client.ts +2 -0
  77. package/pmxt/models.ts +97 -0
  78. package/pmxt/router.ts +385 -0
  79. package/dist/esm/generated/src/models/FetchMatches200Response.d.ts +0 -46
  80. package/dist/esm/generated/src/models/FetchMatchesParams.d.ts +0 -79
  81. package/dist/generated/src/models/FetchMatches200Response.d.ts +0 -46
  82. package/dist/generated/src/models/FetchMatchesParams.d.ts +0 -79
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime.js';
13
- import type { BaseResponse, BuildOrder200Response, BuildOrderRequest, CancelOrderRequest, CloseRequest, CompareMarketPrices200Response, CompareMarketPricesRequest, CreateOrder200Response, CreateOrderRequest, EventFilterCriteria, FetchArbitrage200Response, FetchBalance200Response, FetchEvent200Response, FetchEventMatches200Response, FetchEvents200Response, FetchMarket200Response, FetchMarkets200Response, FetchMarketsPaginated200Response, FetchMatches200Response, FetchMyTrades200Response, FetchOHLCV200Response, FetchOpenOrders200Response, FetchOrderBook200Response, FetchPositions200Response, FetchTrades200Response, FilterEventsRequest, FilterMarketsRequest, GetExecutionPrice200Response, GetExecutionPriceDetailed200Response, GetExecutionPriceDetailedRequest, GetExecutionPriceRequest, HealthCheck200Response, LoadMarkets200Response, LoadMarketsRequest, MarketFilterCriteria, SubmitOrderRequest, UnwatchAddressRequest, UnwatchOrderBookRequest, WatchAddress200Response, WatchAddressRequest, WatchOrderBookRequest, WatchTradesRequest } from '../models/index.js';
13
+ import type { BaseResponse, BuildOrder200Response, BuildOrderRequest, CancelOrderRequest, CloseRequest, CompareMarketPrices200Response, CompareMarketPricesRequest, CreateOrder200Response, CreateOrderRequest, EventFilterCriteria, FetchArbitrage200Response, FetchBalance200Response, FetchEvent200Response, FetchEventMatches200Response, FetchEvents200Response, FetchMarket200Response, FetchMarketMatches200Response, FetchMarkets200Response, FetchMarketsPaginated200Response, FetchMyTrades200Response, FetchOHLCV200Response, FetchOpenOrders200Response, FetchOrderBook200Response, FetchPositions200Response, FetchTrades200Response, FilterEventsRequest, FilterMarketsRequest, GetExecutionPrice200Response, GetExecutionPriceDetailed200Response, GetExecutionPriceDetailedRequest, GetExecutionPriceRequest, HealthCheck200Response, LoadMarkets200Response, LoadMarketsRequest, MarketFilterCriteria, SubmitOrderRequest, UnifiedEvent, UnifiedMarket, UnwatchAddressRequest, UnwatchOrderBookRequest, WatchAddress200Response, WatchAddressRequest, WatchOrderBookRequest, WatchTradesRequest } from '../models/index.js';
14
14
  export interface BuildOrderOperationRequest {
15
15
  exchange: BuildOrderOperationExchangeEnum;
16
16
  buildOrderRequest?: BuildOrderRequest;
@@ -44,6 +44,7 @@ export interface FetchArbitrageRequest {
44
44
  minSpread?: number;
45
45
  category?: string;
46
46
  limit?: number;
47
+ relations?: Array<FetchArbitrageRelationsEnum>;
47
48
  }
48
49
  export interface FetchBalanceRequest {
49
50
  exchange: FetchBalanceExchangeEnum;
@@ -73,6 +74,7 @@ export interface FetchEventRequest {
73
74
  }
74
75
  export interface FetchEventMatchesRequest {
75
76
  exchange: FetchEventMatchesExchangeEnum;
77
+ event?: UnifiedEvent;
76
78
  eventId?: string;
77
79
  slug?: string;
78
80
  relation?: FetchEventMatchesRelationEnum;
@@ -96,6 +98,7 @@ export interface FetchEventsRequest {
96
98
  }
97
99
  export interface FetchHedgesRequest {
98
100
  exchange: FetchHedgesExchangeEnum;
101
+ market?: UnifiedMarket;
99
102
  marketId?: string;
100
103
  slug?: string;
101
104
  url?: string;
@@ -119,6 +122,17 @@ export interface FetchMarketRequest {
119
122
  page?: number;
120
123
  similarityThreshold?: number;
121
124
  }
125
+ export interface FetchMarketMatchesRequest {
126
+ exchange: FetchMarketMatchesExchangeEnum;
127
+ market?: UnifiedMarket;
128
+ marketId?: string;
129
+ slug?: string;
130
+ url?: string;
131
+ relation?: FetchMarketMatchesRelationEnum;
132
+ minConfidence?: number;
133
+ limit?: number;
134
+ includePrices?: boolean;
135
+ }
122
136
  export interface FetchMarketsRequest {
123
137
  exchange: FetchMarketsExchangeEnum;
124
138
  limit?: number;
@@ -142,6 +156,7 @@ export interface FetchMarketsPaginatedRequest {
142
156
  }
143
157
  export interface FetchMatchesRequest {
144
158
  exchange: FetchMatchesExchangeEnum;
159
+ market?: UnifiedMarket;
145
160
  marketId?: string;
146
161
  slug?: string;
147
162
  url?: string;
@@ -374,6 +389,16 @@ export declare class DefaultApi extends runtime.BaseAPI {
374
389
  * Fetch Market
375
390
  */
376
391
  fetchMarket(requestParameters: FetchMarketRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarket200Response>;
392
+ /**
393
+ * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
394
+ * Find Similar Markets
395
+ */
396
+ fetchMarketMatchesRaw(requestParameters: FetchMarketMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchMarketMatches200Response>>;
397
+ /**
398
+ * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
399
+ * Find Similar Markets
400
+ */
401
+ fetchMarketMatches(requestParameters: FetchMarketMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarketMatches200Response>;
377
402
  /**
378
403
  * Fetch markets with optional filtering, search, or slug lookup. Always hits the exchange API — results reflect the live state at the time of the call.
379
404
  * Fetch Markets
@@ -395,15 +420,15 @@ export declare class DefaultApi extends runtime.BaseAPI {
395
420
  */
396
421
  fetchMarketsPaginated(requestParameters: FetchMarketsPaginatedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarketsPaginated200Response>;
397
422
  /**
398
- * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
399
- * Find Similar Markets
423
+ * Find Similar Markets (Deprecated)
424
+ * @deprecated
400
425
  */
401
- fetchMatchesRaw(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchMatches200Response>>;
426
+ fetchMatchesRaw(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FetchMarketMatches200Response>>;
402
427
  /**
403
- * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
404
- * Find Similar Markets
428
+ * Find Similar Markets (Deprecated)
429
+ * @deprecated
405
430
  */
406
- fetchMatches(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMatches200Response>;
431
+ fetchMatches(requestParameters: FetchMatchesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FetchMarketMatches200Response>;
407
432
  /**
408
433
  * Fetch My Trades
409
434
  */
@@ -717,6 +742,17 @@ export declare const FetchArbitrageExchangeEnum: {
717
742
  readonly Router: "router";
718
743
  };
719
744
  export type FetchArbitrageExchangeEnum = typeof FetchArbitrageExchangeEnum[keyof typeof FetchArbitrageExchangeEnum];
745
+ /**
746
+ * @export
747
+ */
748
+ export declare const FetchArbitrageRelationsEnum: {
749
+ readonly Identity: "identity";
750
+ readonly Subset: "subset";
751
+ readonly Superset: "superset";
752
+ readonly Overlap: "overlap";
753
+ readonly Disjoint: "disjoint";
754
+ };
755
+ export type FetchArbitrageRelationsEnum = typeof FetchArbitrageRelationsEnum[keyof typeof FetchArbitrageRelationsEnum];
720
756
  /**
721
757
  * @export
722
758
  */
@@ -949,6 +985,35 @@ export declare const FetchMarketSearchInEnum: {
949
985
  readonly Both: "both";
950
986
  };
951
987
  export type FetchMarketSearchInEnum = typeof FetchMarketSearchInEnum[keyof typeof FetchMarketSearchInEnum];
988
+ /**
989
+ * @export
990
+ */
991
+ export declare const FetchMarketMatchesExchangeEnum: {
992
+ readonly Polymarket: "polymarket";
993
+ readonly Kalshi: "kalshi";
994
+ readonly KalshiDemo: "kalshi-demo";
995
+ readonly Limitless: "limitless";
996
+ readonly Probable: "probable";
997
+ readonly Baozi: "baozi";
998
+ readonly Myriad: "myriad";
999
+ readonly Opinion: "opinion";
1000
+ readonly Metaculus: "metaculus";
1001
+ readonly Smarkets: "smarkets";
1002
+ readonly PolymarketUs: "polymarket_us";
1003
+ readonly Router: "router";
1004
+ };
1005
+ export type FetchMarketMatchesExchangeEnum = typeof FetchMarketMatchesExchangeEnum[keyof typeof FetchMarketMatchesExchangeEnum];
1006
+ /**
1007
+ * @export
1008
+ */
1009
+ export declare const FetchMarketMatchesRelationEnum: {
1010
+ readonly Identity: "identity";
1011
+ readonly Subset: "subset";
1012
+ readonly Superset: "superset";
1013
+ readonly Overlap: "overlap";
1014
+ readonly Disjoint: "disjoint";
1015
+ };
1016
+ export type FetchMarketMatchesRelationEnum = typeof FetchMarketMatchesRelationEnum[keyof typeof FetchMarketMatchesRelationEnum];
952
1017
  /**
953
1018
  * @export
954
1019
  */
@@ -12,7 +12,7 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import * as runtime from '../runtime.js';
15
- import { BaseResponseFromJSON, BuildOrder200ResponseFromJSON, BuildOrderRequestToJSON, CancelOrderRequestToJSON, CloseRequestToJSON, CompareMarketPrices200ResponseFromJSON, CompareMarketPricesRequestToJSON, CreateOrder200ResponseFromJSON, CreateOrderRequestToJSON, FetchArbitrage200ResponseFromJSON, FetchBalance200ResponseFromJSON, FetchEvent200ResponseFromJSON, FetchEventMatches200ResponseFromJSON, FetchEvents200ResponseFromJSON, FetchMarket200ResponseFromJSON, FetchMarkets200ResponseFromJSON, FetchMarketsPaginated200ResponseFromJSON, FetchMatches200ResponseFromJSON, FetchMyTrades200ResponseFromJSON, FetchOHLCV200ResponseFromJSON, FetchOpenOrders200ResponseFromJSON, FetchOrderBook200ResponseFromJSON, FetchPositions200ResponseFromJSON, FetchTrades200ResponseFromJSON, FilterEventsRequestToJSON, FilterMarketsRequestToJSON, GetExecutionPrice200ResponseFromJSON, GetExecutionPriceDetailed200ResponseFromJSON, GetExecutionPriceDetailedRequestToJSON, GetExecutionPriceRequestToJSON, HealthCheck200ResponseFromJSON, LoadMarkets200ResponseFromJSON, LoadMarketsRequestToJSON, SubmitOrderRequestToJSON, UnwatchAddressRequestToJSON, UnwatchOrderBookRequestToJSON, WatchAddress200ResponseFromJSON, WatchAddressRequestToJSON, WatchOrderBookRequestToJSON, WatchTradesRequestToJSON, } from '../models/index.js';
15
+ import { BaseResponseFromJSON, BuildOrder200ResponseFromJSON, BuildOrderRequestToJSON, CancelOrderRequestToJSON, CloseRequestToJSON, CompareMarketPrices200ResponseFromJSON, CompareMarketPricesRequestToJSON, CreateOrder200ResponseFromJSON, CreateOrderRequestToJSON, FetchArbitrage200ResponseFromJSON, FetchBalance200ResponseFromJSON, FetchEvent200ResponseFromJSON, FetchEventMatches200ResponseFromJSON, FetchEvents200ResponseFromJSON, FetchMarket200ResponseFromJSON, FetchMarketMatches200ResponseFromJSON, FetchMarkets200ResponseFromJSON, FetchMarketsPaginated200ResponseFromJSON, FetchMyTrades200ResponseFromJSON, FetchOHLCV200ResponseFromJSON, FetchOpenOrders200ResponseFromJSON, FetchOrderBook200ResponseFromJSON, FetchPositions200ResponseFromJSON, FetchTrades200ResponseFromJSON, FilterEventsRequestToJSON, FilterMarketsRequestToJSON, GetExecutionPrice200ResponseFromJSON, GetExecutionPriceDetailed200ResponseFromJSON, GetExecutionPriceDetailedRequestToJSON, GetExecutionPriceRequestToJSON, HealthCheck200ResponseFromJSON, LoadMarkets200ResponseFromJSON, LoadMarketsRequestToJSON, SubmitOrderRequestToJSON, UnwatchAddressRequestToJSON, UnwatchOrderBookRequestToJSON, WatchAddress200ResponseFromJSON, WatchAddressRequestToJSON, WatchOrderBookRequestToJSON, WatchTradesRequestToJSON, } from '../models/index.js';
16
16
  /**
17
17
  *
18
18
  */
@@ -226,6 +226,9 @@ export class DefaultApi extends runtime.BaseAPI {
226
226
  if (requestParameters['limit'] != null) {
227
227
  queryParameters['limit'] = requestParameters['limit'];
228
228
  }
229
+ if (requestParameters['relations'] != null) {
230
+ queryParameters['relations'] = requestParameters['relations'];
231
+ }
229
232
  const headerParameters = {};
230
233
  let urlPath = `/api/{exchange}/fetchArbitrage`;
231
234
  urlPath = urlPath.replace(`{${"exchange"}}`, encodeURIComponent(String(requestParameters['exchange'])));
@@ -387,6 +390,9 @@ export class DefaultApi extends runtime.BaseAPI {
387
390
  throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchEventMatches().');
388
391
  }
389
392
  const queryParameters = {};
393
+ if (requestParameters['event'] != null) {
394
+ queryParameters['event'] = requestParameters['event'];
395
+ }
390
396
  if (requestParameters['eventId'] != null) {
391
397
  queryParameters['eventId'] = requestParameters['eventId'];
392
398
  }
@@ -494,6 +500,9 @@ export class DefaultApi extends runtime.BaseAPI {
494
500
  throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchHedges().');
495
501
  }
496
502
  const queryParameters = {};
503
+ if (requestParameters['market'] != null) {
504
+ queryParameters['market'] = requestParameters['market'];
505
+ }
497
506
  if (requestParameters['marketId'] != null) {
498
507
  queryParameters['marketId'] = requestParameters['marketId'];
499
508
  }
@@ -598,6 +607,58 @@ export class DefaultApi extends runtime.BaseAPI {
598
607
  const response = await this.fetchMarketRaw(requestParameters, initOverrides);
599
608
  return await response.value();
600
609
  }
610
+ /**
611
+ * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
612
+ * Find Similar Markets
613
+ */
614
+ async fetchMarketMatchesRaw(requestParameters, initOverrides) {
615
+ if (requestParameters['exchange'] == null) {
616
+ throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchMarketMatches().');
617
+ }
618
+ const queryParameters = {};
619
+ if (requestParameters['market'] != null) {
620
+ queryParameters['market'] = requestParameters['market'];
621
+ }
622
+ if (requestParameters['marketId'] != null) {
623
+ queryParameters['marketId'] = requestParameters['marketId'];
624
+ }
625
+ if (requestParameters['slug'] != null) {
626
+ queryParameters['slug'] = requestParameters['slug'];
627
+ }
628
+ if (requestParameters['url'] != null) {
629
+ queryParameters['url'] = requestParameters['url'];
630
+ }
631
+ if (requestParameters['relation'] != null) {
632
+ queryParameters['relation'] = requestParameters['relation'];
633
+ }
634
+ if (requestParameters['minConfidence'] != null) {
635
+ queryParameters['minConfidence'] = requestParameters['minConfidence'];
636
+ }
637
+ if (requestParameters['limit'] != null) {
638
+ queryParameters['limit'] = requestParameters['limit'];
639
+ }
640
+ if (requestParameters['includePrices'] != null) {
641
+ queryParameters['includePrices'] = requestParameters['includePrices'];
642
+ }
643
+ const headerParameters = {};
644
+ let urlPath = `/api/{exchange}/fetchMarketMatches`;
645
+ urlPath = urlPath.replace(`{${"exchange"}}`, encodeURIComponent(String(requestParameters['exchange'])));
646
+ const response = await this.request({
647
+ path: urlPath,
648
+ method: 'GET',
649
+ headers: headerParameters,
650
+ query: queryParameters,
651
+ }, initOverrides);
652
+ return new runtime.JSONApiResponse(response, (jsonValue) => FetchMarketMatches200ResponseFromJSON(jsonValue));
653
+ }
654
+ /**
655
+ * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
656
+ * Find Similar Markets
657
+ */
658
+ async fetchMarketMatches(requestParameters, initOverrides) {
659
+ const response = await this.fetchMarketMatchesRaw(requestParameters, initOverrides);
660
+ return await response.value();
661
+ }
601
662
  /**
602
663
  * Fetch markets with optional filtering, search, or slug lookup. Always hits the exchange API — results reflect the live state at the time of the call.
603
664
  * Fetch Markets
@@ -700,14 +761,17 @@ export class DefaultApi extends runtime.BaseAPI {
700
761
  return await response.value();
701
762
  }
702
763
  /**
703
- * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
704
- * Find Similar Markets
764
+ * Find Similar Markets (Deprecated)
765
+ * @deprecated
705
766
  */
706
767
  async fetchMatchesRaw(requestParameters, initOverrides) {
707
768
  if (requestParameters['exchange'] == null) {
708
769
  throw new runtime.RequiredError('exchange', 'Required parameter "exchange" was null or undefined when calling fetchMatches().');
709
770
  }
710
771
  const queryParameters = {};
772
+ if (requestParameters['market'] != null) {
773
+ queryParameters['market'] = requestParameters['market'];
774
+ }
711
775
  if (requestParameters['marketId'] != null) {
712
776
  queryParameters['marketId'] = requestParameters['marketId'];
713
777
  }
@@ -738,11 +802,11 @@ export class DefaultApi extends runtime.BaseAPI {
738
802
  headers: headerParameters,
739
803
  query: queryParameters,
740
804
  }, initOverrides);
741
- return new runtime.JSONApiResponse(response, (jsonValue) => FetchMatches200ResponseFromJSON(jsonValue));
805
+ return new runtime.JSONApiResponse(response, (jsonValue) => FetchMarketMatches200ResponseFromJSON(jsonValue));
742
806
  }
743
807
  /**
744
- * Find the same or related market on other venues. Given a market on one venue, discover semantically equivalent markets across every other venue PMXT ingests — each with a relation type (identity, subset, superset, overlap, disjoint), confidence score, and reasoning.
745
- * Find Similar Markets
808
+ * Find Similar Markets (Deprecated)
809
+ * @deprecated
746
810
  */
747
811
  async fetchMatches(requestParameters, initOverrides) {
748
812
  const response = await this.fetchMatchesRaw(requestParameters, initOverrides);
@@ -1483,6 +1547,16 @@ export const FetchArbitrageExchangeEnum = {
1483
1547
  PolymarketUs: 'polymarket_us',
1484
1548
  Router: 'router'
1485
1549
  };
1550
+ /**
1551
+ * @export
1552
+ */
1553
+ export const FetchArbitrageRelationsEnum = {
1554
+ Identity: 'identity',
1555
+ Subset: 'subset',
1556
+ Superset: 'superset',
1557
+ Overlap: 'overlap',
1558
+ Disjoint: 'disjoint'
1559
+ };
1486
1560
  /**
1487
1561
  * @export
1488
1562
  */
@@ -1697,6 +1771,33 @@ export const FetchMarketSearchInEnum = {
1697
1771
  Description: 'description',
1698
1772
  Both: 'both'
1699
1773
  };
1774
+ /**
1775
+ * @export
1776
+ */
1777
+ export const FetchMarketMatchesExchangeEnum = {
1778
+ Polymarket: 'polymarket',
1779
+ Kalshi: 'kalshi',
1780
+ KalshiDemo: 'kalshi-demo',
1781
+ Limitless: 'limitless',
1782
+ Probable: 'probable',
1783
+ Baozi: 'baozi',
1784
+ Myriad: 'myriad',
1785
+ Opinion: 'opinion',
1786
+ Metaculus: 'metaculus',
1787
+ Smarkets: 'smarkets',
1788
+ PolymarketUs: 'polymarket_us',
1789
+ Router: 'router'
1790
+ };
1791
+ /**
1792
+ * @export
1793
+ */
1794
+ export const FetchMarketMatchesRelationEnum = {
1795
+ Identity: 'identity',
1796
+ Subset: 'subset',
1797
+ Superset: 'superset',
1798
+ Overlap: 'overlap',
1799
+ Disjoint: 'disjoint'
1800
+ };
1700
1801
  /**
1701
1802
  * @export
1702
1803
  */
@@ -58,7 +58,30 @@ export interface ArbitrageOpportunity {
58
58
  * @memberof ArbitrageOpportunity
59
59
  */
60
60
  sellPrice: number;
61
+ /**
62
+ * The set-theoretic relation between the two markets (e.g. identity, subset).
63
+ * @type {string}
64
+ * @memberof ArbitrageOpportunity
65
+ */
66
+ relation?: ArbitrageOpportunityRelationEnum;
67
+ /**
68
+ * Match confidence score (0.0 to 1.0).
69
+ * @type {number}
70
+ * @memberof ArbitrageOpportunity
71
+ */
72
+ confidence?: number;
61
73
  }
74
+ /**
75
+ * @export
76
+ */
77
+ export declare const ArbitrageOpportunityRelationEnum: {
78
+ readonly Identity: "identity";
79
+ readonly Subset: "subset";
80
+ readonly Superset: "superset";
81
+ readonly Overlap: "overlap";
82
+ readonly Disjoint: "disjoint";
83
+ };
84
+ export type ArbitrageOpportunityRelationEnum = typeof ArbitrageOpportunityRelationEnum[keyof typeof ArbitrageOpportunityRelationEnum];
62
85
  /**
63
86
  * Check if a given object implements the ArbitrageOpportunity interface.
64
87
  */
@@ -12,6 +12,16 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import { UnifiedMarketFromJSON, UnifiedMarketToJSON, } from './UnifiedMarket.js';
15
+ /**
16
+ * @export
17
+ */
18
+ export const ArbitrageOpportunityRelationEnum = {
19
+ Identity: 'identity',
20
+ Subset: 'subset',
21
+ Superset: 'superset',
22
+ Overlap: 'overlap',
23
+ Disjoint: 'disjoint'
24
+ };
15
25
  /**
16
26
  * Check if a given object implements the ArbitrageOpportunity interface.
17
27
  */
@@ -47,6 +57,8 @@ export function ArbitrageOpportunityFromJSONTyped(json, ignoreDiscriminator) {
47
57
  'sellVenue': json['sellVenue'],
48
58
  'buyPrice': json['buyPrice'],
49
59
  'sellPrice': json['sellPrice'],
60
+ 'relation': json['relation'] == null ? undefined : json['relation'],
61
+ 'confidence': json['confidence'] == null ? undefined : json['confidence'],
50
62
  };
51
63
  }
52
64
  export function ArbitrageOpportunityToJSON(json) {
@@ -64,5 +76,7 @@ export function ArbitrageOpportunityToJSONTyped(value, ignoreDiscriminator = fal
64
76
  'sellVenue': value['sellVenue'],
65
77
  'buyPrice': value['buyPrice'],
66
78
  'sellPrice': value['sellPrice'],
79
+ 'relation': value['relation'],
80
+ 'confidence': value['confidence'],
67
81
  };
68
82
  }
@@ -9,8 +9,8 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { FetchMarketMatchesParams } from './FetchMarketMatchesParams.js';
12
13
  import type { ExchangeCredentials } from './ExchangeCredentials.js';
13
- import type { FetchMatchesParams } from './FetchMatchesParams.js';
14
14
  /**
15
15
  *
16
16
  * @export
@@ -19,10 +19,10 @@ import type { FetchMatchesParams } from './FetchMatchesParams.js';
19
19
  export interface CompareMarketPricesRequest {
20
20
  /**
21
21
  *
22
- * @type {Array<FetchMatchesParams>}
22
+ * @type {Array<FetchMarketMatchesParams>}
23
23
  * @memberof CompareMarketPricesRequest
24
24
  */
25
- args: Array<FetchMatchesParams>;
25
+ args: Array<FetchMarketMatchesParams>;
26
26
  /**
27
27
  *
28
28
  * @type {ExchangeCredentials}
@@ -11,8 +11,8 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { FetchMarketMatchesParamsFromJSON, FetchMarketMatchesParamsToJSON, } from './FetchMarketMatchesParams.js';
14
15
  import { ExchangeCredentialsFromJSON, ExchangeCredentialsToJSON, } from './ExchangeCredentials.js';
15
- import { FetchMatchesParamsFromJSON, FetchMatchesParamsToJSON, } from './FetchMatchesParams.js';
16
16
  /**
17
17
  * Check if a given object implements the CompareMarketPricesRequest interface.
18
18
  */
@@ -29,7 +29,7 @@ export function CompareMarketPricesRequestFromJSONTyped(json, ignoreDiscriminato
29
29
  return json;
30
30
  }
31
31
  return {
32
- 'args': (json['args'].map(FetchMatchesParamsFromJSON)),
32
+ 'args': (json['args'].map(FetchMarketMatchesParamsFromJSON)),
33
33
  'credentials': json['credentials'] == null ? undefined : ExchangeCredentialsFromJSON(json['credentials']),
34
34
  };
35
35
  }
@@ -41,7 +41,7 @@ export function CompareMarketPricesRequestToJSONTyped(value, ignoreDiscriminator
41
41
  return value;
42
42
  }
43
43
  return {
44
- 'args': (value['args'].map(FetchMatchesParamsToJSON)),
44
+ 'args': (value['args'].map(FetchMarketMatchesParamsToJSON)),
45
45
  'credentials': ExchangeCredentialsToJSON(value['credentials']),
46
46
  };
47
47
  }
@@ -33,7 +33,24 @@ export interface FetchArbitrageParams {
33
33
  * @memberof FetchArbitrageParams
34
34
  */
35
35
  limit?: number;
36
+ /**
37
+ * Comma-separated relation types to include (default: 'identity').
38
+ * @type {Array<string>}
39
+ * @memberof FetchArbitrageParams
40
+ */
41
+ relations?: Array<FetchArbitrageParamsRelationsEnum>;
36
42
  }
43
+ /**
44
+ * @export
45
+ */
46
+ export declare const FetchArbitrageParamsRelationsEnum: {
47
+ readonly Identity: "identity";
48
+ readonly Subset: "subset";
49
+ readonly Superset: "superset";
50
+ readonly Overlap: "overlap";
51
+ readonly Disjoint: "disjoint";
52
+ };
53
+ export type FetchArbitrageParamsRelationsEnum = typeof FetchArbitrageParamsRelationsEnum[keyof typeof FetchArbitrageParamsRelationsEnum];
37
54
  /**
38
55
  * Check if a given object implements the FetchArbitrageParams interface.
39
56
  */
@@ -11,6 +11,16 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ /**
15
+ * @export
16
+ */
17
+ export const FetchArbitrageParamsRelationsEnum = {
18
+ Identity: 'identity',
19
+ Subset: 'subset',
20
+ Superset: 'superset',
21
+ Overlap: 'overlap',
22
+ Disjoint: 'disjoint'
23
+ };
14
24
  /**
15
25
  * Check if a given object implements the FetchArbitrageParams interface.
16
26
  */
@@ -28,6 +38,7 @@ export function FetchArbitrageParamsFromJSONTyped(json, ignoreDiscriminator) {
28
38
  'minSpread': json['minSpread'] == null ? undefined : json['minSpread'],
29
39
  'category': json['category'] == null ? undefined : json['category'],
30
40
  'limit': json['limit'] == null ? undefined : json['limit'],
41
+ 'relations': json['relations'] == null ? undefined : json['relations'],
31
42
  };
32
43
  }
33
44
  export function FetchArbitrageParamsToJSON(json) {
@@ -41,5 +52,6 @@ export function FetchArbitrageParamsToJSONTyped(value, ignoreDiscriminator = fal
41
52
  'minSpread': value['minSpread'],
42
53
  'category': value['category'],
43
54
  'limit': value['limit'],
55
+ 'relations': value['relations'],
44
56
  };
45
57
  }
@@ -9,12 +9,19 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { UnifiedEvent } from './UnifiedEvent.js';
12
13
  /**
13
14
  *
14
15
  * @export
15
16
  * @interface FetchEventMatchesParams
16
17
  */
17
18
  export interface FetchEventMatchesParams {
19
+ /**
20
+ * Pass a UnifiedEvent directly instead of eventId/slug.
21
+ * @type {UnifiedEvent}
22
+ * @memberof FetchEventMatchesParams
23
+ */
24
+ event?: UnifiedEvent;
18
25
  /**
19
26
  *
20
27
  * @type {string}
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { UnifiedEventFromJSON, UnifiedEventToJSON, } from './UnifiedEvent.js';
14
15
  /**
15
16
  * @export
16
17
  */
@@ -35,6 +36,7 @@ export function FetchEventMatchesParamsFromJSONTyped(json, ignoreDiscriminator)
35
36
  return json;
36
37
  }
37
38
  return {
39
+ 'event': json['event'] == null ? undefined : UnifiedEventFromJSON(json['event']),
38
40
  'eventId': json['eventId'] == null ? undefined : json['eventId'],
39
41
  'slug': json['slug'] == null ? undefined : json['slug'],
40
42
  'relation': json['relation'] == null ? undefined : json['relation'],
@@ -51,6 +53,7 @@ export function FetchEventMatchesParamsToJSONTyped(value, ignoreDiscriminator =
51
53
  return value;
52
54
  }
53
55
  return {
56
+ 'event': UnifiedEventToJSON(value['event']),
54
57
  'eventId': value['eventId'],
55
58
  'slug': value['slug'],
56
59
  'relation': value['relation'],
@@ -0,0 +1,46 @@
1
+ /**
2
+ * PMXT Sidecar API
3
+ * A unified local sidecar API for prediction markets (Polymarket, Kalshi, Limitless). This API acts as a JSON-RPC-style gateway. Each endpoint corresponds to a specific method on the generic exchange implementation.
4
+ *
5
+ * The version of the OpenAPI document: 0.4.4
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { ErrorDetail } from './ErrorDetail.js';
13
+ import type { MatchResult } from './MatchResult.js';
14
+ /**
15
+ *
16
+ * @export
17
+ * @interface FetchMarketMatches200Response
18
+ */
19
+ export interface FetchMarketMatches200Response {
20
+ /**
21
+ *
22
+ * @type {boolean}
23
+ * @memberof FetchMarketMatches200Response
24
+ */
25
+ success?: boolean;
26
+ /**
27
+ *
28
+ * @type {ErrorDetail}
29
+ * @memberof FetchMarketMatches200Response
30
+ */
31
+ error?: ErrorDetail;
32
+ /**
33
+ *
34
+ * @type {Array<MatchResult>}
35
+ * @memberof FetchMarketMatches200Response
36
+ */
37
+ data?: Array<MatchResult>;
38
+ }
39
+ /**
40
+ * Check if a given object implements the FetchMarketMatches200Response interface.
41
+ */
42
+ export declare function instanceOfFetchMarketMatches200Response(value: object): value is FetchMarketMatches200Response;
43
+ export declare function FetchMarketMatches200ResponseFromJSON(json: any): FetchMarketMatches200Response;
44
+ export declare function FetchMarketMatches200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): FetchMarketMatches200Response;
45
+ export declare function FetchMarketMatches200ResponseToJSON(json: any): FetchMarketMatches200Response;
46
+ export declare function FetchMarketMatches200ResponseToJSONTyped(value?: FetchMarketMatches200Response | null, ignoreDiscriminator?: boolean): any;
@@ -14,15 +14,15 @@
14
14
  import { ErrorDetailFromJSON, ErrorDetailToJSON, } from './ErrorDetail.js';
15
15
  import { MatchResultFromJSON, MatchResultToJSON, } from './MatchResult.js';
16
16
  /**
17
- * Check if a given object implements the FetchMatches200Response interface.
17
+ * Check if a given object implements the FetchMarketMatches200Response interface.
18
18
  */
19
- export function instanceOfFetchMatches200Response(value) {
19
+ export function instanceOfFetchMarketMatches200Response(value) {
20
20
  return true;
21
21
  }
22
- export function FetchMatches200ResponseFromJSON(json) {
23
- return FetchMatches200ResponseFromJSONTyped(json, false);
22
+ export function FetchMarketMatches200ResponseFromJSON(json) {
23
+ return FetchMarketMatches200ResponseFromJSONTyped(json, false);
24
24
  }
25
- export function FetchMatches200ResponseFromJSONTyped(json, ignoreDiscriminator) {
25
+ export function FetchMarketMatches200ResponseFromJSONTyped(json, ignoreDiscriminator) {
26
26
  if (json == null) {
27
27
  return json;
28
28
  }
@@ -32,10 +32,10 @@ export function FetchMatches200ResponseFromJSONTyped(json, ignoreDiscriminator)
32
32
  'data': json['data'] == null ? undefined : (json['data'].map(MatchResultFromJSON)),
33
33
  };
34
34
  }
35
- export function FetchMatches200ResponseToJSON(json) {
36
- return FetchMatches200ResponseToJSONTyped(json, false);
35
+ export function FetchMarketMatches200ResponseToJSON(json) {
36
+ return FetchMarketMatches200ResponseToJSONTyped(json, false);
37
37
  }
38
- export function FetchMatches200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
38
+ export function FetchMarketMatches200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
39
39
  if (value == null) {
40
40
  return value;
41
41
  }