@sensiblestats/widget-sdk 0.74.1 → 0.75.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/CHANGELOG.md +6 -0
- package/dist/index.cjs +80 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +204 -2
- package/dist/index.d.ts +204 -2
- package/dist/index.js +80 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -154,6 +154,134 @@ interface GreetingDashboard {
|
|
|
154
154
|
subtitle?: string | null;
|
|
155
155
|
footerTip?: string | null;
|
|
156
156
|
tiles: GreetingDashboardTile[];
|
|
157
|
+
/** Per-visitor layer. Absent when the server has nothing to add. */
|
|
158
|
+
personal?: GreetingPersonalSection;
|
|
159
|
+
}
|
|
160
|
+
type GreetingPersonalTier = 'cold' | 'some' | 'known';
|
|
161
|
+
type GreetingEntityKind = 'competition' | 'team' | 'player' | 'match';
|
|
162
|
+
type GreetingGamesScope = 'page' | 'pinned' | 'starredTeams' | 'starredLeagues' | 'learnedTeam' | 'all';
|
|
163
|
+
interface GreetingEntityChip {
|
|
164
|
+
kind: GreetingEntityKind;
|
|
165
|
+
id: string;
|
|
166
|
+
label: string;
|
|
167
|
+
playing: boolean;
|
|
168
|
+
}
|
|
169
|
+
interface GreetingPersonalSection {
|
|
170
|
+
tier: GreetingPersonalTier;
|
|
171
|
+
ribbon?: {
|
|
172
|
+
stars: GreetingEntityChip[];
|
|
173
|
+
moreStars: number;
|
|
174
|
+
usual?: {
|
|
175
|
+
marketKey: string;
|
|
176
|
+
label: string;
|
|
177
|
+
};
|
|
178
|
+
fromChats: GreetingEntityChip[];
|
|
179
|
+
};
|
|
180
|
+
/** followTargets: the team or player itself, or both teams of a pinned match; may be empty. One Follow button per entry. */
|
|
181
|
+
guess?: {
|
|
182
|
+
kind: GreetingEntityKind;
|
|
183
|
+
id: string;
|
|
184
|
+
label: string;
|
|
185
|
+
reason: string;
|
|
186
|
+
followTargets: GreetingEntityChip[];
|
|
187
|
+
card?: GreetingTeamCard;
|
|
188
|
+
};
|
|
189
|
+
/** Absent in cool-off only; with no key it is the default preset (pack's first market, all games, singles). legs 1 = singles. matchIds: bare ids, max 12; send an empty list with gamesScope 'all' to the grid endpoint as widen=true. The only place combo size and total travel; render as control state, never as text. */
|
|
190
|
+
builder?: GreetingBuilderPreset;
|
|
191
|
+
teamCards: GreetingTeamCard[];
|
|
192
|
+
playerCards: GreetingPlayerCard[];
|
|
193
|
+
facts: {
|
|
194
|
+
marketKey: string;
|
|
195
|
+
text: string;
|
|
196
|
+
hits: number;
|
|
197
|
+
window: number;
|
|
198
|
+
matchId?: string;
|
|
199
|
+
}[];
|
|
200
|
+
asks: {
|
|
201
|
+
actionLabel: string;
|
|
202
|
+
actionValue: string;
|
|
203
|
+
}[];
|
|
204
|
+
since: {
|
|
205
|
+
text: string;
|
|
206
|
+
}[];
|
|
207
|
+
followSuggestions: GreetingEntityChip[];
|
|
208
|
+
/** Starred teams with no game in the window, at most 2. */
|
|
209
|
+
idleTeams?: GreetingIdleTeam[];
|
|
210
|
+
}
|
|
211
|
+
interface GreetingBuilderPreset {
|
|
212
|
+
marketKey: string;
|
|
213
|
+
gamesScope: GreetingGamesScope;
|
|
214
|
+
matchIds: string[];
|
|
215
|
+
legs: number;
|
|
216
|
+
totalTarget: string;
|
|
217
|
+
/** The visitor's usual market first, then pack order. Absent from older servers; never empty when present. */
|
|
218
|
+
marketOptions?: GreetingMarketOption[];
|
|
219
|
+
/** Option ids: 'all' (matchIds [] means widen), 'teams', 'leagues', 'learned', 'league:<id>', 'game:<id>'. Absent from older servers. */
|
|
220
|
+
gamesOptions?: GreetingGamesOption[];
|
|
221
|
+
/** The option the preset opens on. */
|
|
222
|
+
gamesOptionId?: string;
|
|
223
|
+
/** A short localized line about when games return ("Next games tomorrow."); shown with the pause note. Omitted when the server has nothing to say. */
|
|
224
|
+
nextGames?: string | null;
|
|
225
|
+
/** True or absent, never false: the visitor's usual market had no lines in the first-choice games, so the games slot moved wider (C13). */
|
|
226
|
+
widenedForMarket?: true;
|
|
227
|
+
}
|
|
228
|
+
interface GreetingMarketOption {
|
|
229
|
+
key: string;
|
|
230
|
+
label: string;
|
|
231
|
+
usual?: boolean;
|
|
232
|
+
}
|
|
233
|
+
interface GreetingGamesOption {
|
|
234
|
+
id: string;
|
|
235
|
+
label: string;
|
|
236
|
+
group?: 'league' | 'game';
|
|
237
|
+
matchIds: string[];
|
|
238
|
+
startsAtUtc?: string;
|
|
239
|
+
mine?: boolean;
|
|
240
|
+
}
|
|
241
|
+
interface GreetingIdleTeam {
|
|
242
|
+
teamId: string;
|
|
243
|
+
label: string;
|
|
244
|
+
actionLabel: string;
|
|
245
|
+
actionValue: string;
|
|
246
|
+
}
|
|
247
|
+
type GreetingFormResult = 'W' | 'D' | 'L';
|
|
248
|
+
/** `lines` stays on the wire for older widgets; the widget never draws a team card's lines. `h2h.wins` are the home side's. */
|
|
249
|
+
interface GreetingTeamCard {
|
|
250
|
+
teamId: string;
|
|
251
|
+
label: string;
|
|
252
|
+
matchId?: string;
|
|
253
|
+
form: GreetingFormResult[];
|
|
254
|
+
h2h?: {
|
|
255
|
+
meetings: number;
|
|
256
|
+
wins: number;
|
|
257
|
+
draws: number;
|
|
258
|
+
losses: number;
|
|
259
|
+
};
|
|
260
|
+
lines: string[];
|
|
261
|
+
homeLabel?: string;
|
|
262
|
+
awayLabel?: string;
|
|
263
|
+
homeForm?: GreetingFormResult[];
|
|
264
|
+
awayForm?: GreetingFormResult[];
|
|
265
|
+
startsAtUtc?: string;
|
|
266
|
+
competitionLabel?: string;
|
|
267
|
+
fact?: string;
|
|
268
|
+
}
|
|
269
|
+
type GreetingPlayerStatus = 'available' | 'doubtful' | 'out' | 'unknown';
|
|
270
|
+
interface GreetingPlayerHit {
|
|
271
|
+
label: string;
|
|
272
|
+
hits: number;
|
|
273
|
+
window: number;
|
|
274
|
+
}
|
|
275
|
+
/** `lines` stays on the wire for older widgets: drawn only when `hits` is absent. */
|
|
276
|
+
interface GreetingPlayerCard {
|
|
277
|
+
playerId: string;
|
|
278
|
+
label: string;
|
|
279
|
+
status: GreetingPlayerStatus;
|
|
280
|
+
statusAsOfUtc?: string;
|
|
281
|
+
lines: string[];
|
|
282
|
+
hits?: GreetingPlayerHit[];
|
|
283
|
+
matchLabel?: string;
|
|
284
|
+
startsAtUtc?: string;
|
|
157
285
|
}
|
|
158
286
|
/** One sport's dashboard in a multi-sport greeting. `sport` is the server key ("football", "nba"); `label` is localized by the server. */
|
|
159
287
|
interface GreetingDashboardSet {
|
|
@@ -936,6 +1064,8 @@ interface MarketOddsRow {
|
|
|
936
1064
|
isMainLine?: boolean;
|
|
937
1065
|
/** The bookmaker is not taking this selection. Absent on older servers -> treated as open. */
|
|
938
1066
|
isSuspended?: boolean;
|
|
1067
|
+
/** The selection text exactly as the visitor should read it. Present only when it differs from `selectionLabel` + `line`, which the slip keeps getting raw. */
|
|
1068
|
+
displayLabel?: string | null;
|
|
939
1069
|
previousPrice?: number | null;
|
|
940
1070
|
previousPriceAtUtc?: string | null;
|
|
941
1071
|
movementDirection?: 'shortened' | 'drifted' | null;
|
|
@@ -1108,6 +1238,57 @@ interface PresetGrid {
|
|
|
1108
1238
|
markets?: PresetMarketCell[];
|
|
1109
1239
|
[key: string]: unknown;
|
|
1110
1240
|
}
|
|
1241
|
+
/** The sentence builder's grid: GET price-presets with a combo size and a total. Every field is always present; nulls are null. */
|
|
1242
|
+
type BuilderGridStatus = 'ok' | 'miss' | 'paused';
|
|
1243
|
+
interface BuilderGridPayload {
|
|
1244
|
+
status: BuilderGridStatus;
|
|
1245
|
+
sport: string;
|
|
1246
|
+
requestedLegs: number;
|
|
1247
|
+
totalTarget: string;
|
|
1248
|
+
widened: boolean;
|
|
1249
|
+
total: number | null;
|
|
1250
|
+
multiplication: string | null;
|
|
1251
|
+
legs: ComboLeg[];
|
|
1252
|
+
legCountThatLands: number | null;
|
|
1253
|
+
}
|
|
1254
|
+
/** `total` and the combo size are the visitor's control state; the server decides what lands. */
|
|
1255
|
+
interface BuilderGridRequest {
|
|
1256
|
+
sport: string;
|
|
1257
|
+
marketKey?: string | null;
|
|
1258
|
+
matchIds: string[];
|
|
1259
|
+
legs: number;
|
|
1260
|
+
total: string;
|
|
1261
|
+
widen: boolean;
|
|
1262
|
+
operatorUserId?: string;
|
|
1263
|
+
anonymousUserId?: string;
|
|
1264
|
+
}
|
|
1265
|
+
/** Favourites tab. `id` is opaque to the widget (sport-qualified upstream: `nba:team:14`; football is bare). */
|
|
1266
|
+
type FavouriteKind = 'competition' | 'team' | 'player';
|
|
1267
|
+
interface FavouriteEntity {
|
|
1268
|
+
kind: FavouriteKind;
|
|
1269
|
+
id: string;
|
|
1270
|
+
name: string;
|
|
1271
|
+
imageUrl?: string;
|
|
1272
|
+
/** Players only. */
|
|
1273
|
+
teamName?: string;
|
|
1274
|
+
/** Search results only. */
|
|
1275
|
+
starred?: boolean;
|
|
1276
|
+
}
|
|
1277
|
+
interface FavouritesPayload {
|
|
1278
|
+
competitions: FavouriteEntity[];
|
|
1279
|
+
teams: FavouriteEntity[];
|
|
1280
|
+
players: FavouriteEntity[];
|
|
1281
|
+
/** Always present; teams and players only. */
|
|
1282
|
+
suggestions: FavouriteEntity[];
|
|
1283
|
+
}
|
|
1284
|
+
/** The list call's answer when the server refuses the visitor's ids (400 NoAcceptedIdentity): the brand has anonymous ids off. */
|
|
1285
|
+
type FavouritesNoIdentity = 'noAcceptedIdentity';
|
|
1286
|
+
type FavouriteStarResult = 'starred' | 'alreadyStarred' | 'atCap';
|
|
1287
|
+
interface FavouriteStarResponse {
|
|
1288
|
+
status: FavouriteStarResult;
|
|
1289
|
+
count?: number;
|
|
1290
|
+
cap?: number;
|
|
1291
|
+
}
|
|
1111
1292
|
interface AvailableMarket {
|
|
1112
1293
|
marketDeveloperName: string;
|
|
1113
1294
|
marketLabel: string;
|
|
@@ -1230,6 +1411,8 @@ interface OddsMovementCard {
|
|
|
1230
1411
|
matchOddsId?: number | null;
|
|
1231
1412
|
/** Server-rendered kickoff chip in the operator's zone + language. Prefer over local formatting of kickoffUtc. */
|
|
1232
1413
|
kickoffLabel?: string | null;
|
|
1414
|
+
/** The selection as the widget shows it, when selectionLabel and line would not read right joined. selectionLabel and line stay raw for the pin, history and slip. */
|
|
1415
|
+
displayLabel?: string | null;
|
|
1233
1416
|
[key: string]: unknown;
|
|
1234
1417
|
}
|
|
1235
1418
|
interface OddsMovementEventData {
|
|
@@ -1256,6 +1439,8 @@ interface LiveMonitorStatPrice {
|
|
|
1256
1439
|
matchOddsId?: number | null;
|
|
1257
1440
|
isSuspended: boolean;
|
|
1258
1441
|
addToSlipEnabled: boolean;
|
|
1442
|
+
/** The chip's selection text as the visitor should read it; `selectionLabel` is still what the slip gets. */
|
|
1443
|
+
displayLabel?: string | null;
|
|
1259
1444
|
}
|
|
1260
1445
|
interface LiveMonitorStatRow {
|
|
1261
1446
|
label: string;
|
|
@@ -1815,8 +2000,15 @@ declare class Conversation {
|
|
|
1815
2000
|
getMarketOdds(matchId: number, marketDeveloperName: string, sport?: SlipSport): Promise<MarketOddsBlock | null>;
|
|
1816
2001
|
getPlayerProps(matchId: number, sport?: 'americanfootball'): Promise<PlayerPropsBundle | null>;
|
|
1817
2002
|
getPricePresets(locale: string, options?: PresetGridOptions): Promise<PresetGrid | null>;
|
|
2003
|
+
getBuilderGrid(locale: string, req: BuilderGridRequest): Promise<BuilderGridPayload | null>;
|
|
1818
2004
|
getSchedule(localDate: string, utcOffsetMinutes: number, operatorUserId?: string, anonymousUserId?: string): Promise<SchedulePayload | null>;
|
|
1819
2005
|
starLeague(competitionId: number, starred: boolean, operatorUserId?: string, anonymousUserId?: string): Promise<LeagueStarResult | null>;
|
|
2006
|
+
getFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouritesPayload | FavouritesNoIdentity | null>;
|
|
2007
|
+
searchFavourites(sport: string, query: string, kind: FavouriteKind, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteEntity[] | null>;
|
|
2008
|
+
putFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteStarResponse | null>;
|
|
2009
|
+
deleteFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
|
|
2010
|
+
clearFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
|
|
2011
|
+
hideFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
|
|
1820
2012
|
getStates(matchIds: number[], nbaGameIds?: number[], nflGameIds?: number[]): Promise<StatesPayload | null>;
|
|
1821
2013
|
getGames(gameDay?: string): Promise<GameListPayload | null>;
|
|
1822
2014
|
getGameConfig(gameId: string, fixtureId?: number, gameDay?: string, locale?: string): Promise<GameStatePayload | null>;
|
|
@@ -1831,13 +2023,21 @@ declare class Conversation {
|
|
|
1831
2023
|
getClubRecords(limit?: number): Promise<ClubRecordsPayload | null>;
|
|
1832
2024
|
}
|
|
1833
2025
|
|
|
1834
|
-
type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open';
|
|
2026
|
+
type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open' | 'combo_add';
|
|
1835
2027
|
type WidgetPopupEventName = 'popup_shown' | 'popup_opened' | 'popup_dismissed';
|
|
1836
2028
|
type WidgetPopupAskEventName = 'popup_ask_tap';
|
|
1837
2029
|
type WidgetOpenEventName = 'widget_open';
|
|
1838
2030
|
type WidgetSportSwitchEventName = 'dashboard_sport_switch';
|
|
1839
2031
|
type WidgetEventName = WidgetEntityEventName | WidgetPopupEventName | WidgetPopupAskEventName | WidgetOpenEventName | WidgetSportSwitchEventName;
|
|
1840
2032
|
type WidgetEntityType = 'match' | 'team' | 'player' | 'competition' | 'market';
|
|
2033
|
+
/** `totalChosen` is the visitor's total control as a string on the wire; `totalActual` is the server's total for the shown combo. */
|
|
2034
|
+
interface ComboAddMetadata {
|
|
2035
|
+
sport: string;
|
|
2036
|
+
legs: number;
|
|
2037
|
+
totalChosen: 'any' | '3' | '5' | '10' | '20' | '50';
|
|
2038
|
+
totalActual: number;
|
|
2039
|
+
markets: string[];
|
|
2040
|
+
}
|
|
1841
2041
|
interface WidgetEventInput {
|
|
1842
2042
|
name: WidgetEntityEventName;
|
|
1843
2043
|
entityType: WidgetEntityType;
|
|
@@ -1855,6 +2055,8 @@ interface WidgetEventInput {
|
|
|
1855
2055
|
odds?: number;
|
|
1856
2056
|
/** Wire sport key ('nba'); absent means football. */
|
|
1857
2057
|
sport?: string;
|
|
2058
|
+
/** combo_add only: what the visitor asked for and what the server returned. */
|
|
2059
|
+
metadata?: ComboAddMetadata;
|
|
1858
2060
|
}
|
|
1859
2061
|
/** Launcher popup telemetry: counted server-side, never tied to an entity. */
|
|
1860
2062
|
type WidgetPopupEventInput = {
|
|
@@ -1960,4 +2162,4 @@ interface NdjsonParser {
|
|
|
1960
2162
|
}
|
|
1961
2163
|
declare function createNdjsonParser(): NdjsonParser;
|
|
1962
2164
|
|
|
1963
|
-
export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingSetChip, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };
|
|
2165
|
+
export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type BuilderGridPayload, type BuilderGridRequest, type BuilderGridStatus, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboAddMetadata, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FavouriteEntity, type FavouriteKind, type FavouriteStarResponse, type FavouriteStarResult, type FavouritesNoIdentity, type FavouritesPayload, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingBuilderPreset, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingEntityChip, type GreetingEntityKind, type GreetingFormResult, type GreetingGamesOption, type GreetingGamesScope, type GreetingIdleTeam, type GreetingMarketOption, type GreetingPersonalSection, type GreetingPersonalTier, type GreetingPlayerCard, type GreetingPlayerHit, type GreetingPlayerStatus, type GreetingSetChip, type GreetingTeamCard, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };
|
package/dist/index.d.ts
CHANGED
|
@@ -154,6 +154,134 @@ interface GreetingDashboard {
|
|
|
154
154
|
subtitle?: string | null;
|
|
155
155
|
footerTip?: string | null;
|
|
156
156
|
tiles: GreetingDashboardTile[];
|
|
157
|
+
/** Per-visitor layer. Absent when the server has nothing to add. */
|
|
158
|
+
personal?: GreetingPersonalSection;
|
|
159
|
+
}
|
|
160
|
+
type GreetingPersonalTier = 'cold' | 'some' | 'known';
|
|
161
|
+
type GreetingEntityKind = 'competition' | 'team' | 'player' | 'match';
|
|
162
|
+
type GreetingGamesScope = 'page' | 'pinned' | 'starredTeams' | 'starredLeagues' | 'learnedTeam' | 'all';
|
|
163
|
+
interface GreetingEntityChip {
|
|
164
|
+
kind: GreetingEntityKind;
|
|
165
|
+
id: string;
|
|
166
|
+
label: string;
|
|
167
|
+
playing: boolean;
|
|
168
|
+
}
|
|
169
|
+
interface GreetingPersonalSection {
|
|
170
|
+
tier: GreetingPersonalTier;
|
|
171
|
+
ribbon?: {
|
|
172
|
+
stars: GreetingEntityChip[];
|
|
173
|
+
moreStars: number;
|
|
174
|
+
usual?: {
|
|
175
|
+
marketKey: string;
|
|
176
|
+
label: string;
|
|
177
|
+
};
|
|
178
|
+
fromChats: GreetingEntityChip[];
|
|
179
|
+
};
|
|
180
|
+
/** followTargets: the team or player itself, or both teams of a pinned match; may be empty. One Follow button per entry. */
|
|
181
|
+
guess?: {
|
|
182
|
+
kind: GreetingEntityKind;
|
|
183
|
+
id: string;
|
|
184
|
+
label: string;
|
|
185
|
+
reason: string;
|
|
186
|
+
followTargets: GreetingEntityChip[];
|
|
187
|
+
card?: GreetingTeamCard;
|
|
188
|
+
};
|
|
189
|
+
/** Absent in cool-off only; with no key it is the default preset (pack's first market, all games, singles). legs 1 = singles. matchIds: bare ids, max 12; send an empty list with gamesScope 'all' to the grid endpoint as widen=true. The only place combo size and total travel; render as control state, never as text. */
|
|
190
|
+
builder?: GreetingBuilderPreset;
|
|
191
|
+
teamCards: GreetingTeamCard[];
|
|
192
|
+
playerCards: GreetingPlayerCard[];
|
|
193
|
+
facts: {
|
|
194
|
+
marketKey: string;
|
|
195
|
+
text: string;
|
|
196
|
+
hits: number;
|
|
197
|
+
window: number;
|
|
198
|
+
matchId?: string;
|
|
199
|
+
}[];
|
|
200
|
+
asks: {
|
|
201
|
+
actionLabel: string;
|
|
202
|
+
actionValue: string;
|
|
203
|
+
}[];
|
|
204
|
+
since: {
|
|
205
|
+
text: string;
|
|
206
|
+
}[];
|
|
207
|
+
followSuggestions: GreetingEntityChip[];
|
|
208
|
+
/** Starred teams with no game in the window, at most 2. */
|
|
209
|
+
idleTeams?: GreetingIdleTeam[];
|
|
210
|
+
}
|
|
211
|
+
interface GreetingBuilderPreset {
|
|
212
|
+
marketKey: string;
|
|
213
|
+
gamesScope: GreetingGamesScope;
|
|
214
|
+
matchIds: string[];
|
|
215
|
+
legs: number;
|
|
216
|
+
totalTarget: string;
|
|
217
|
+
/** The visitor's usual market first, then pack order. Absent from older servers; never empty when present. */
|
|
218
|
+
marketOptions?: GreetingMarketOption[];
|
|
219
|
+
/** Option ids: 'all' (matchIds [] means widen), 'teams', 'leagues', 'learned', 'league:<id>', 'game:<id>'. Absent from older servers. */
|
|
220
|
+
gamesOptions?: GreetingGamesOption[];
|
|
221
|
+
/** The option the preset opens on. */
|
|
222
|
+
gamesOptionId?: string;
|
|
223
|
+
/** A short localized line about when games return ("Next games tomorrow."); shown with the pause note. Omitted when the server has nothing to say. */
|
|
224
|
+
nextGames?: string | null;
|
|
225
|
+
/** True or absent, never false: the visitor's usual market had no lines in the first-choice games, so the games slot moved wider (C13). */
|
|
226
|
+
widenedForMarket?: true;
|
|
227
|
+
}
|
|
228
|
+
interface GreetingMarketOption {
|
|
229
|
+
key: string;
|
|
230
|
+
label: string;
|
|
231
|
+
usual?: boolean;
|
|
232
|
+
}
|
|
233
|
+
interface GreetingGamesOption {
|
|
234
|
+
id: string;
|
|
235
|
+
label: string;
|
|
236
|
+
group?: 'league' | 'game';
|
|
237
|
+
matchIds: string[];
|
|
238
|
+
startsAtUtc?: string;
|
|
239
|
+
mine?: boolean;
|
|
240
|
+
}
|
|
241
|
+
interface GreetingIdleTeam {
|
|
242
|
+
teamId: string;
|
|
243
|
+
label: string;
|
|
244
|
+
actionLabel: string;
|
|
245
|
+
actionValue: string;
|
|
246
|
+
}
|
|
247
|
+
type GreetingFormResult = 'W' | 'D' | 'L';
|
|
248
|
+
/** `lines` stays on the wire for older widgets; the widget never draws a team card's lines. `h2h.wins` are the home side's. */
|
|
249
|
+
interface GreetingTeamCard {
|
|
250
|
+
teamId: string;
|
|
251
|
+
label: string;
|
|
252
|
+
matchId?: string;
|
|
253
|
+
form: GreetingFormResult[];
|
|
254
|
+
h2h?: {
|
|
255
|
+
meetings: number;
|
|
256
|
+
wins: number;
|
|
257
|
+
draws: number;
|
|
258
|
+
losses: number;
|
|
259
|
+
};
|
|
260
|
+
lines: string[];
|
|
261
|
+
homeLabel?: string;
|
|
262
|
+
awayLabel?: string;
|
|
263
|
+
homeForm?: GreetingFormResult[];
|
|
264
|
+
awayForm?: GreetingFormResult[];
|
|
265
|
+
startsAtUtc?: string;
|
|
266
|
+
competitionLabel?: string;
|
|
267
|
+
fact?: string;
|
|
268
|
+
}
|
|
269
|
+
type GreetingPlayerStatus = 'available' | 'doubtful' | 'out' | 'unknown';
|
|
270
|
+
interface GreetingPlayerHit {
|
|
271
|
+
label: string;
|
|
272
|
+
hits: number;
|
|
273
|
+
window: number;
|
|
274
|
+
}
|
|
275
|
+
/** `lines` stays on the wire for older widgets: drawn only when `hits` is absent. */
|
|
276
|
+
interface GreetingPlayerCard {
|
|
277
|
+
playerId: string;
|
|
278
|
+
label: string;
|
|
279
|
+
status: GreetingPlayerStatus;
|
|
280
|
+
statusAsOfUtc?: string;
|
|
281
|
+
lines: string[];
|
|
282
|
+
hits?: GreetingPlayerHit[];
|
|
283
|
+
matchLabel?: string;
|
|
284
|
+
startsAtUtc?: string;
|
|
157
285
|
}
|
|
158
286
|
/** One sport's dashboard in a multi-sport greeting. `sport` is the server key ("football", "nba"); `label` is localized by the server. */
|
|
159
287
|
interface GreetingDashboardSet {
|
|
@@ -936,6 +1064,8 @@ interface MarketOddsRow {
|
|
|
936
1064
|
isMainLine?: boolean;
|
|
937
1065
|
/** The bookmaker is not taking this selection. Absent on older servers -> treated as open. */
|
|
938
1066
|
isSuspended?: boolean;
|
|
1067
|
+
/** The selection text exactly as the visitor should read it. Present only when it differs from `selectionLabel` + `line`, which the slip keeps getting raw. */
|
|
1068
|
+
displayLabel?: string | null;
|
|
939
1069
|
previousPrice?: number | null;
|
|
940
1070
|
previousPriceAtUtc?: string | null;
|
|
941
1071
|
movementDirection?: 'shortened' | 'drifted' | null;
|
|
@@ -1108,6 +1238,57 @@ interface PresetGrid {
|
|
|
1108
1238
|
markets?: PresetMarketCell[];
|
|
1109
1239
|
[key: string]: unknown;
|
|
1110
1240
|
}
|
|
1241
|
+
/** The sentence builder's grid: GET price-presets with a combo size and a total. Every field is always present; nulls are null. */
|
|
1242
|
+
type BuilderGridStatus = 'ok' | 'miss' | 'paused';
|
|
1243
|
+
interface BuilderGridPayload {
|
|
1244
|
+
status: BuilderGridStatus;
|
|
1245
|
+
sport: string;
|
|
1246
|
+
requestedLegs: number;
|
|
1247
|
+
totalTarget: string;
|
|
1248
|
+
widened: boolean;
|
|
1249
|
+
total: number | null;
|
|
1250
|
+
multiplication: string | null;
|
|
1251
|
+
legs: ComboLeg[];
|
|
1252
|
+
legCountThatLands: number | null;
|
|
1253
|
+
}
|
|
1254
|
+
/** `total` and the combo size are the visitor's control state; the server decides what lands. */
|
|
1255
|
+
interface BuilderGridRequest {
|
|
1256
|
+
sport: string;
|
|
1257
|
+
marketKey?: string | null;
|
|
1258
|
+
matchIds: string[];
|
|
1259
|
+
legs: number;
|
|
1260
|
+
total: string;
|
|
1261
|
+
widen: boolean;
|
|
1262
|
+
operatorUserId?: string;
|
|
1263
|
+
anonymousUserId?: string;
|
|
1264
|
+
}
|
|
1265
|
+
/** Favourites tab. `id` is opaque to the widget (sport-qualified upstream: `nba:team:14`; football is bare). */
|
|
1266
|
+
type FavouriteKind = 'competition' | 'team' | 'player';
|
|
1267
|
+
interface FavouriteEntity {
|
|
1268
|
+
kind: FavouriteKind;
|
|
1269
|
+
id: string;
|
|
1270
|
+
name: string;
|
|
1271
|
+
imageUrl?: string;
|
|
1272
|
+
/** Players only. */
|
|
1273
|
+
teamName?: string;
|
|
1274
|
+
/** Search results only. */
|
|
1275
|
+
starred?: boolean;
|
|
1276
|
+
}
|
|
1277
|
+
interface FavouritesPayload {
|
|
1278
|
+
competitions: FavouriteEntity[];
|
|
1279
|
+
teams: FavouriteEntity[];
|
|
1280
|
+
players: FavouriteEntity[];
|
|
1281
|
+
/** Always present; teams and players only. */
|
|
1282
|
+
suggestions: FavouriteEntity[];
|
|
1283
|
+
}
|
|
1284
|
+
/** The list call's answer when the server refuses the visitor's ids (400 NoAcceptedIdentity): the brand has anonymous ids off. */
|
|
1285
|
+
type FavouritesNoIdentity = 'noAcceptedIdentity';
|
|
1286
|
+
type FavouriteStarResult = 'starred' | 'alreadyStarred' | 'atCap';
|
|
1287
|
+
interface FavouriteStarResponse {
|
|
1288
|
+
status: FavouriteStarResult;
|
|
1289
|
+
count?: number;
|
|
1290
|
+
cap?: number;
|
|
1291
|
+
}
|
|
1111
1292
|
interface AvailableMarket {
|
|
1112
1293
|
marketDeveloperName: string;
|
|
1113
1294
|
marketLabel: string;
|
|
@@ -1230,6 +1411,8 @@ interface OddsMovementCard {
|
|
|
1230
1411
|
matchOddsId?: number | null;
|
|
1231
1412
|
/** Server-rendered kickoff chip in the operator's zone + language. Prefer over local formatting of kickoffUtc. */
|
|
1232
1413
|
kickoffLabel?: string | null;
|
|
1414
|
+
/** The selection as the widget shows it, when selectionLabel and line would not read right joined. selectionLabel and line stay raw for the pin, history and slip. */
|
|
1415
|
+
displayLabel?: string | null;
|
|
1233
1416
|
[key: string]: unknown;
|
|
1234
1417
|
}
|
|
1235
1418
|
interface OddsMovementEventData {
|
|
@@ -1256,6 +1439,8 @@ interface LiveMonitorStatPrice {
|
|
|
1256
1439
|
matchOddsId?: number | null;
|
|
1257
1440
|
isSuspended: boolean;
|
|
1258
1441
|
addToSlipEnabled: boolean;
|
|
1442
|
+
/** The chip's selection text as the visitor should read it; `selectionLabel` is still what the slip gets. */
|
|
1443
|
+
displayLabel?: string | null;
|
|
1259
1444
|
}
|
|
1260
1445
|
interface LiveMonitorStatRow {
|
|
1261
1446
|
label: string;
|
|
@@ -1815,8 +2000,15 @@ declare class Conversation {
|
|
|
1815
2000
|
getMarketOdds(matchId: number, marketDeveloperName: string, sport?: SlipSport): Promise<MarketOddsBlock | null>;
|
|
1816
2001
|
getPlayerProps(matchId: number, sport?: 'americanfootball'): Promise<PlayerPropsBundle | null>;
|
|
1817
2002
|
getPricePresets(locale: string, options?: PresetGridOptions): Promise<PresetGrid | null>;
|
|
2003
|
+
getBuilderGrid(locale: string, req: BuilderGridRequest): Promise<BuilderGridPayload | null>;
|
|
1818
2004
|
getSchedule(localDate: string, utcOffsetMinutes: number, operatorUserId?: string, anonymousUserId?: string): Promise<SchedulePayload | null>;
|
|
1819
2005
|
starLeague(competitionId: number, starred: boolean, operatorUserId?: string, anonymousUserId?: string): Promise<LeagueStarResult | null>;
|
|
2006
|
+
getFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouritesPayload | FavouritesNoIdentity | null>;
|
|
2007
|
+
searchFavourites(sport: string, query: string, kind: FavouriteKind, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteEntity[] | null>;
|
|
2008
|
+
putFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<FavouriteStarResponse | null>;
|
|
2009
|
+
deleteFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
|
|
2010
|
+
clearFavourites(sport: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
|
|
2011
|
+
hideFavourite(kind: FavouriteKind, id: string, operatorUserId?: string, anonymousUserId?: string): Promise<boolean>;
|
|
1820
2012
|
getStates(matchIds: number[], nbaGameIds?: number[], nflGameIds?: number[]): Promise<StatesPayload | null>;
|
|
1821
2013
|
getGames(gameDay?: string): Promise<GameListPayload | null>;
|
|
1822
2014
|
getGameConfig(gameId: string, fixtureId?: number, gameDay?: string, locale?: string): Promise<GameStatePayload | null>;
|
|
@@ -1831,13 +2023,21 @@ declare class Conversation {
|
|
|
1831
2023
|
getClubRecords(limit?: number): Promise<ClubRecordsPayload | null>;
|
|
1832
2024
|
}
|
|
1833
2025
|
|
|
1834
|
-
type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open';
|
|
2026
|
+
type WidgetEntityEventName = 'pin_add' | 'pin_remove' | 'slip_click' | 'slip_result' | 'insight_expand' | 'tile_tap' | 'chip_tap' | 'slip_remove' | 'bet_placed' | 'match_view' | 'match_open' | 'combo_add';
|
|
1835
2027
|
type WidgetPopupEventName = 'popup_shown' | 'popup_opened' | 'popup_dismissed';
|
|
1836
2028
|
type WidgetPopupAskEventName = 'popup_ask_tap';
|
|
1837
2029
|
type WidgetOpenEventName = 'widget_open';
|
|
1838
2030
|
type WidgetSportSwitchEventName = 'dashboard_sport_switch';
|
|
1839
2031
|
type WidgetEventName = WidgetEntityEventName | WidgetPopupEventName | WidgetPopupAskEventName | WidgetOpenEventName | WidgetSportSwitchEventName;
|
|
1840
2032
|
type WidgetEntityType = 'match' | 'team' | 'player' | 'competition' | 'market';
|
|
2033
|
+
/** `totalChosen` is the visitor's total control as a string on the wire; `totalActual` is the server's total for the shown combo. */
|
|
2034
|
+
interface ComboAddMetadata {
|
|
2035
|
+
sport: string;
|
|
2036
|
+
legs: number;
|
|
2037
|
+
totalChosen: 'any' | '3' | '5' | '10' | '20' | '50';
|
|
2038
|
+
totalActual: number;
|
|
2039
|
+
markets: string[];
|
|
2040
|
+
}
|
|
1841
2041
|
interface WidgetEventInput {
|
|
1842
2042
|
name: WidgetEntityEventName;
|
|
1843
2043
|
entityType: WidgetEntityType;
|
|
@@ -1855,6 +2055,8 @@ interface WidgetEventInput {
|
|
|
1855
2055
|
odds?: number;
|
|
1856
2056
|
/** Wire sport key ('nba'); absent means football. */
|
|
1857
2057
|
sport?: string;
|
|
2058
|
+
/** combo_add only: what the visitor asked for and what the server returned. */
|
|
2059
|
+
metadata?: ComboAddMetadata;
|
|
1858
2060
|
}
|
|
1859
2061
|
/** Launcher popup telemetry: counted server-side, never tied to an entity. */
|
|
1860
2062
|
type WidgetPopupEventInput = {
|
|
@@ -1960,4 +2162,4 @@ interface NdjsonParser {
|
|
|
1960
2162
|
}
|
|
1961
2163
|
declare function createNdjsonParser(): NdjsonParser;
|
|
1962
2164
|
|
|
1963
|
-
export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingSetChip, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };
|
|
2165
|
+
export { type ActionButtonEventData, type ActionsLoadingEventData, type AddToSlipHandler, type AddToSlipRejectReason, type AddToSlipResult, type AllTimeRow, type AnswerEventData, AuthError, type AvailableMarket, type BettingInsight, type BettingInsightEventData, type BettingInsightOdds, type BuilderGridPayload, type BuilderGridRequest, type BuilderGridStatus, type ChatCallbacks, type ChatEvent, type ChatGrounding, type ChatHandle, type ChatInput, type ChatPreset, type ClubFanDashboardCard, type ClubFanDashboardHeadToHead, type ClubFanDashboardPayload, type ClubFixture, type ClubFixturesPayload, type ClubMatchLogRow, type ClubNextFixture, type ClubPerformanceMetric, type ClubPlayerAvailability, type ClubPlayerAvailabilityStatus, type ClubPlayerDetailPayload, type ClubPlayerPerformance, type ClubPlayerSeasonStats, type ClubRecordEntry, type ClubRecordsPayload, type ClubSquadPayload, type ClubSquadPlayer, type ClubSquadStatsPayload, type ClubStandingRow, type ClubStandingsPayload, type ComboAddMetadata, type ComboCard, type ComboCardEventData, type ComboLeg, type ComboReplacedLeg, type CongestedWeekCard, type CongestedWeekData, type CongestedWeekEntry, Conversation, type CountdownCard, type CountdownData, ENTITY_TYPE_CODES, type EntityCard, type EntityCardEventData, type EntityCardScope, type EntityCardStat, type EventBatch, type EventLogger, type EventLoggerOptions, type FavouriteEntity, type FavouriteKind, type FavouriteStarResponse, type FavouriteStarResult, type FavouritesNoIdentity, type FavouritesPayload, type FetchLike, type FixtureCard, type FixtureCardData, ForbiddenError, type FormAndH2H, type FormMatch, type GameListPayload, type GameResultPayload, type GameStatePayload, type GameSummary, type GreetingBuilderPreset, type GreetingDashboard, type GreetingDashboardLayout, type GreetingDashboardSet, type GreetingDashboardSignalRef, type GreetingDashboardSpan, type GreetingDashboardTile, type GreetingDashboardTileEmphasis, type GreetingEntityChip, type GreetingEntityKind, type GreetingFormResult, type GreetingGamesOption, type GreetingGamesScope, type GreetingIdleTeam, type GreetingMarketOption, type GreetingPersonalSection, type GreetingPersonalTier, type GreetingPlayerCard, type GreetingPlayerHit, type GreetingPlayerStatus, type GreetingSetChip, type GreetingTeamCard, type HeadToHead, type InjuriesCard, type InjuriesCardData, type InjuryRow, type IntentChipEventData, LIMIT_CODES, type LeaderboardChampion, type LeaderboardPayload, type LeaderboardRow, type LeagueStarResult, type LimitCode, type LimitDetails, LimitError, type LinkRow, type LinksCard, type LinksData, type LiveEventLine, type LiveMonitorAmericanFootball, type LiveMonitorBasketball, type LiveMonitorEvent, type LiveMonitorFact, type LiveMonitorMarket, type LiveMonitorMatch, type LiveMonitorSnapshot, type LiveMonitorStatPrice, type LiveMonitorStatRow, type LiveScoreCard, type LiveScoreData, type LiveStatRow, type LiveStatsCard, type LiveStatsData, type LiveTimelineCard, type LiveTimelineData, type MarketOddsBlock, type MarketOddsCard, type MarketOddsCardInsight, type MarketOddsEventData, type MarketOddsLiveBlock, type MarketOddsRow, type MatchState, type MomentumPoint, type MonitorPhase, type MonitorSport, type NbaCoHitEvidence, type NbaCoHitLeg, type NbaGameValue, type NbaInjuryEvent, type NbaInsight, type NbaInsightEventData, type NbaInsightSelection, type NbaJointGame, type NbaLadderEvidence, type NbaLadderRung, type NbaLadderStat, type NbaLineLane, type NbaLineMoveEvidence, type NbaLinePoint, type NbaListedTeammate, type NbaMatchupEvidence, type NbaMatchupPosition, type NbaMatchupTeam, type NbaPropReasonEvidence, type NbaQuarterLadderEvidence, type NbaQuarterRung, type NbaQuarterStat, type NbaSettleLine, type NbaSettlePlayer, type NbaSettleRecapEvidence, type NbaSettleSummary, type NbaSplitRow, type NbaTeammateOutEvidence, type NdjsonParser, NetworkError, type NflAtsGame, type NflAtsRecordEvidence, type NflForm, type NflFormGame, type NflInjuryPlayer, type NflInjuryReportEvidence, type NflInsight, type NflInsightEventData, type NflInsightKind, type NflInsightSelection, type NflLadderEvidence, type NflLadderRung, type NflLineMoveEvidence, type NflLineMoveLane, type NflMatchupEvidence, type NflPropReasonEvidence, type NflPropReasonGame, type NflSettleRecapEvidence, type NflSettleRecapLine, type NflSettleRecapPlayer, type NflSettleRecapSummary, type NonFootballSport, type OddsMovementCard, type OddsMovementEventData, type OddsMovementPoint, type PageContext, ParseError, type PinKind, type PinRef, type PlayerPropFact, type PlayerPropGame, type PlayerPropPrice, type PlayerPropStat, type PlayerPropStatGame, type PlayerPropsBundle, type PostMatchGoalLine, type PostMatchGoalsCard, type PostMatchGoalsData, type PostMatchNextCard, type PostMatchNextData, type PostMatchResultCard, type PostMatchResultData, type PostMatchStatRow, type PostMatchStatsCard, type PostMatchStatsData, type PostMatchTopPerformerCard, type PostMatchTopPerformerData, type PresetComboCell, type PresetGrid, type PresetGridOptions, type PresetMarketCell, type PresetPick, type PresetSinglesCell, type ProgressEventData, type QualifiedType, RateLimitError, type ReasonToBetCard, type ReasonToBetData, type RestingFormCard, type RestingFormData, type RestingNextCard, type RestingNextData, type RestingSeasonCard, type RestingSeasonData, type RestingStandingsCard, type RestingStandingsData, SIGNAL_TYPE_CODES, SPORTS, type ScheduleGroup, type ScheduleMatch, type SchedulePayload, type ScheduleSport, type SignalEntityType, type SignalInput, type SignalType, type SlipSelection, type SlipSport, type SportSpec, type StatesPayload, StatsWidgetClient, type StatsWidgetClientOptions, type StreamErrorEventData, type SubmitPlayBody, type SubmitPlayResult, type TransferRow, type TransfersCard, type TransfersData, type TurnCompleteEventData, UpstreamError, type UserContext, type WhereToWatchCard, type WhereToWatchData, type WidgetEntityEventName, type WidgetEntityType, type WidgetEventInput, type WidgetEventName, type WidgetLogInput, type WidgetOpenEventInput, type WidgetOpenEventName, type WidgetPopupAskEventInput, type WidgetPopupAskEventName, type WidgetPopupEventInput, type WidgetPopupEventName, WidgetSdkError, type WidgetSportSwitchEventInput, type WidgetSportSwitchEventName, type WireEvent, type WireSport, createEventLogger, createNdjsonParser, fromWireSport, isAddToSlipResult, isLimitCode, matchKey, mayPinOrSlip, qualifiedId, slipSportOf, sportOf, toWireSport };
|