@predictorsdk/client 0.8.0 → 0.10.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 (63) hide show
  1. package/dist/Client.d.ts +16 -1
  2. package/dist/Client.js +99 -3
  3. package/dist/api/client/requests/GetMarketsRequest.d.ts +3 -0
  4. package/dist/api/client/requests/GetSportsMatchingMarketsRequest.d.ts +8 -4
  5. package/dist/api/types/CanonicalSportsEvent.d.ts +10 -0
  6. package/dist/api/types/CanonicalSportsEvent.js +2 -0
  7. package/dist/api/types/CanonicalSportsOutcome.d.ts +6 -0
  8. package/dist/api/types/CanonicalSportsOutcome.js +2 -0
  9. package/dist/api/types/CanonicalSportsParticipant.d.ts +5 -0
  10. package/dist/api/types/CanonicalSportsParticipant.js +2 -0
  11. package/dist/api/types/CanonicalSportsRules.d.ts +3 -0
  12. package/dist/api/types/CanonicalSportsRules.js +2 -0
  13. package/dist/api/types/CanonicalSportsSourceMarket.d.ts +9 -0
  14. package/dist/api/types/CanonicalSportsSourceMarket.js +2 -0
  15. package/dist/api/types/CanonicalSportsSourceMarketProvider.d.ts +8 -0
  16. package/dist/api/types/CanonicalSportsSourceMarketProvider.js +8 -0
  17. package/dist/api/types/CanonicalSportsSourceOutcome.d.ts +9 -0
  18. package/dist/api/types/CanonicalSportsSourceOutcome.js +2 -0
  19. package/dist/api/types/CanonicalSportsSubject.d.ts +10 -0
  20. package/dist/api/types/CanonicalSportsSubject.js +2 -0
  21. package/dist/api/types/CanonicalSportsSubmarket.d.ts +16 -0
  22. package/dist/api/types/CanonicalSportsSubmarket.js +2 -0
  23. package/dist/api/types/CategoriesResponse.d.ts +4 -0
  24. package/dist/api/types/CategoriesResponse.js +2 -0
  25. package/dist/api/types/CategoryInfo.d.ts +8 -0
  26. package/dist/api/types/CategoryInfo.js +2 -0
  27. package/dist/api/types/MarketCategory.d.ts +15 -0
  28. package/dist/api/types/MarketCategory.js +15 -0
  29. package/dist/api/types/SportsMatchingResponse.d.ts +2 -0
  30. package/dist/api/types/UnifiedMarket.d.ts +1 -0
  31. package/dist/api/types/index.d.ts +12 -0
  32. package/dist/api/types/index.js +12 -0
  33. package/dist/serialization/types/CanonicalSportsEvent.d.ts +16 -0
  34. package/dist/serialization/types/CanonicalSportsEvent.js +12 -0
  35. package/dist/serialization/types/CanonicalSportsOutcome.d.ts +12 -0
  36. package/dist/serialization/types/CanonicalSportsOutcome.js +8 -0
  37. package/dist/serialization/types/CanonicalSportsParticipant.d.ts +11 -0
  38. package/dist/serialization/types/CanonicalSportsParticipant.js +7 -0
  39. package/dist/serialization/types/CanonicalSportsRules.d.ts +9 -0
  40. package/dist/serialization/types/CanonicalSportsRules.js +5 -0
  41. package/dist/serialization/types/CanonicalSportsSourceMarket.d.ts +15 -0
  42. package/dist/serialization/types/CanonicalSportsSourceMarket.js +11 -0
  43. package/dist/serialization/types/CanonicalSportsSourceMarketProvider.d.ts +7 -0
  44. package/dist/serialization/types/CanonicalSportsSourceMarketProvider.js +3 -0
  45. package/dist/serialization/types/CanonicalSportsSourceOutcome.d.ts +12 -0
  46. package/dist/serialization/types/CanonicalSportsSourceOutcome.js +8 -0
  47. package/dist/serialization/types/CanonicalSportsSubject.d.ts +12 -0
  48. package/dist/serialization/types/CanonicalSportsSubject.js +8 -0
  49. package/dist/serialization/types/CanonicalSportsSubmarket.d.ts +22 -0
  50. package/dist/serialization/types/CanonicalSportsSubmarket.js +18 -0
  51. package/dist/serialization/types/CategoriesResponse.d.ts +10 -0
  52. package/dist/serialization/types/CategoriesResponse.js +6 -0
  53. package/dist/serialization/types/CategoryInfo.d.ts +12 -0
  54. package/dist/serialization/types/CategoryInfo.js +8 -0
  55. package/dist/serialization/types/MarketCategory.d.ts +7 -0
  56. package/dist/serialization/types/MarketCategory.js +15 -0
  57. package/dist/serialization/types/SportsMatchingResponse.d.ts +2 -0
  58. package/dist/serialization/types/SportsMatchingResponse.js +2 -0
  59. package/dist/serialization/types/UnifiedMarket.d.ts +2 -0
  60. package/dist/serialization/types/UnifiedMarket.js +2 -0
  61. package/dist/serialization/types/index.d.ts +12 -0
  62. package/dist/serialization/types/index.js +12 -0
  63. package/package.json +1 -1
