pmxt-core 2.18.0 → 2.18.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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/kalshi/Kalshi.yaml
3
- * Generated at: 2026-02-27T10:46:48.605Z
3
+ * Generated at: 2026-02-28T16:13:08.794Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const kalshiApiSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.kalshiApiSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/kalshi/Kalshi.yaml
6
- * Generated at: 2026-02-27T10:46:48.605Z
6
+ * Generated at: 2026-02-28T16:13:08.794Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.kalshiApiSpec = {
@@ -24,7 +24,7 @@ async function fetchEventByTicker(eventTicker, callApi) {
24
24
  const unifiedEvent = {
25
25
  id: event.event_ticker,
26
26
  title: event.title,
27
- description: event.mututals_description || "",
27
+ description: event.mututals_description || deriveEventDescription(event.markets || []),
28
28
  slug: event.event_ticker,
29
29
  markets: markets,
30
30
  volume24h: markets.reduce((sum, m) => sum + m.volume24h, 0),
@@ -36,6 +36,41 @@ async function fetchEventByTicker(eventTicker, callApi) {
36
36
  };
37
37
  return [unifiedEvent];
38
38
  }
39
+ const PLACEHOLDERS = ["{x}", "{y}", "{z}"];
40
+ function deriveEventDescription(markets) {
41
+ const texts = markets
42
+ .map((m) => m.rules_primary)
43
+ .filter((t) => typeof t === "string" && t.length > 0);
44
+ if (texts.length === 0)
45
+ return "";
46
+ if (texts.length === 1)
47
+ return texts[0];
48
+ // Find longest common prefix
49
+ let prefix = texts[0];
50
+ for (const t of texts) {
51
+ while (!t.startsWith(prefix))
52
+ prefix = prefix.slice(0, -1);
53
+ if (!prefix)
54
+ break;
55
+ }
56
+ // Find longest common suffix (on the part after the prefix)
57
+ const suffixCandidates = texts.map((t) => t.slice(prefix.length));
58
+ let suffix = suffixCandidates[0];
59
+ for (const t of suffixCandidates) {
60
+ while (!t.endsWith(suffix))
61
+ suffix = suffix.slice(1);
62
+ if (!suffix)
63
+ break;
64
+ }
65
+ // Require a meaningful template (at least 20 chars of fixed text)
66
+ if (prefix.length + suffix.length < 20)
67
+ return texts[0];
68
+ // Verify all variable regions are distinct (i.e. something actually varies)
69
+ const variables = texts.map((t) => t.slice(prefix.length, suffix.length ? t.length - suffix.length : undefined));
70
+ if (new Set(variables).size === 1)
71
+ return texts[0];
72
+ return prefix + PLACEHOLDERS[0] + suffix;
73
+ }
39
74
  function rawEventToUnified(event) {
40
75
  const markets = [];
41
76
  if (event.markets) {
@@ -49,7 +84,7 @@ function rawEventToUnified(event) {
49
84
  const unifiedEvent = {
50
85
  id: event.event_ticker,
51
86
  title: event.title,
52
- description: event.mututals_description || "",
87
+ description: event.mututals_description || deriveEventDescription(event.markets || []),
53
88
  slug: event.event_ticker,
54
89
  markets: markets,
55
90
  volume24h: markets.reduce((sum, m) => sum + m.volume24h, 0),
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/limitless/Limitless.yaml
3
- * Generated at: 2026-02-27T10:46:48.657Z
3
+ * Generated at: 2026-02-28T16:13:08.839Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const limitlessApiSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.limitlessApiSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/limitless/Limitless.yaml
6
- * Generated at: 2026-02-27T10:46:48.657Z
6
+ * Generated at: 2026-02-28T16:13:08.839Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.limitlessApiSpec = {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/myriad/myriad.yaml
3
- * Generated at: 2026-02-27T10:46:48.669Z
3
+ * Generated at: 2026-02-28T16:13:08.854Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const myriadApiSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.myriadApiSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/myriad/myriad.yaml
6
- * Generated at: 2026-02-27T10:46:48.669Z
6
+ * Generated at: 2026-02-28T16:13:08.854Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.myriadApiSpec = {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketClobAPI.yaml
3
- * Generated at: 2026-02-27T10:46:48.613Z
3
+ * Generated at: 2026-02-28T16:13:08.804Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const polymarketClobSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.polymarketClobSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketClobAPI.yaml
6
- * Generated at: 2026-02-27T10:46:48.613Z
6
+ * Generated at: 2026-02-28T16:13:08.804Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.polymarketClobSpec = {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/Polymarket_Data_API.yaml
3
- * Generated at: 2026-02-27T10:46:48.631Z
3
+ * Generated at: 2026-02-28T16:13:08.818Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const polymarketDataSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.polymarketDataSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/Polymarket_Data_API.yaml
6
- * Generated at: 2026-02-27T10:46:48.631Z
6
+ * Generated at: 2026-02-28T16:13:08.818Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.polymarketDataSpec = {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketGammaAPI.yaml
3
- * Generated at: 2026-02-27T10:46:48.625Z
3
+ * Generated at: 2026-02-28T16:13:08.816Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const polymarketGammaSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.polymarketGammaSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/polymarket/PolymarketGammaAPI.yaml
6
- * Generated at: 2026-02-27T10:46:48.625Z
6
+ * Generated at: 2026-02-28T16:13:08.816Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.polymarketGammaSpec = {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/probable/probable.yaml
3
- * Generated at: 2026-02-27T10:46:48.662Z
3
+ * Generated at: 2026-02-28T16:13:08.846Z
4
4
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
5
5
  */
6
6
  export declare const probableApiSpec: {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.probableApiSpec = void 0;
4
4
  /**
5
5
  * Auto-generated from /home/runner/work/pmxt/pmxt/core/specs/probable/probable.yaml
6
- * Generated at: 2026-02-27T10:46:48.662Z
6
+ * Generated at: 2026-02-28T16:13:08.846Z
7
7
  * Do not edit manually -- run "npm run fetch:openapi" to regenerate.
8
8
  */
9
9
  exports.probableApiSpec = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmxt-core",
3
- "version": "2.18.0",
3
+ "version": "2.18.1",
4
4
  "description": "pmxt is a unified prediction market data API. The ccxt for prediction markets.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,8 +29,8 @@
29
29
  "test": "jest -c jest.config.js",
30
30
  "server": "tsx watch src/server/index.ts",
31
31
  "server:prod": "node dist/server/index.js",
32
- "generate:sdk:python": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g python -o ../sdks/python/generated --package-name pmxt_internal --additional-properties=projectName=pmxt-internal,packageVersion=2.18.0,library=urllib3",
33
- "generate:sdk:typescript": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g typescript-fetch -o ../sdks/typescript/generated --additional-properties=npmName=pmxtjs,npmVersion=2.18.0,supportsES6=true,typescriptThreePlus=true && node ../sdks/typescript/scripts/fix-generated.js",
32
+ "generate:sdk:python": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g python -o ../sdks/python/generated --package-name pmxt_internal --additional-properties=projectName=pmxt-internal,packageVersion=2.18.1,library=urllib3",
33
+ "generate:sdk:typescript": "npx @openapitools/openapi-generator-cli generate -i src/server/openapi.yaml -g typescript-fetch -o ../sdks/typescript/generated --additional-properties=npmName=pmxtjs,npmVersion=2.18.1,supportsES6=true,typescriptThreePlus=true && node ../sdks/typescript/scripts/fix-generated.js",
34
34
  "fetch:openapi": "node scripts/fetch-openapi-specs.js",
35
35
  "extract:jsdoc": "node ../scripts/extract-jsdoc.js",
36
36
  "generate:docs": "npm run extract:jsdoc && node ../scripts/generate-api-docs.js",