pmxt 2.46.2__tar.gz → 2.46.3__tar.gz

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 (140) hide show
  1. {pmxt-2.46.2 → pmxt-2.46.3}/PKG-INFO +1 -1
  2. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/__init__.py +1 -1
  3. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/api_client.py +1 -1
  4. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/configuration.py +1 -1
  5. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/__init__.py +1 -1
  6. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/_server/server/bundled.js +56 -11
  7. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt.egg-info/PKG-INFO +1 -1
  8. {pmxt-2.46.2 → pmxt-2.46.3}/pyproject.toml +1 -1
  9. {pmxt-2.46.2 → pmxt-2.46.3}/README.md +0 -0
  10. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/api/__init__.py +0 -0
  11. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/api/data_feeds_api.py +0 -0
  12. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/api/default_api.py +0 -0
  13. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/api_response.py +0 -0
  14. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/exceptions.py +0 -0
  15. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/__init__.py +0 -0
  16. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/arbitrage_opportunity.py +0 -0
  17. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/balance.py +0 -0
  18. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/base_request.py +0 -0
  19. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/base_response.py +0 -0
  20. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/build_order200_response.py +0 -0
  21. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/build_order_request.py +0 -0
  22. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/built_order.py +0 -0
  23. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/built_order_tx.py +0 -0
  24. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/cancel_order_request.py +0 -0
  25. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/close_request.py +0 -0
  26. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/compare_market_prices200_response.py +0 -0
  27. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/compare_market_prices_request.py +0 -0
  28. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/create_order200_response.py +0 -0
  29. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/create_order_params.py +0 -0
  30. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/create_order_request.py +0 -0
  31. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/error_detail.py +0 -0
  32. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/error_response.py +0 -0
  33. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/event_fetch_params.py +0 -0
  34. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/event_filter_criteria.py +0 -0
  35. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/event_filter_criteria_total_volume.py +0 -0
  36. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/event_match_result.py +0 -0
  37. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/exchange_credentials.py +0 -0
  38. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/exchange_credentials_signature_type.py +0 -0
  39. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/execution_price_result.py +0 -0
  40. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_historical_prices200_response.py +0 -0
  41. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_ohlcv200_response.py +0 -0
  42. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_oracle_history200_response.py +0 -0
  43. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_oracle_round200_response.py +0 -0
  44. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_order_book200_response.py +0 -0
  45. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_order_book200_response_data.py +0 -0
  46. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_ticker200_response.py +0 -0
  47. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_fetch_tickers200_response.py +0 -0
  48. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_list200_response.py +0 -0
  49. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_load_markets200_response.py +0 -0
  50. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_market.py +0 -0
  51. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_oracle_round.py +0 -0
  52. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/feed_ticker.py +0 -0
  53. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_arbitrage200_response.py +0 -0
  54. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_arbitrage_params.py +0 -0
  55. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_balance200_response.py +0 -0
  56. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_event200_response.py +0 -0
  57. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_event_matches200_response.py +0 -0
  58. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_event_matches_params.py +0 -0
  59. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_events200_response.py +0 -0
  60. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_events_paginated200_response.py +0 -0
  61. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_market200_response.py +0 -0
  62. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_market_matches200_response.py +0 -0
  63. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_market_matches_params.py +0 -0
  64. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_markets200_response.py +0 -0
  65. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_markets_paginated200_response.py +0 -0
  66. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_matched_markets200_response.py +0 -0
  67. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_matched_markets_params.py +0 -0
  68. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_my_trades200_response.py +0 -0
  69. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_ohlcv200_response.py +0 -0
  70. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_open_orders200_response.py +0 -0
  71. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_order_book200_response.py +0 -0
  72. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_order_book_params.py +0 -0
  73. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_order_books200_response.py +0 -0
  74. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_order_books_request.py +0 -0
  75. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_positions200_response.py +0 -0
  76. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/fetch_trades200_response.py +0 -0
  77. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/filter_events_request.py +0 -0
  78. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/filter_events_request_args_inner.py +0 -0
  79. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/filter_markets_request.py +0 -0
  80. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/filter_markets_request_args_inner.py +0 -0
  81. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/get_execution_price200_response.py +0 -0
  82. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/get_execution_price_detailed200_response.py +0 -0
  83. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/get_execution_price_detailed_request.py +0 -0
  84. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/get_execution_price_request.py +0 -0
  85. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/get_execution_price_request_args_inner.py +0 -0
  86. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/health_check200_response.py +0 -0
  87. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/history_filter_params.py +0 -0
  88. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/load_markets200_response.py +0 -0
  89. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/load_markets_request.py +0 -0
  90. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_criteria.py +0 -0
  91. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_criteria_liquidity.py +0 -0
  92. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_criteria_open_interest.py +0 -0
  93. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_criteria_price.py +0 -0
  94. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_criteria_resolution_date.py +0 -0
  95. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_criteria_volume.py +0 -0
  96. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_criteria_volume24h.py +0 -0
  97. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_filter_params.py +0 -0
  98. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/market_outcome.py +0 -0
  99. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/match_result.py +0 -0
  100. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/matched_market_pair.py +0 -0
  101. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/my_trades_params.py +0 -0
  102. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/ohlcv_params.py +0 -0
  103. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/order.py +0 -0
  104. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/order_book.py +0 -0
  105. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/order_history_params.py +0 -0
  106. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/order_level.py +0 -0
  107. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/paginated_events_result.py +0 -0
  108. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/paginated_markets_result.py +0 -0
  109. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/position.py +0 -0
  110. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/price_candle.py +0 -0
  111. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/price_comparison.py +0 -0
  112. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/submit_order_request.py +0 -0
  113. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/trade.py +0 -0
  114. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/trades_params.py +0 -0
  115. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/unified_event.py +0 -0
  116. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/unified_market.py +0 -0
  117. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/models/user_trade.py +0 -0
  118. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/py.typed +0 -0
  119. {pmxt-2.46.2 → pmxt-2.46.3}/generated/pmxt_internal/rest.py +0 -0
  120. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/_exchanges.py +0 -0
  121. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/_server/__init__.py +0 -0
  122. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/_server/bin/pmxt-ensure-server +0 -0
  123. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/_server/bin/pmxt-ensure-server.js +0 -0
  124. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/client.py +0 -0
  125. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/constants.py +0 -0
  126. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/errors.py +0 -0
  127. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/feed_client.py +0 -0
  128. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/models.py +0 -0
  129. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/router.py +0 -0
  130. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/server_manager.py +0 -0
  131. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt/ws_client.py +0 -0
  132. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt.egg-info/SOURCES.txt +0 -0
  133. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt.egg-info/dependency_links.txt +0 -0
  134. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt.egg-info/requires.txt +0 -0
  135. {pmxt-2.46.2 → pmxt-2.46.3}/pmxt.egg-info/top_level.txt +0 -0
  136. {pmxt-2.46.2 → pmxt-2.46.3}/setup.cfg +0 -0
  137. {pmxt-2.46.2 → pmxt-2.46.3}/tests/test_converters.py +0 -0
  138. {pmxt-2.46.2 → pmxt-2.46.3}/tests/test_public_exports.py +0 -0
  139. {pmxt-2.46.2 → pmxt-2.46.3}/tests/test_sdk_integration.py +0 -0
  140. {pmxt-2.46.2 → pmxt-2.46.3}/tests/test_streaming_ws_transport.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 2.46.2