package/dist/Client.d.ts CHANGED
@@ -11,7 +11,7 @@ export declare class PredictorSDKClient {
11
11
  protected readonly _options: NormalizedClientOptionsWithAuth<PredictorSDKClient.Options>;
12
12
  constructor(options: PredictorSDKClient.Options);
13
13
  /**
14
- * Find cross-platform market matches for sports events. When called without parameters, returns all currently matched sports markets with cursor-based pagination (default `limit=25`, max `100`). Provide a Kalshi event ticker, Polymarket slug, Predict market ID, or SX Bet market ID to look up a specific event — lookups return the full match immediately and skip pagination.
14
+ * Find cross-platform market matches for sports events. When called without parameters, returns all currently matched sports markets with cursor-based pagination (default `limit=25`, max `100`). Provide a canonical event key, Kalshi event ticker, Polymarket slug, Predict market ID, or SX Bet market ID to look up a specific event — lookups return the full match immediately and skip pagination.
15
15
  *
16
16
  * @param {PredictorSDK.GetSportsMatchingMarketsRequest} request
17
17
  * @param {PredictorSDKClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -46,6 +46,21 @@ export declare class PredictorSDKClient {
46
46
  */
47
47
  getMarkets(request?: PredictorSDK.GetMarketsRequest, requestOptions?: PredictorSDKClient.RequestOptions): core.HttpResponsePromise<PredictorSDK.MarketsListResponse>;
48
48
  private __getMarkets;
49
+ /**
50
+ * Returns the canonical top-level categories that can be used to filter unified market discovery with `GET /v1/markets?category=...`. Categories are PredictorSDK-normalized buckets, not provider-native tags. Sports is one category among many; sport/league facets may be added later as deeper filters without changing this top-level list.
51
+ *
52
+ * @param {PredictorSDKClient.RequestOptions} requestOptions - Request-specific configuration.
53
+ *
54
+ * @throws {@link PredictorSDK.UnauthorizedError}
55
+ * @throws {@link PredictorSDK.PaymentRequiredError}
56
+ * @throws {@link PredictorSDK.ForbiddenError}
57
+ * @throws {@link PredictorSDK.TooManyRequestsError}
58
+ *
59
+ * @example
60
+ * await client.getCategories()
61
+ */
62
+ getCategories(requestOptions?: PredictorSDKClient.RequestOptions): core.HttpResponsePromise<PredictorSDK.CategoriesResponse>;
63
+ private __getCategories;
49
64
  /**
50
65
  * Returns a single market across the six supported platforms (Kalshi, Polymarket, Predict, SX Bet, Hyperliquid, AlphaArcade). The `market_id` is either the composite form returned by `GET /v1/markets` (`{provider}:{native_id}`, e.g. `kalshi:KXNBA-26-SAS`) or the platform-native identifier. Composite IDs dispatch unambiguously by prefix. Native IDs are routed by format inference: Kalshi tickers match the all-caps-with-hyphens shape (`KX…-…`); SX Bet hashes match `0x` + 64 hex characters; numeric ids and kebab-case slugs are shared shape between Polymarket and Predict and probe Polymarket first, falling back to Predict on 404. Hyperliquid integer outcome ids collide with Polymarket/Predict numeric ids and are deliberately not inferred — route them via the composite form (`hyperliquid:<id>`) or `?platform=hyperliquid` (alias `hl`). AlphaArcade market ids are ULIDs (26-char Crockford base32, e.g. `01KQV5TQ9CE20WPEVJZX2ETNQD`); like Hyperliquid they are not inferred in v1 — route them via the composite form (`alpha-arcade:<ulid>`) or `?platform=alpha-arcade` (alias `aa`). Pass `?platform=` explicitly to skip the probe.
51
66
  *
package/dist/Client.js CHANGED
@@ -13,7 +13,7 @@ export class PredictorSDKClient {
13
13
  this._options = normalizeClientOptionsWithAuth(options);
14
14
  }
15
15
  /**
16
- * Find cross-platform market matches for sports events. When called without parameters, returns all currently matched sports markets with cursor-based pagination (default `limit=25`, max `100`). Provide a Kalshi event ticker, Polymarket slug, Predict market ID, or SX Bet market ID to look up a specific event — lookups return the full match immediately and skip pagination.
16
+ * Find cross-platform market matches for sports events. When called without parameters, returns all currently matched sports markets with cursor-based pagination (default `limit=25`, max `100`). Provide a canonical event key, Kalshi event ticker, Polymarket slug, Predict market ID, or SX Bet market ID to look up a specific event — lookups return the full match immediately and skip pagination.
17
17
  *
18
18
  * @param {PredictorSDK.GetSportsMatchingMarketsRequest} request
19
19
  * @param {PredictorSDKClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -32,11 +32,13 @@ export class PredictorSDKClient {
32
32
  return core.HttpResponsePromise.fromPromise(this.__getSportsMatchingMarkets(request, requestOptions));
33
33
  }
34
34
  async __getSportsMatchingMarkets(request = {}, requestOptions) {
35
- const { limit, cursor, includeSettled, kalshiEventTicker, polymarketMarketSlug, predictMarketId, sxbetMarketId, } = request;
35
+ const { limit, cursor, includeSettled, includeSubmarkets, eventId, kalshiEventTicker, polymarketMarketSlug, predictMarketId, sxbetMarketId, } = request;
36
36
  const _queryParams = {
37
37
  limit,
38
38
  cursor,
39
39
  include_settled: includeSettled,
40
+ include_submarkets: includeSubmarkets,
41
+ event_id: eventId,
40
42
  kalshi_event_ticker: kalshiEventTicker,
41
43
  polymarket_market_slug: polymarketMarketSlug,
42
44
  predict_market_id: predictMarketId,
@@ -153,10 +155,16 @@ export class PredictorSDKClient {
153
155
  return core.HttpResponsePromise.fromPromise(this.__getMarkets(request, requestOptions));
154
156
  }
155
157
  async __getMarkets(request = {}, requestOptions) {
156
- const { limit, cursor } = request;
158
+ const { limit, cursor, category } = request;
157
159
  const _queryParams = {
158
160
  limit,
159
161
  cursor,
162
+ category: category != null
163
+ ? serializers.MarketCategory.jsonOrThrow(category, {
164
+ unrecognizedObjectKeys: "strip",
165
+ omitUndefined: true,
166
+ })
167
+ : undefined,
160
168
  };
161
169
  const _authRequest = await this._options.authProvider.getAuthRequest();
162
170
  const _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
@@ -249,6 +257,94 @@ export class PredictorSDKClient {
249
257
  }
250
258
  return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/markets");
251
259
  }
260
+ /**
261
+ * Returns the canonical top-level categories that can be used to filter unified market discovery with `GET /v1/markets?category=...`. Categories are PredictorSDK-normalized buckets, not provider-native tags. Sports is one category among many; sport/league facets may be added later as deeper filters without changing this top-level list.
262
+ *
263
+ * @param {PredictorSDKClient.RequestOptions} requestOptions - Request-specific configuration.
264
+ *
265
+ * @throws {@link PredictorSDK.UnauthorizedError}
266
+ * @throws {@link PredictorSDK.PaymentRequiredError}
267
+ * @throws {@link PredictorSDK.ForbiddenError}
268
+ * @throws {@link PredictorSDK.TooManyRequestsError}
269
+ *
270
+ * @example
271
+ * await client.getCategories()
272
+ */
273
+ getCategories(requestOptions) {
274
+ return core.HttpResponsePromise.fromPromise(this.__getCategories(requestOptions));
275
+ }
276
+ async __getCategories(requestOptions) {
277
+ const _authRequest = await this._options.authProvider.getAuthRequest();
278
+ const _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
279
+ const _response = await core.fetcher({
280
+ url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
281
+ (await core.Supplier.get(this._options.environment)) ??
282
+ environments.PredictorSDKEnvironment.Production, "v1/categories"),
283
+ method: "GET",
284
+ headers: _headers,
285
+ queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
286
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
287
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
288
+ abortSignal: requestOptions?.abortSignal,
289
+ fetchFn: this._options?.fetch,
290
+ logging: this._options.logging,
291
+ });
292
+ if (_response.ok) {
293
+ return {
294
+ data: serializers.CategoriesResponse.parseOrThrow(_response.body, {
295
+ unrecognizedObjectKeys: "passthrough",
296
+ allowUnrecognizedUnionMembers: true,
297
+ allowUnrecognizedEnumValues: true,
298
+ skipValidation: true,
299
+ breadcrumbsPrefix: ["response"],
300
+ }),
301
+ rawResponse: _response.rawResponse,
302
+ };
303
+ }
304
+ if (_response.error.reason === "status-code") {
305
+ switch (_response.error.statusCode) {
306
+ case 401:
307
+ throw new PredictorSDK.UnauthorizedError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
308
+ unrecognizedObjectKeys: "passthrough",
309
+ allowUnrecognizedUnionMembers: true,
310
+ allowUnrecognizedEnumValues: true,
311
+ skipValidation: true,
312
+ breadcrumbsPrefix: ["response"],
313
+ }), _response.rawResponse);
314
+ case 402:
315
+ throw new PredictorSDK.PaymentRequiredError(serializers.PaymentRequiredErrorBody.parseOrThrow(_response.error.body, {
316
+ unrecognizedObjectKeys: "passthrough",
317
+ allowUnrecognizedUnionMembers: true,
318
+ allowUnrecognizedEnumValues: true,
319
+ skipValidation: true,
320
+ breadcrumbsPrefix: ["response"],
321
+ }), _response.rawResponse);
322
+ case 403:
323
+ throw new PredictorSDK.ForbiddenError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
324
+ unrecognizedObjectKeys: "passthrough",
325
+ allowUnrecognizedUnionMembers: true,
326
+ allowUnrecognizedEnumValues: true,
327
+ skipValidation: true,
328
+ breadcrumbsPrefix: ["response"],
329
+ }), _response.rawResponse);
330
+ case 429:
331
+ throw new PredictorSDK.TooManyRequestsError(serializers.ErrorResponse.parseOrThrow(_response.error.body, {
332
+ unrecognizedObjectKeys: "passthrough",
333
+ allowUnrecognizedUnionMembers: true,
334
+ allowUnrecognizedEnumValues: true,
335
+ skipValidation: true,
336
+ breadcrumbsPrefix: ["response"],
337
+ }), _response.rawResponse);
338
+ default:
339
+ throw new errors.PredictorSDKError({
340
+ statusCode: _response.error.statusCode,
341
+ body: _response.error.body,
342
+ rawResponse: _response.rawResponse,
343
+ });
344
+ }
345
+ }
346
+ return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/categories");
347
+ }
252
348
  /**
253
349
  * Returns a single market across the six supported platforms (Kalshi, Polymarket, Predict, SX Bet, Hyperliquid, AlphaArcade). The `market_id` is either the composite form returned by `GET /v1/markets` (`{provider}:{native_id}`, e.g. `kalshi:KXNBA-26-SAS`) or the platform-native identifier. Composite IDs dispatch unambiguously by prefix. Native IDs are routed by format inference: Kalshi tickers match the all-caps-with-hyphens shape (`KX…-…`); SX Bet hashes match `0x` + 64 hex characters; numeric ids and kebab-case slugs are shared shape between Polymarket and Predict and probe Polymarket first, falling back to Predict on 404. Hyperliquid integer outcome ids collide with Polymarket/Predict numeric ids and are deliberately not inferred — route them via the composite form (`hyperliquid:<id>`) or `?platform=hyperliquid` (alias `hl`). AlphaArcade market ids are ULIDs (26-char Crockford base32, e.g. `01KQV5TQ9CE20WPEVJZX2ETNQD`); like Hyperliquid they are not inferred in v1 — route them via the composite form (`alpha-arcade:<ulid>`) or `?platform=alpha-arcade` (alias `aa`). Pass `?platform=` explicitly to skip the probe.
254
350
  *
@@ -1,3 +1,4 @@
1
+ import type * as PredictorSDK from "../../index.js";
1
2
  /**
2
3
  * @example
3
4
  * {}
@@ -7,4 +8,6 @@ export interface GetMarketsRequest {
7
8
  limit?: number;
8
9
  /** Opaque cursor from a previous response's `pagination.nextCursor` in the SDKs (raw JSON: `pagination.next_cursor`). */
