pmxt-core 2.39.1 → 2.40.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 (81) hide show
  1. package/dist/exchanges/baozi/fetcher.js +28 -8
  2. package/dist/exchanges/baozi/index.js +6 -4
  3. package/dist/exchanges/gemini-titan/auth.d.ts +34 -0
  4. package/dist/exchanges/gemini-titan/auth.js +80 -0
  5. package/dist/exchanges/gemini-titan/config.d.ts +15 -0
  6. package/dist/exchanges/gemini-titan/config.js +24 -0
  7. package/dist/exchanges/gemini-titan/errors.d.ts +20 -0
  8. package/dist/exchanges/gemini-titan/errors.js +75 -0
  9. package/dist/exchanges/gemini-titan/fetcher.d.ts +26 -0
  10. package/dist/exchanges/gemini-titan/fetcher.js +148 -0
  11. package/dist/exchanges/gemini-titan/index.d.ts +31 -0
  12. package/dist/exchanges/gemini-titan/index.js +188 -0
  13. package/dist/exchanges/gemini-titan/normalizer.d.ts +13 -0
  14. package/dist/exchanges/gemini-titan/normalizer.js +229 -0
  15. package/dist/exchanges/gemini-titan/types.d.ts +220 -0
  16. package/dist/exchanges/gemini-titan/types.js +6 -0
  17. package/dist/exchanges/gemini-titan/utils.d.ts +30 -0
  18. package/dist/exchanges/gemini-titan/utils.js +57 -0
  19. package/dist/exchanges/gemini-titan/websocket.d.ts +46 -0
  20. package/dist/exchanges/gemini-titan/websocket.js +295 -0
  21. package/dist/exchanges/kalshi/api.d.ts +1 -1
  22. package/dist/exchanges/kalshi/api.js +1 -1
  23. package/dist/exchanges/kalshi/fetcher.js +6 -2
  24. package/dist/exchanges/limitless/api.d.ts +1 -1
  25. package/dist/exchanges/limitless/api.js +1 -1
  26. package/dist/exchanges/limitless/index.js +3 -6
  27. package/dist/exchanges/metaculus/fetchEvents.js +7 -2
  28. package/dist/exchanges/mock/index.d.ts +55 -0
  29. package/dist/exchanges/mock/index.js +603 -0
  30. package/dist/exchanges/mock/seededRng.d.ts +10 -0
  31. package/dist/exchanges/mock/seededRng.js +48 -0
  32. package/dist/exchanges/myriad/api.d.ts +1 -1
  33. package/dist/exchanges/myriad/api.js +1 -1
  34. package/dist/exchanges/myriad/websocket.d.ts +4 -0
  35. package/dist/exchanges/myriad/websocket.js +51 -6
  36. package/dist/exchanges/opinion/api.d.ts +1 -1
  37. package/dist/exchanges/opinion/api.js +1 -1
  38. package/dist/exchanges/polymarket/api-clob.d.ts +1 -1
  39. package/dist/exchanges/polymarket/api-clob.js +1 -1
  40. package/dist/exchanges/polymarket/api-data.d.ts +1 -1
  41. package/dist/exchanges/polymarket/api-data.js +1 -1
  42. package/dist/exchanges/polymarket/api-gamma.d.ts +1 -1
  43. package/dist/exchanges/polymarket/api-gamma.js +1 -1
  44. package/dist/exchanges/polymarket/auth.js +5 -2
  45. package/dist/exchanges/polymarket/index.js +2 -1
  46. package/dist/exchanges/polymarket_us/normalizer.js +5 -1
  47. package/dist/exchanges/probable/api.d.ts +1 -1
  48. package/dist/exchanges/probable/api.js +1 -1
  49. package/dist/exchanges/probable/index.js +9 -6
  50. package/dist/exchanges/smarkets/fetcher.js +6 -2
  51. package/dist/index.d.ts +8 -0
  52. package/dist/index.js +9 -1
  53. package/dist/router/Router.js +55 -21
  54. package/dist/server/exchange-factory.js +9 -0
  55. package/dist/server/openapi.yaml +22 -0
  56. package/dist/server/ws-handler.js +13 -3
  57. package/package.json +3 -3
  58. package/dist/exchanges/baozi/price.test.d.ts +0 -1
  59. package/dist/exchanges/baozi/price.test.js +0 -33
  60. package/dist/exchanges/kalshi/kalshi.test.d.ts +0 -1
  61. package/dist/exchanges/kalshi/kalshi.test.js +0 -641
  62. package/dist/exchanges/kalshi/price.test.d.ts +0 -1
  63. package/dist/exchanges/kalshi/price.test.js +0 -24
  64. package/dist/exchanges/myriad/price.test.d.ts +0 -1
  65. package/dist/exchanges/myriad/price.test.js +0 -17
  66. package/dist/exchanges/polymarket_us/errors.test.d.ts +0 -1
  67. package/dist/exchanges/polymarket_us/errors.test.js +0 -54
  68. package/dist/exchanges/polymarket_us/index.test.d.ts +0 -8
  69. package/dist/exchanges/polymarket_us/index.test.js +0 -237
  70. package/dist/exchanges/polymarket_us/normalizer.test.d.ts +0 -1
  71. package/dist/exchanges/polymarket_us/normalizer.test.js +0 -224
  72. package/dist/exchanges/polymarket_us/price.test.d.ts +0 -1
  73. package/dist/exchanges/polymarket_us/price.test.js +0 -131
  74. package/dist/exchanges/polymarket_us/websocket.test.d.ts +0 -8
  75. package/dist/exchanges/polymarket_us/websocket.test.js +0 -162
  76. package/dist/exchanges/smarkets/price.test.d.ts +0 -1
  77. package/dist/exchanges/smarkets/price.test.js +0 -50
  78. package/dist/router/Router.test.d.ts +0 -1
  79. package/dist/router/Router.test.js +0 -328
  80. package/dist/router/client.test.d.ts +0 -1
  81. package/dist/router/client.test.js +0 -177
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmxt-core",
3
- "version": "2.39.1",
3
+ "version": "2.40.0",
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.39.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.39.1,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.40.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.40.0,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",
@@ -1 +0,0 @@
1
- export {};
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const price_1 = require("./price");
4
- describe("clampBaoziPrice", () => {
5
- test("clamps values below 0 to 0", () => {
6
- expect((0, price_1.clampBaoziPrice)(-0.1)).toBe(0);
7
- });
8
- test("clamps values above 1 to 1", () => {
9
- expect((0, price_1.clampBaoziPrice)(1.2)).toBe(1);
10
- });
11
- test("leaves values in range unchanged", () => {
12
- expect((0, price_1.clampBaoziPrice)(0.3)).toBe(0.3);
13
- expect((0, price_1.clampBaoziPrice)(0)).toBe(0);
14
- expect((0, price_1.clampBaoziPrice)(1)).toBe(1);
15
- });
16
- });
17
- describe("normalizeBaoziOutcomes", () => {
18
- function makeOutcome(price) {
19
- return { outcomeId: "x", marketId: "m", label: "X", price };
20
- }
21
- test("normalizes prices to sum to 1", () => {
22
- const outcomes = [makeOutcome(2), makeOutcome(3)];
23
- (0, price_1.normalizeBaoziOutcomes)(outcomes);
24
- expect(outcomes[0].price).toBeCloseTo(0.4);
25
- expect(outcomes[1].price).toBeCloseTo(0.6);
26
- });
27
- test("does nothing when sum is zero", () => {
28
- const outcomes = [makeOutcome(0), makeOutcome(0)];
29
- (0, price_1.normalizeBaoziOutcomes)(outcomes);
30
- expect(outcomes[0].price).toBe(0);
31
- expect(outcomes[1].price).toBe(0);
32
- });
33
- });
@@ -1 +0,0 @@
1
- export {};