3
+ Version: 2.46.3
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "2.46.2"
17
+ __version__ = "2.46.3"
18
18
 
19
19
  # Define package exports
20
20
  __all__ = [
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'OpenAPI-Generator/2.46.2/python'
94
+ self.user_agent = 'OpenAPI-Generator/2.46.3/python'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  def __enter__(self):
@@ -506,7 +506,7 @@ class Configuration:
506
506
  "OS: {env}\n"\
507
507
  "Python Version: {pyversion}\n"\
508
508
  "Version of the API: 0.4.4\n"\
509
- "SDK Package Version: 2.46.2".\
509
+ "SDK Package Version: 2.46.3".\
510
510
  format(env=sys.platform, pyversion=sys.version)
511
511
 
512
512
  def get_host_settings(self) -> List[HostSetting]:
@@ -145,7 +145,7 @@ def restart_server() -> None:
145
145
  )
146
146
  _default_manager.restart()
147
147
 
148
- __version__ = "2.46.2"
148
+ __version__ = "2.46.3"
149
149
  __all__ = [
150
150
  # Exchanges
151
151
  "Polymarket",
@@ -214440,10 +214440,20 @@ var require_utils25 = __commonJS({
214440
214440
  exports2.paginateLimitlessMarkets = paginateLimitlessMarkets;
214441
214441
  var market_utils_1 = require_market_utils();
214442
214442
  exports2.DEFAULT_LIMITLESS_API_URL = "https://api.limitless.exchange";
214443
- function mapMarketToUnified(market) {
214443
+ function mapMarketToUnified(market, context = {}) {
214444
214444
  if (!market)
214445
214445
  return null;
214446
+ const resolvedContext = {
214447
+ eventId: getText(market.__pmxtEventId) || context.eventId,
214448
+ eventTitle: getText(market.__pmxtEventTitle) || context.eventTitle,
214449
+ eventDescription: getText(market.__pmxtEventDescription) || context.eventDescription,
214450
+ categories: getStringArray(market.__pmxtCategories) || context.categories,
214451
+ tags: getStringArray(market.__pmxtTags) || context.tags
214452
+ };
214446
214453
  const outcomes = [];
214454
+ const rawTitle = getText(market.title) || getText(market.question) || market.slug;
214455
+ const title = composeMarketTitle(rawTitle, resolvedContext.eventTitle);
214456
+ const hasParentContext = Boolean(resolvedContext.eventTitle && rawTitle);
214447
214457
  if (market.tokens) {
214448
214458
  if (!market.tokens.yes || !market.tokens.no) {
214449
214459
  throw new Error(`[limitless] Market "${market.slug}" is missing token addresses`);
@@ -214451,10 +214461,12 @@ var require_utils25 = __commonJS({
214451
214461
  const prices = Array.isArray(market.prices) ? market.prices : [];
214452
214462
  const yesPrice = prices[0] || 0;
214453
214463
  const noPrice = prices[1] || 0;
214464
+ const yesLabel = hasParentContext ? rawTitle : "Yes";
214465
+ const noLabel = hasParentContext ? `Not ${rawTitle}` : "No";
214454
214466
  outcomes.push({
214455
214467
  outcomeId: market.tokens.yes,
214456
214468
  marketId: market.slug,
214457
- label: "Yes",
214469
+ label: yesLabel,
214458
214470
  price: yesPrice,
214459
214471
  priceChange24h: 0,
214460
214472
  metadata: { clobTokenId: market.tokens.yes }
@@ -214462,7 +214474,7 @@ var require_utils25 = __commonJS({
214462
214474
  outcomes.push({
214463
214475
  outcomeId: market.tokens.no,
214464
214476
  marketId: market.slug,
214465
- label: "No",
214477
+ label: noLabel,
214466
214478
  price: noPrice,
214467
214479
  priceChange24h: 0,
214468
214480
  metadata: { clobTokenId: market.tokens.no }
@@ -214476,9 +214488,9 @@ var require_utils25 = __commonJS({
214476
214488
  const um = {
214477
214489
  id: market.slug,
214478
214490
  marketId: market.slug,
214479
- eventId: market.slug,
214480
- title: market.title || market.question,
214481
- description: market.description,
214491
+ eventId: resolvedContext.eventId || market.slug,
214492
+ title,
214493
+ description: market.description || resolvedContext.eventDescription,
214482
214494
  slug: market.slug,
214483
214495
  outcomes,
214484
214496
  resolutionDate: market.expirationTimestamp ? new Date(market.expirationTimestamp) : /* @__PURE__ */ new Date(),
@@ -214490,13 +214502,32 @@ var require_utils25 = __commonJS({
214490
214502
  // Not directly in the flat market list
214491
214503
  url: `https://limitless.exchange/markets/${market.slug}`,
214492
214504
  image: market.logo || `https://limitless.exchange/api/og?slug=${market.slug}`,
214493
- category: market.categories?.[0],
214494
- tags: market.tags || [],
214505
+ category: market.categories?.[0] || resolvedContext.categories?.[0],
214506
+ tags: market.tags || resolvedContext.tags || [],
214495
214507
  status
214496
214508
  };
214497
214509
  (0, market_utils_1.addBinaryOutcomes)(um);
214498
214510
  return um;
214499
214511
  }
214512
+ function getText(value) {
214513
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
214514
+ }
214515
+ function getStringArray(value) {
214516
+ return Array.isArray(value) ? value.filter((item) => typeof item === "string") : void 0;
214517
+ }
214518
+ function normalizeTitle(value) {
214519
+ return value.toLowerCase().replace(/[^\p{L}\p{N}]+/gu, " ").trim();
214520
+ }
214521
+ function composeMarketTitle(childTitle, eventTitle) {
214522
+ if (!eventTitle)
214523
+ return childTitle;
214524
+ const normalizedChild = normalizeTitle(childTitle);
214525
+ const normalizedEvent = normalizeTitle(eventTitle);
214526
+ if (!normalizedChild || !normalizedEvent || normalizedChild.startsWith(normalizedEvent)) {
214527
+ return childTitle;
214528
+ }
214529
+ return `${eventTitle} - ${childTitle}`;
214530
+ }
214500
214531
  function mapIntervalToFidelity(interval) {
214501
214532
  const mapping = {
214502
214533
  "1m": 1,
@@ -214707,7 +214738,14 @@ var require_fetcher2 = __commonJS({
214707
214738
  for (const res of rawResults) {
214708
214739
  if (res.markets && Array.isArray(res.markets)) {
214709
214740
  for (const child of res.markets) {
214710
- allRawMarkets.push(child);
214741
+ allRawMarkets.push({
214742
+ ...child,
214743
+ __pmxtEventId: res.slug,
214744
+ __pmxtEventTitle: res.title || res.question,
214745
+ __pmxtEventDescription: res.description,
214746
+ __pmxtCategories: res.categories,
214747
+ __pmxtTags: res.tags
214748
+ });
214711
214749
  }
214712
214750
  } else {
214713
214751
  allRawMarkets.push(res);
@@ -214840,7 +214878,14 @@ var require_normalizer2 = __commonJS({
214840
214878
  return null;
214841
214879
  let marketsList = [];
214842
214880
  if (raw.markets && Array.isArray(raw.markets)) {
214843
- marketsList = raw.markets.map((child) => (0, utils_1.mapMarketToUnified)(child)).filter((m) => m !== null);
214881
+ const eventTitle = raw.title || raw.question || "";
214882
+ marketsList = raw.markets.map((child) => (0, utils_1.mapMarketToUnified)(child, {
214883
+ eventId: raw.slug,
214884
+ eventTitle,
214885
+ eventDescription: raw.description,
214886
+ categories: raw.categories,
214887
+ tags: raw.tags
214888
+ })).filter((m) => m !== null);
214844
214889
  } else {
214845
214890
  const unifiedMarket = (0, utils_1.mapMarketToUnified)(raw);
214846
214891
  if (unifiedMarket)
@@ -276713,7 +276758,7 @@ var crypto_1 = require("crypto");
276713
276758
  var crypto_2 = require("crypto");
276714
276759
  var fs_1 = require("fs");
276715
276760
  function getServerVersion() {
276716
- const baseVersion = true ? "2.46.2" : "0.0.0-dev";
276761
+ const baseVersion = true ? "2.46.3" : "0.0.0-dev";
276717
276762
  const isDev = process.env.NODE_ENV === "development" || process.env.PMXT_ALWAYS_RESTART === "1" || __dirname.includes("/core/src/") || __dirname.includes("/core/dist/");
276718
276763
  if (!isDev) {
276719
276764
  return baseVersion;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pmxt
3
- Version: 2.46.2
3
+ Version: 2.46.3
4
4
  Summary: Unified prediction market data API - The ccxt for prediction markets
5
5
  Author: PMXT Contributors
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "pmxt"
7
- version = "2.46.2"
7
+ version = "2.46.3"
8
8
  description = "Unified prediction market data API - The ccxt for prediction markets"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes