@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.
- package/dist/Client.d.ts +16 -1
- package/dist/Client.js +99 -3
- package/dist/api/client/requests/GetMarketsRequest.d.ts +3 -0
- package/dist/api/client/requests/GetSportsMatchingMarketsRequest.d.ts +8 -4
- package/dist/api/types/CanonicalSportsEvent.d.ts +10 -0
- package/dist/api/types/CanonicalSportsEvent.js +2 -0
- package/dist/api/types/CanonicalSportsOutcome.d.ts +6 -0
- package/dist/api/types/CanonicalSportsOutcome.js +2 -0
- package/dist/api/types/CanonicalSportsParticipant.d.ts +5 -0
- package/dist/api/types/CanonicalSportsParticipant.js +2 -0
- package/dist/api/types/CanonicalSportsRules.d.ts +3 -0
- package/dist/api/types/CanonicalSportsRules.js +2 -0
- package/dist/api/types/CanonicalSportsSourceMarket.d.ts +9 -0
- package/dist/api/types/CanonicalSportsSourceMarket.js +2 -0
- package/dist/api/types/CanonicalSportsSourceMarketProvider.d.ts +8 -0
- package/dist/api/types/CanonicalSportsSourceMarketProvider.js +8 -0
- package/dist/api/types/CanonicalSportsSourceOutcome.d.ts +9 -0
- package/dist/api/types/CanonicalSportsSourceOutcome.js +2 -0
- package/dist/api/types/CanonicalSportsSubject.d.ts +10 -0
- package/dist/api/types/CanonicalSportsSubject.js +2 -0
- package/dist/api/types/CanonicalSportsSubmarket.d.ts +16 -0
- package/dist/api/types/CanonicalSportsSubmarket.js +2 -0
- package/dist/api/types/CategoriesResponse.d.ts +4 -0
- package/dist/api/types/CategoriesResponse.js +2 -0
- package/dist/api/types/CategoryInfo.d.ts +8 -0
- package/dist/api/types/CategoryInfo.js +2 -0
- package/dist/api/types/MarketCategory.d.ts +15 -0
- package/dist/api/types/MarketCategory.js +15 -0
- package/dist/api/types/SportsMatchingResponse.d.ts +2 -0
- package/dist/api/types/UnifiedMarket.d.ts +1 -0
- package/dist/api/types/index.d.ts +12 -0
- package/dist/api/types/index.js +12 -0
- package/dist/serialization/types/CanonicalSportsEvent.d.ts +16 -0
- package/dist/serialization/types/CanonicalSportsEvent.js +12 -0
- package/dist/serialization/types/CanonicalSportsOutcome.d.ts +12 -0
- package/dist/serialization/types/CanonicalSportsOutcome.js +8 -0
- package/dist/serialization/types/CanonicalSportsParticipant.d.ts +11 -0
- package/dist/serialization/types/CanonicalSportsParticipant.js +7 -0
- package/dist/serialization/types/CanonicalSportsRules.d.ts +9 -0
- package/dist/serialization/types/CanonicalSportsRules.js +5 -0
- package/dist/serialization/types/CanonicalSportsSourceMarket.d.ts +15 -0
- package/dist/serialization/types/CanonicalSportsSourceMarket.js +11 -0
- package/dist/serialization/types/CanonicalSportsSourceMarketProvider.d.ts +7 -0
- package/dist/serialization/types/CanonicalSportsSourceMarketProvider.js +3 -0
- package/dist/serialization/types/CanonicalSportsSourceOutcome.d.ts +12 -0
- package/dist/serialization/types/CanonicalSportsSourceOutcome.js +8 -0
- package/dist/serialization/types/CanonicalSportsSubject.d.ts +12 -0
- package/dist/serialization/types/CanonicalSportsSubject.js +8 -0
- package/dist/serialization/types/CanonicalSportsSubmarket.d.ts +22 -0
- package/dist/serialization/types/CanonicalSportsSubmarket.js +18 -0
- package/dist/serialization/types/CategoriesResponse.d.ts +10 -0
- package/dist/serialization/types/CategoriesResponse.js +6 -0
- package/dist/serialization/types/CategoryInfo.d.ts +12 -0
- package/dist/serialization/types/CategoryInfo.js +8 -0
- package/dist/serialization/types/MarketCategory.d.ts +7 -0
- package/dist/serialization/types/MarketCategory.js +15 -0
- package/dist/serialization/types/SportsMatchingResponse.d.ts +2 -0
- package/dist/serialization/types/SportsMatchingResponse.js +2 -0
- package/dist/serialization/types/UnifiedMarket.d.ts +2 -0
- package/dist/serialization/types/UnifiedMarket.js +2 -0
- package/dist/serialization/types/index.d.ts +12 -0
- package/dist/serialization/types/index.js +12 -0
- 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
|
-
/**
|
|
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,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,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,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,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,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,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
|
}
|
|
@@ -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/dist/api/types/index.js
CHANGED
|
@@ -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,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,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";
|