9
10
  cursor?: string;
11
+ /** Canonical top-level category filter. This is PredictorSDK's normalized category, not a provider-native tag. Cursors are bound to the category filter used to create them. */
12
+ category?: PredictorSDK.MarketCategory;
10
13
  }
@@ -9,12 +9,16 @@ export interface GetSportsMatchingMarketsRequest {
9
9
  cursor?: string;
10
10
  /** When `true`, include settled/archived events alongside currently live matches. Defaults to `false`. */
11
11
  includeSettled?: boolean;
12
- /** Kalshi event ticker(s) to find matching markets for (e.g. `KXNFLGAME-25AUG16ARIDEN`). Provide the parameter multiple times for multiple tickers. Only one filter type may be used per request. Lookup mode pagination parameters are ignored. */
12
+ /** When `true`, add `canonical_events` with normalized event, submarket, line, segment, outcome, and exact source market/outcome identity. This is an identity mapping only; fetch current status, quotes, and liquidity from the referenced market resources. Defaults to `false` so the compact Dome-compatible response is unchanged. */
13
+ includeSubmarkets?: boolean;
14
+ /** Canonical event key(s) to look up directly (for example, `mlb-tex-hou-2026-07-31`). Provide the parameter multiple times for multiple events, up to 100 unique keys. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
15
+ eventId?: string | string[];
16
+ /** Kalshi event ticker(s) to find matching markets for (e.g. `KXNFLGAME-25AUG16ARIDEN`). Provide the parameter multiple times for multiple tickers, up to 100 unique values. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
13
17
  kalshiEventTicker?: string | string[];
14
- /** Polymarket market slug(s) to find matching markets for (e.g. `nfl-ari-den-2025-08-16`). Provide the parameter multiple times for multiple slugs. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
18
+ /** Polymarket market slug(s) to find matching markets for (e.g. `nfl-ari-den-2025-08-16`). Provide the parameter multiple times for multiple slugs, up to 100 unique values. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
15
19
  polymarketMarketSlug?: string | string[];
16
- /** Predict market ID(s) to find matching markets for (e.g. `110629`). Provide the parameter multiple times for multiple IDs. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
20
+ /** Predict market ID(s) to find matching markets for (e.g. `110629`). Provide the parameter multiple times for multiple IDs, up to 100 unique values. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
17
21
  predictMarketId?: string | string[];
18
- /** SX Bet market ID(s) to find matching markets for (e.g. `0x4c000abdbf197ef32ecdf15561b1d636f1e5b02629f466678757fd83e2ec3599`). Provide the parameter multiple times for multiple IDs. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
22
+ /** SX Bet market ID(s) to find matching markets for (e.g. `0x4c000abdbf197ef32ecdf15561b1d636f1e5b02629f466678757fd83e2ec3599`). Provide the parameter multiple times for multiple IDs, up to 100 unique values. Only one filter type may be used per request. Lookup mode — pagination parameters are ignored. */
19
23
  sxbetMarketId?: string | string[];
20
24
  }
@@ -0,0 +1,10 @@
1
+ import type * as PredictorSDK from "../index.js";
2
+ export interface CanonicalSportsEvent {
3
+ /** Stable canonical event key. */
4
+ eventId: string;
5
+ sport?: string;
6
+ league?: string;
7
+ title: string;
8
+ participants?: PredictorSDK.CanonicalSportsParticipant[];
9
+ submarkets: PredictorSDK.CanonicalSportsSubmarket[];
10
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,6 @@
1
+ export interface CanonicalSportsOutcome {
2
+ key: string;
3
+ label: string;
4
+ type?: string;
5
+ side?: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,5 @@
1
+ export interface CanonicalSportsParticipant {
2
+ key: string;
3
+ name?: string;
4
+ role?: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,3 @@
1
+ export interface CanonicalSportsRules {
2
+ settlement?: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,9 @@
1
+ import type * as PredictorSDK from "../index.js";
2
+ export interface CanonicalSportsSourceMarket {
3
+ provider: PredictorSDK.CanonicalSportsSourceMarketProvider;
4
+ /** Exact provider-native market identifier. */
5
+ marketId: string;
6
+ marketName?: string;
7
+ marketSlug?: string;
8
+ outcomes: PredictorSDK.CanonicalSportsSourceOutcome[];
9
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare const CanonicalSportsSourceMarketProvider: {
2
+ readonly Kalshi: "kalshi";
3
+ readonly Polymarket: "polymarket";
4
+ readonly Predict: "predict";
5
+ readonly Sxbet: "sxbet";
6
+ readonly AlphaArcade: "alpha-arcade";
7
+ };
8
+ export type CanonicalSportsSourceMarketProvider = (typeof CanonicalSportsSourceMarketProvider)[keyof typeof CanonicalSportsSourceMarketProvider];
@@ -0,0 +1,8 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export const CanonicalSportsSourceMarketProvider = {
3
+ Kalshi: "kalshi",
4
+ Polymarket: "polymarket",
5
+ Predict: "predict",
6
+ Sxbet: "sxbet",
7
+ AlphaArcade: "alpha-arcade",
8
+ };
@@ -0,0 +1,9 @@
1
+ export interface CanonicalSportsSourceOutcome {
2
+ /** Canonical outcome this source-native selection represents. */
3
+ canonicalOutcomeKey: string;
4
+ label?: string;
5
+ /** Exact provider-native outcome/token identifier when available. SX Bet exposes one market hash and two named positions rather than separate outcome tokens, so its source-local selection reference is `<market_hash>:1` or `<market_hash>:2`. This field is never a universal cross-provider outcome ID. */
6
+ outcomeId?: string;
7
+ /** Optional source-native side such as `yes` or `no`. */
8
+ side?: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface CanonicalSportsSubject {
2
+ /** Canonical subject kind, such as `participant` or `player`. */
3
+ type: string;
4
+ /** Stable subject key within the canonical sports namespace. */
5
+ key: string;
6
+ /** Human-readable subject name. */
7
+ name?: string;
8
+ /** Canonical team key when the subject is a player. */
9
+ team?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,16 @@
1
+ import type * as PredictorSDK from "../index.js";
2
+ export interface CanonicalSportsSubmarket {
3
+ /** Stable canonical submarket key within the event. */
4
+ key: string;
5
+ marketType: string;
6
+ segment: string;
7
+ displayName?: string;
8
+ metric?: string;
9
+ /** Unsigned threshold for totals and player props; signed handicap for spreads. Omitted for moneyline markets. */
10
+ line?: number;
11
+ /** Participant or player whose line is represented. Present for subject-owned markets such as spreads and player props; omitted for event-owned moneylines and totals. */
12
+ subject?: PredictorSDK.CanonicalSportsSubject;
13
+ rules?: PredictorSDK.CanonicalSportsRules;
14
+ outcomes: PredictorSDK.CanonicalSportsOutcome[];
15
+ sourceMarkets: PredictorSDK.CanonicalSportsSourceMarket[];
16
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,4 @@
1
+ import type * as PredictorSDK from "../index.js";
2
+ export interface CategoriesResponse {
3
+ data: PredictorSDK.CategoryInfo[];
4
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,8 @@
1
+ import type * as PredictorSDK from "../index.js";
2
+ export interface CategoryInfo {
3
+ id: PredictorSDK.MarketCategory;
4
+ /** Human-readable category label. */
5
+ name: string;
6
+ /** Short description of the category's intended scope. */
7
+ description: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -0,0 +1,15 @@
1
+ /** PredictorSDK-normalized top-level category. This is intentionally broad and stable across providers; provider-native tags are not exposed as canonical categories. */
2
+ export declare const MarketCategory: {
3
+ readonly Sports: "sports";
4
+ readonly Politics: "politics";
5
+ readonly Crypto: "crypto";
6
+ readonly Finance: "finance";
7
+ readonly Economics: "economics";
8
+ readonly Weather: "weather";
9
+ readonly Culture: "culture";
10
+ readonly Technology: "technology";
11
+ readonly Entertainment: "entertainment";
12
+ readonly Other: "other";
13
+ readonly Unknown: "unknown";
14
+ };
15
+ export type MarketCategory = (typeof MarketCategory)[keyof typeof MarketCategory];
@@ -0,0 +1,15 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ /** PredictorSDK-normalized top-level category. This is intentionally broad and stable across providers; provider-native tags are not exposed as canonical categories. */
3
+ export const MarketCategory = {
4
+ Sports: "sports",
5
+ Politics: "politics",
6
+ Crypto: "crypto",
7
+ Finance: "finance",
8
+ Economics: "economics",
9
+ Weather: "weather",
10
+ Culture: "culture",
11
+ Technology: "technology",
12
+ Entertainment: "entertainment",
13
+ Other: "other",
14
+ Unknown: "unknown",
15
+ };
@@ -2,6 +2,8 @@ import type * as PredictorSDK from "../index.js";
2
2
  export interface SportsMatchingResponse {
3
3
  /** Key-value pairs where each key is the queried identifier (Kalshi event ticker, Polymarket slug, or canonical event ID when no filter is provided) and each value is an array of platform market objects. */
4
4
  markets: Record<string, PredictorSDK.PlatformMarket[]>;
5
+ /** Opt-in canonical identity map, present only when `include_submarkets=true`. Keys match the `markets` response keys; each value contains the canonical event ID and every normalized submarket/source mapping for that event. */
6
+ canonicalEvents?: Record<string, PredictorSDK.CanonicalSportsEvent>;
5
7
  /** Pagination metadata for the current page. Present in list mode (no platform-ID filter). Absent in lookup mode since the response is bounded by the filter. */
6
8
  pagination?: PredictorSDK.PaginationBlock;
7
9
  }
@@ -6,4 +6,5 @@ export interface UnifiedMarket {
6
6
  provider: PredictorSDK.UnifiedMarketProvider;
7
7
  /** Human-readable market title/question. */
8
8
  title: string;
9
+ category: PredictorSDK.MarketCategory;
9
10
  }
@@ -1,3 +1,14 @@
1
+ export * from "./CanonicalSportsEvent.js";
2
+ export * from "./CanonicalSportsOutcome.js";
3
+ export * from "./CanonicalSportsParticipant.js";
4
+ export * from "./CanonicalSportsRules.js";
5
+ export * from "./CanonicalSportsSourceMarket.js";
6
+ export * from "./CanonicalSportsSourceMarketProvider.js";
7
+ export * from "./CanonicalSportsSourceOutcome.js";
8
+ export * from "./CanonicalSportsSubject.js";
9
+ export * from "./CanonicalSportsSubmarket.js";
10
+ export * from "./CategoriesResponse.js";
11
+ export * from "./CategoryInfo.js";
1
12
  export * from "./CryptoPriceItem.js";
2
13
  export * from "./CryptoPricesResponse.js";
3
14
  export * from "./ErrorResponse.js";
@@ -7,6 +18,7 @@ export * from "./EventResponse.js";
7
18
  export * from "./EventResponsePlatform.js";
8
19
  export * from "./GetEventRequestPlatform.js";
9
20
  export * from "./GetMarketRequestPlatform.js";
21
+ export * from "./MarketCategory.js";
10
22
  export * from "./MarketDetailOutcome.js";
11
23
  export * from "./MarketDetailPricing.js";
12
24
  export * from "./MarketDetailPricingAvailability.js";
@@ -1,3 +1,14 @@
1
+ export * from "./CanonicalSportsEvent.js";
2
+ export * from "./CanonicalSportsOutcome.js";
3
+ export * from "./CanonicalSportsParticipant.js";
4
+ export * from "./CanonicalSportsRules.js";
5
+ export * from "./CanonicalSportsSourceMarket.js";
6
+ export * from "./CanonicalSportsSourceMarketProvider.js";
7
+ export * from "./CanonicalSportsSourceOutcome.js";
8
+ export * from "./CanonicalSportsSubject.js";
9
+ export * from "./CanonicalSportsSubmarket.js";
10
+ export * from "./CategoriesResponse.js";
11
+ export * from "./CategoryInfo.js";
1
12
  export * from "./CryptoPriceItem.js";
2
13
  export * from "./CryptoPricesResponse.js";
3
14
  export * from "./ErrorResponse.js";
@@ -7,6 +18,7 @@ export * from "./EventResponse.js";
7
18
  export * from "./EventResponsePlatform.js";
8
19
  export * from "./GetEventRequestPlatform.js";
9
20
  export * from "./GetMarketRequestPlatform.js";
21
+ export * from "./MarketCategory.js";
10
22
  export * from "./MarketDetailOutcome.js";
11
23
  export * from "./MarketDetailPricing.js";
12
24
  export * from "./MarketDetailPricingAvailability.js";
@@ -0,0 +1,16 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ import { CanonicalSportsParticipant } from "./CanonicalSportsParticipant.js";
5
+ import { CanonicalSportsSubmarket } from "./CanonicalSportsSubmarket.js";
6
+ export declare const CanonicalSportsEvent: core.serialization.ObjectSchema<serializers.CanonicalSportsEvent.Raw, PredictorSDK.CanonicalSportsEvent>;
7
+ export declare namespace CanonicalSportsEvent {
8
+ interface Raw {
9
+ event_id: string;
10
+ sport?: string | null;
11
+ league?: string | null;
12
+ title: string;
13
+ participants?: CanonicalSportsParticipant.Raw[] | null;
14
+ submarkets: CanonicalSportsSubmarket.Raw[];
15
+ }
16
+ }
@@ -0,0 +1,12 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ import { CanonicalSportsParticipant } from "./CanonicalSportsParticipant.js";
4
+ import { CanonicalSportsSubmarket } from "./CanonicalSportsSubmarket.js";
5
+ export const CanonicalSportsEvent = core.serialization.object({
6
+ eventId: core.serialization.property("event_id", core.serialization.string()),
7
+ sport: core.serialization.string().optional(),
8
+ league: core.serialization.string().optional(),
9
+ title: core.serialization.string(),
10
+ participants: core.serialization.list(CanonicalSportsParticipant).optional(),
11
+ submarkets: core.serialization.list(CanonicalSportsSubmarket),
12
+ });
@@ -0,0 +1,12 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ export declare const CanonicalSportsOutcome: core.serialization.ObjectSchema<serializers.CanonicalSportsOutcome.Raw, PredictorSDK.CanonicalSportsOutcome>;
5
+ export declare namespace CanonicalSportsOutcome {
6
+ interface Raw {
7
+ key: string;
8
+ label: string;
9
+ type?: string | null;
10
+ side?: string | null;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ export const CanonicalSportsOutcome = core.serialization.object({
4
+ key: core.serialization.string(),
5
+ label: core.serialization.string(),
6
+ type: core.serialization.string().optional(),
7
+ side: core.serialization.string().optional(),
8
+ });
@@ -0,0 +1,11 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ export declare const CanonicalSportsParticipant: core.serialization.ObjectSchema<serializers.CanonicalSportsParticipant.Raw, PredictorSDK.CanonicalSportsParticipant>;
5
+ export declare namespace CanonicalSportsParticipant {
6
+ interface Raw {
7
+ key: string;
8
+ name?: string | null;
9
+ role?: string | null;
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ export const CanonicalSportsParticipant = core.serialization.object({
4
+ key: core.serialization.string(),
5
+ name: core.serialization.string().optional(),
6
+ role: core.serialization.string().optional(),
7
+ });
@@ -0,0 +1,9 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ export declare const CanonicalSportsRules: core.serialization.ObjectSchema<serializers.CanonicalSportsRules.Raw, PredictorSDK.CanonicalSportsRules>;
5
+ export declare namespace CanonicalSportsRules {
6
+ interface Raw {
7
+ settlement?: string | null;
8
+ }
9
+ }
@@ -0,0 +1,5 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ export const CanonicalSportsRules = core.serialization.object({
4
+ settlement: core.serialization.string().optional(),
5
+ });
@@ -0,0 +1,15 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ import { CanonicalSportsSourceMarketProvider } from "./CanonicalSportsSourceMarketProvider.js";
5
+ import { CanonicalSportsSourceOutcome } from "./CanonicalSportsSourceOutcome.js";
6
+ export declare const CanonicalSportsSourceMarket: core.serialization.ObjectSchema<serializers.CanonicalSportsSourceMarket.Raw, PredictorSDK.CanonicalSportsSourceMarket>;
7
+ export declare namespace CanonicalSportsSourceMarket {
8
+ interface Raw {
9
+ provider: CanonicalSportsSourceMarketProvider.Raw;
10
+ market_id: string;
11
+ market_name?: string | null;
12
+ market_slug?: string | null;
13
+ outcomes: CanonicalSportsSourceOutcome.Raw[];
14
+ }
15
+ }
@@ -0,0 +1,11 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ import { CanonicalSportsSourceMarketProvider } from "./CanonicalSportsSourceMarketProvider.js";
4
+ import { CanonicalSportsSourceOutcome } from "./CanonicalSportsSourceOutcome.js";
5
+ export const CanonicalSportsSourceMarket = core.serialization.object({
6
+ provider: CanonicalSportsSourceMarketProvider,
7
+ marketId: core.serialization.property("market_id", core.serialization.string()),
8
+ marketName: core.serialization.property("market_name", core.serialization.string().optional()),
9
+ marketSlug: core.serialization.property("market_slug", core.serialization.string().optional()),
10
+ outcomes: core.serialization.list(CanonicalSportsSourceOutcome),
11
+ });
@@ -0,0 +1,7 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ export declare const CanonicalSportsSourceMarketProvider: core.serialization.Schema<serializers.CanonicalSportsSourceMarketProvider.Raw, PredictorSDK.CanonicalSportsSourceMarketProvider>;
5
+ export declare namespace CanonicalSportsSourceMarketProvider {
6
+ type Raw = "kalshi" | "polymarket" | "predict" | "sxbet" | "alpha-arcade";
7
+ }
@@ -0,0 +1,3 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ export const CanonicalSportsSourceMarketProvider = core.serialization.enum_(["kalshi", "polymarket", "predict", "sxbet", "alpha-arcade"]);
@@ -0,0 +1,12 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ export declare const CanonicalSportsSourceOutcome: core.serialization.ObjectSchema<serializers.CanonicalSportsSourceOutcome.Raw, PredictorSDK.CanonicalSportsSourceOutcome>;
5
+ export declare namespace CanonicalSportsSourceOutcome {
6
+ interface Raw {
7
+ canonical_outcome_key: string;
8
+ label?: string | null;
9
+ outcome_id?: string | null;
10
+ side?: string | null;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ export const CanonicalSportsSourceOutcome = core.serialization.object({
4
+ canonicalOutcomeKey: core.serialization.property("canonical_outcome_key", core.serialization.string()),
5
+ label: core.serialization.string().optional(),
6
+ outcomeId: core.serialization.property("outcome_id", core.serialization.string().optional()),
7
+ side: core.serialization.string().optional(),
8
+ });
@@ -0,0 +1,12 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ export declare const CanonicalSportsSubject: core.serialization.ObjectSchema<serializers.CanonicalSportsSubject.Raw, PredictorSDK.CanonicalSportsSubject>;
5
+ export declare namespace CanonicalSportsSubject {
6
+ interface Raw {
7
+ type: string;
8
+ key: string;
9
+ name?: string | null;
10
+ team?: string | null;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ export const CanonicalSportsSubject = core.serialization.object({
4
+ type: core.serialization.string(),
5
+ key: core.serialization.string(),
6
+ name: core.serialization.string().optional(),
7
+ team: core.serialization.string().optional(),
8
+ });
@@ -0,0 +1,22 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ import { CanonicalSportsOutcome } from "./CanonicalSportsOutcome.js";
5
+ import { CanonicalSportsRules } from "./CanonicalSportsRules.js";
6
+ import { CanonicalSportsSourceMarket } from "./CanonicalSportsSourceMarket.js";
7
+ import { CanonicalSportsSubject } from "./CanonicalSportsSubject.js";
8
+ export declare const CanonicalSportsSubmarket: core.serialization.ObjectSchema<serializers.CanonicalSportsSubmarket.Raw, PredictorSDK.CanonicalSportsSubmarket>;
9
+ export declare namespace CanonicalSportsSubmarket {
10
+ interface Raw {
11
+ key: string;
12
+ market_type: string;
13
+ segment: string;
14
+ display_name?: string | null;
15
+ metric?: string | null;
16
+ line?: number | null;
17
+ subject?: CanonicalSportsSubject.Raw | null;
18
+ rules?: CanonicalSportsRules.Raw | null;
19
+ outcomes: CanonicalSportsOutcome.Raw[];
20
+ source_markets: CanonicalSportsSourceMarket.Raw[];
21
+ }
22
+ }
@@ -0,0 +1,18 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ import { CanonicalSportsOutcome } from "./CanonicalSportsOutcome.js";
4
+ import { CanonicalSportsRules } from "./CanonicalSportsRules.js";
5
+ import { CanonicalSportsSourceMarket } from "./CanonicalSportsSourceMarket.js";
6
+ import { CanonicalSportsSubject } from "./CanonicalSportsSubject.js";
7
+ export const CanonicalSportsSubmarket = core.serialization.object({
8
+ key: core.serialization.string(),
9
+ marketType: core.serialization.property("market_type", core.serialization.string()),
10
+ segment: core.serialization.string(),
11
+ displayName: core.serialization.property("display_name", core.serialization.string().optional()),
12
+ metric: core.serialization.string().optional(),
13
+ line: core.serialization.number().optional(),
14
+ subject: CanonicalSportsSubject.optional(),
15
+ rules: CanonicalSportsRules.optional(),
16
+ outcomes: core.serialization.list(CanonicalSportsOutcome),
17
+ sourceMarkets: core.serialization.property("source_markets", core.serialization.list(CanonicalSportsSourceMarket)),
18
+ });
@@ -0,0 +1,10 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ import { CategoryInfo } from "./CategoryInfo.js";
5
+ export declare const CategoriesResponse: core.serialization.ObjectSchema<serializers.CategoriesResponse.Raw, PredictorSDK.CategoriesResponse>;
6
+ export declare namespace CategoriesResponse {
7
+ interface Raw {
8
+ data: CategoryInfo.Raw[];
9
+ }
10
+ }
@@ -0,0 +1,6 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ import { CategoryInfo } from "./CategoryInfo.js";
4
+ export const CategoriesResponse = core.serialization.object({
5
+ data: core.serialization.list(CategoryInfo),
6
+ });
@@ -0,0 +1,12 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ import { MarketCategory } from "./MarketCategory.js";
5
+ export declare const CategoryInfo: core.serialization.ObjectSchema<serializers.CategoryInfo.Raw, PredictorSDK.CategoryInfo>;
6
+ export declare namespace CategoryInfo {
7
+ interface Raw {
8
+ id: MarketCategory.Raw;
9
+ name: string;
10
+ description: string;
11
+ }
12
+ }
@@ -0,0 +1,8 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ import { MarketCategory } from "./MarketCategory.js";
4
+ export const CategoryInfo = core.serialization.object({
5
+ id: MarketCategory,
6
+ name: core.serialization.string(),
7
+ description: core.serialization.string(),
8
+ });
@@ -0,0 +1,7 @@
1
+ import type * as PredictorSDK from "../../api/index.js";
2
+ import * as core from "../../core/index.js";
3
+ import type * as serializers from "../index.js";
4
+ export declare const MarketCategory: core.serialization.Schema<serializers.MarketCategory.Raw, PredictorSDK.MarketCategory>;
5
+ export declare namespace MarketCategory {
6
+ type Raw = "sports" | "politics" | "crypto" | "finance" | "economics" | "weather" | "culture" | "technology" | "entertainment" | "other" | "unknown";
7
+ }
@@ -0,0 +1,15 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ import * as core from "../../core/index.js";
3
+ export const MarketCategory = core.serialization.enum_([
4
+ "sports",
5
+ "politics",
6
+ "crypto",
7
+ "finance",
8
+ "economics",
9
+ "weather",
10
+ "culture",
11
+ "technology",
12
+ "entertainment",
13
+ "other",
14
+ "unknown",
15
+ ]);
@@ -1,12 +1,14 @@
1
1
  import type * as PredictorSDK from "../../api/index.js";
2
2
  import * as core from "../../core/index.js";
3
3
  import type * as serializers from "../index.js";
4
+ import { CanonicalSportsEvent } from "./CanonicalSportsEvent.js";
4
5
  import { PaginationBlock } from "./PaginationBlock.js";
5
6
  import { PlatformMarket } from "./PlatformMarket.js";
6
7
  export declare const SportsMatchingResponse: core.serialization.ObjectSchema<serializers.SportsMatchingResponse.Raw, PredictorSDK.SportsMatchingResponse>;
7
8
  export declare namespace SportsMatchingResponse {
8
9
  interface Raw {
9
10
  markets: Record<string, PlatformMarket.Raw[]>;
11
+ canonical_events?: Record<string, CanonicalSportsEvent.Raw> | null;
10
12
  pagination?: PaginationBlock.Raw | null;
11
13
  }
12
14
  }
@@ -1,8 +1,10 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import * as core from "../../core/index.js";
3
+ import { CanonicalSportsEvent } from "./CanonicalSportsEvent.js";
3
4
  import { PaginationBlock } from "./PaginationBlock.js";
4
5
  import { PlatformMarket } from "./PlatformMarket.js";
5
6
  export const SportsMatchingResponse = core.serialization.object({
6
7
  markets: core.serialization.record(core.serialization.string(), core.serialization.list(PlatformMarket)),
8
+ canonicalEvents: core.serialization.property("canonical_events", core.serialization.record(core.serialization.string(), CanonicalSportsEvent).optional()),
7
9
  pagination: PaginationBlock.optional(),
8
10
  });
@@ -1,6 +1,7 @@
1
1
  import type * as PredictorSDK from "../../api/index.js";
2
2
  import * as core from "../../core/index.js";
3
3
  import type * as serializers from "../index.js";
4
+ import { MarketCategory } from "./MarketCategory.js";
4
5
  import { UnifiedMarketProvider } from "./UnifiedMarketProvider.js";
5
6
  export declare const UnifiedMarket: core.serialization.ObjectSchema<serializers.UnifiedMarket.Raw, PredictorSDK.UnifiedMarket>;
6
7
  export declare namespace UnifiedMarket {
@@ -8,5 +9,6 @@ export declare namespace UnifiedMarket {
8
9
  id: string;
9
10
  provider: UnifiedMarketProvider.Raw;
10
11
  title: string;
12
+ category: MarketCategory.Raw;
11
13
  }
12
14
  }
@@ -1,8 +1,10 @@
1
1
  // This file was auto-generated by Fern from our API Definition.
2
2
  import * as core from "../../core/index.js";
3
+ import { MarketCategory } from "./MarketCategory.js";
3
4
  import { UnifiedMarketProvider } from "./UnifiedMarketProvider.js";
4
5
  export const UnifiedMarket = core.serialization.object({
5
6
  id: core.serialization.string(),
6
7
  provider: UnifiedMarketProvider,
7
8
  title: core.serialization.string(),
9
+ category: MarketCategory,
8
10
  });
@@ -1,3 +1,14 @@
1
+ export * from "./CanonicalSportsEvent.js";
2
+ export * from "./CanonicalSportsOutcome.js";
3
+ export * from "./CanonicalSportsParticipant.js";
4
+ export * from "./CanonicalSportsRules.js";
5
+ export * from "./CanonicalSportsSourceMarket.js";
6
+ export * from "./CanonicalSportsSourceMarketProvider.js";
7
+ export * from "./CanonicalSportsSourceOutcome.js";
8
+ export * from "./CanonicalSportsSubject.js";
9
+ export * from "./CanonicalSportsSubmarket.js";
10
+ export * from "./CategoriesResponse.js";
11
+ export * from "./CategoryInfo.js";
1
12
  export * from "./CryptoPriceItem.js";
2
13
  export * from "./CryptoPricesResponse.js";
3
14
  export * from "./ErrorResponse.js";
@@ -7,6 +18,7 @@ export * from "./EventResponse.js";
7
18
  export * from "./EventResponsePlatform.js";
8
19
  export * from "./GetEventRequestPlatform.js";
9
20
  export * from "./GetMarketRequestPlatform.js";
21
+ export * from "./MarketCategory.js";
10
22
  export * from "./MarketDetailOutcome.js";
11
23
  export * from "./MarketDetailPricing.js";
12
24
  export * from "./MarketDetailPricingAvailability.js";
@@ -1,3 +1,14 @@
1
+ export * from "./CanonicalSportsEvent.js";
2
+ export * from "./CanonicalSportsOutcome.js";
3
+ export * from "./CanonicalSportsParticipant.js";
4
+ export * from "./CanonicalSportsRules.js";
5
+ export * from "./CanonicalSportsSourceMarket.js";
6
+ export * from "./CanonicalSportsSourceMarketProvider.js";
7
+ export * from "./CanonicalSportsSourceOutcome.js";
8
+ export * from "./CanonicalSportsSubject.js";
9
+ export * from "./CanonicalSportsSubmarket.js";
10
+ export * from "./CategoriesResponse.js";
11
+ export * from "./CategoryInfo.js";
1
12
  export * from "./CryptoPriceItem.js";
2
13
  export * from "./CryptoPricesResponse.js";
3
14
  export * from "./ErrorResponse.js";
@@ -7,6 +18,7 @@ export * from "./EventResponse.js";
7
18
  export * from "./EventResponsePlatform.js";
8
19
  export * from "./GetEventRequestPlatform.js";
9
20
  export * from "./GetMarketRequestPlatform.js";
21
+ export * from "./MarketCategory.js";
10
22
  export * from "./MarketDetailOutcome.js";
11
23
  export * from "./MarketDetailPricing.js";
12
24
  export * from "./MarketDetailPricingAvailability.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@predictorsdk/client",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "The official TypeScript/JavaScript client for the PredictorSDK matching markets API",
5
5
  "license": "MIT",
6
6
  "keywords": [