propline 0.52.0 → 0.54.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/index.d.cts CHANGED
@@ -54,8 +54,28 @@ interface Event {
54
54
  * it now resolves — costs one request per stored event.
55
55
  */
56
56
  merged_from_event_ids?: string[] | null;
57
+ /**
58
+ * True for a tournament/outright listing (a tennis, golf, racing or
59
+ * cycling event with no away side — `away_team` is "").
60
+ */
61
+ is_outright?: boolean;
62
+ /**
63
+ * Tennis only: the competition this match belongs to (e.g. "US Open").
64
+ * One `tennis` key mixes every tour, so this and `tour` say which. `null`
65
+ * for every other sport and where unknown.
66
+ */
67
+ tournament?: string | null;
68
+ /** Tennis only: the tour — "ATP", "WTA", "Challenger", "ITF", "UTR", "Exhibition" or "Team". `null` elsewhere. */
69
+ tour?: string | null;
57
70
  [k: string]: unknown;
58
71
  }
72
+ /** One order-book level beyond an outcome's served price (see `Outcome.depth`). */
73
+ interface DepthLevel {
74
+ /** American odds at this level. */
75
+ price: number;
76
+ /** Dollars a taker can spend at this level. */
77
+ size: number | null;
78
+ }
59
79
  interface Outcome {
60
80
  name: string;
61
81
  description?: string | null;
@@ -132,6 +152,23 @@ interface Outcome {
132
152
  * `line_movement` webhooks.
133
153
  */
134
154
  liquidity?: number | null;
155
+ /**
156
+ * When the exchange last touched the resting order behind `liquidity`
157
+ * (ISO datetime, the book's own timestamp). Discount sizes that are old.
158
+ */
159
+ liquidity_updated_at?: string | null;
160
+ /**
161
+ * Up to three order-book levels BEYOND the served `price`. Only present
162
+ * when the request passed `includeDepth: true`; `[]` when the book has
163
+ * nothing further or PropLine does not read its depth (sportsbooks).
164
+ */
165
+ depth?: DepthLevel[];
166
+ /**
167
+ * Which side of the EVENT this leg is on: `"home"`, `"away"` or
168
+ * `"draw"`; `null` for Over/Under, Yes/No and player legs. Lets you pair
169
+ * legs without matching a book's own team spelling.
170
+ */
171
+ side?: "home" | "away" | "draw" | null;
135
172
  /**
136
173
  * Signed line-difficulty delta for a PrizePicks goblin/demon outcome:
137
174
  * `point - standard_point` for the same player+stat. Positive on a harder
@@ -278,6 +315,19 @@ interface OddsResponse {
278
315
  * it now resolves — costs one request per stored event.
279
316
  */
280
317
  merged_from_event_ids?: string[] | null;
318
+ /**
319
+ * True for a tournament/outright listing (a tennis, golf, racing or
320
+ * cycling event with no away side — `away_team` is "").
321
+ */
322
+ is_outright?: boolean;
323
+ /**
324
+ * Tennis only: the competition this match belongs to (e.g. "US Open").
325
+ * One `tennis` key mixes every tour, so this and `tour` say which. `null`
326
+ * for every other sport and where unknown.
327
+ */
328
+ tournament?: string | null;
329
+ /** Tennis only: the tour — "ATP", "WTA", "Challenger", "ITF", "UTR", "Exhibition" or "Team". `null` elsewhere. */
330
+ tour?: string | null;
281
331
  bookmakers: Bookmaker[];
282
332
  [k: string]: unknown;
283
333
  }
@@ -445,6 +495,10 @@ interface ScoreEvent {
445
495
  home_team_logo_url?: string | null;
446
496
  /** Away-side counterpart of `home_team_logo_url`. */
447
497
  away_team_logo_url?: string | null;
498
+ /** Tennis only — see `Event.tournament`. */
499
+ tournament?: string | null;
500
+ /** Tennis only — see `Event.tour`. */
501
+ tour?: string | null;
448
502
  status: "upcoming" | "in_progress" | "final" | string;
449
503
  home_score: number | null;
450
504
  away_score: number | null;
@@ -587,6 +641,10 @@ interface MovementOutcome {
587
641
  direction: string | null;
588
642
  num_snapshots: number;
589
643
  redacted: boolean;
644
+ /** PropLine's stable id for this selection — the same id `/odds` and webhook payloads carry. */
645
+ outcome_id?: number | null;
646
+ /** The book's own selection id. Only set when the request passed `includeBookIds: true`. */
647
+ book_outcome_id?: string | null;
590
648
  [k: string]: unknown;
591
649
  }
592
650
  interface MovementMarket {
@@ -620,6 +678,66 @@ interface SteamMove {
620
678
  avg_prob_shift: number;
621
679
  consensus_point_shift: number | null;
622
680
  steam_score: number;
681
+ /** Canonical team name for a team-total steam move; `null` otherwise. */
682
+ team?: string | null;
683
+ /** Median opening line across the books that moved. */
684
+ open_point?: number | null;
685
+ /** Median latest line across the books that moved. */
686
+ latest_point?: number | null;
687
+ [k: string]: unknown;
688
+ }
689
+ /** One side of a `line_movement` webhook payload (`previous` / `current`). */
690
+ interface LineMovementPrice {
691
+ price_american: number | null;
692
+ point: number | null;
693
+ /** Dollars stakeable at this price (exchanges / Pinnacle); `null` for other books. */
694
+ liquidity?: number | null;
695
+ /** The book's own timestamp for that size (ISO datetime). */
696
+ liquidity_updated_at?: string | null;
697
+ }
698
+ /** Body of a `line_movement` webhook delivery. */
699
+ interface LineMovementWebhookPayload {
700
+ event_type: "line_movement";
701
+ sport_key: string;
702
+ event: Record<string, unknown>;
703
+ bookmaker_key: string;
704
+ bookmaker_title: string;
705
+ market_id: number;
706
+ market_key: string;
707
+ market_description: string | null;
708
+ outcome_id: number;
709
+ book_outcome_id: string | null;
710
+ player_id: string | null;
711
+ player_name: string | null;
712
+ outcome_name: string;
713
+ dfs_odds_type: "standard" | "goblin" | "demon" | null;
714
+ payout_multiplier: number | null;
715
+ previous: LineMovementPrice;
716
+ current: LineMovementPrice;
717
+ price_change_pct: number;
718
+ timestamp: string;
719
+ [k: string]: unknown;
720
+ }
721
+ /** Body of a `steam` webhook delivery. */
722
+ interface SteamWebhookPayload {
723
+ event_type: "steam";
724
+ sport_key: string;
725
+ event: Record<string, unknown>;
726
+ market_key: string;
727
+ period: string | null;
728
+ outcome_name: string;
729
+ player_name: string | null;
730
+ /** Canonical team name for a team-total move; `null` otherwise. */
731
+ team: string | null;
732
+ open_point: number | null;
733
+ latest_point: number | null;
734
+ consensus_direction: string;
735
+ books_quoting: number;
736
+ books_moved: number;
737
+ avg_prob_shift: number;
738
+ consensus_point_shift: number | null;
739
+ steam_score: number;
740
+ timestamp: string;
623
741
  [k: string]: unknown;
624
742
  }
625
743
  interface MovementResponse {
@@ -1366,6 +1484,14 @@ interface GetOddsOptions {
1366
1484
  * equivalent.
1367
1485
  */
1368
1486
  includeBookIds?: boolean;
1487
+ /**
1488
+ * When true, every outcome carries `depth`: up to three order-book levels
1489
+ * BEYOND the served price, each `{ price, size }` (American odds, dollars).
1490
+ * `[]` when the book has nothing further or PropLine does not read depth
1491
+ * for that book (sportsbooks). Omitted from the response unless requested.
1492
+ * PropLine-specific (`includeDepth=true`).
1493
+ */
1494
+ includeDepth?: boolean;
1369
1495
  }
1370
1496
  interface GetOddsHistoryOptions {
1371
1497
  markets?: string[];
@@ -1392,6 +1518,12 @@ interface GetOddsClosingOptions {
1392
1518
  period?: PeriodFilter;
1393
1519
  /** Bookmaker key(s) to restrict the response to. Omitted = all books. */
1394
1520
  bookmakers?: string | string[];
1521
+ /**
1522
+ * Limit the opening lookback to this many days before kickoff (1-3650), or
1523
+ * `"all"` (the default: the first snapshot held). `14` matches the
1524
+ * resolved-props export's opening columns.
1525
+ */
1526
+ openingWindow?: number | "all";
1395
1527
  }
1396
1528
  interface GetMovementOptions {
1397
1529
  markets?: string[];
@@ -1399,6 +1531,19 @@ interface GetMovementOptions {
1399
1531
  period?: PeriodFilter;
1400
1532
  /** Bookmaker key(s) to restrict the response to. Omitted = all books. */
1401
1533
  bookmakers?: string | string[];
1534
+ /**
1535
+ * Measure movement from this moment instead of from each line's first
1536
+ * quote. ISO-8601 timestamp or a negative offset from now (`"-6h"`,
1537
+ * `"-30m"`, `"-2d"`). Each outcome's opening is the price it held at
1538
+ * `since` (or its first quote after), so steam covers only moves inside
1539
+ * the window.
1540
+ */
1541
+ since?: string;
1542
+ /**
1543
+ * When true, each movement outcome carries `book_outcome_id` (the book's
1544
+ * own selection id). `outcome_id` (PropLine's id) is always present.
1545
+ */
1546
+ includeBookIds?: boolean;
1402
1547
  }
1403
1548
  interface GetScoresOptions {
1404
1549
  /** Days back to include (default 3). */
@@ -1746,9 +1891,9 @@ declare class PropLine {
1746
1891
  /**
1747
1892
  * Get the opening AND closing line per `(book, market, outcome)` for an
1748
1893
  * event. Closing is the last snapshot at or before commence_time
1749
- * (`price` / `point` / `closing_at`); opening is the first snapshot in
1750
- * the same 14-day pre-kickoff window (`opening_price` / `opening_point`
1751
- * / `opening_at`). Canonical CLV helper: replaces "fetch full history →
1894
+ * (`price` / `point` / `closing_at`); opening is the first snapshot
1895
+ * PropLine holds for the outcome, however far before kickoff the book
1896
+ * posted it (`opening_price` / `opening_point` / `opening_at`). Canonical CLV helper: replaces "fetch full history →
1752
1897
  * find the first and last pre-game rows" with one call.
1753
1898
  *
1754
1899
  * Compare the *points* as well as the prices — on spreads and totals
@@ -1772,7 +1917,7 @@ declare class PropLine {
1772
1917
  */
1773
1918
  getDfsPayouts(options?: GetDfsPayoutsOptions): Promise<DfsPayoutsResponse>;
1774
1919
  /**
1775
- * Synthetic MLB Grand Salami for a given UTC date — total runs scored
1920
+ * Synthetic MLB Grand Salami for a given US Eastern date — total runs scored
1776
1921
  * across every MLB game on the slate, plus each book's implied Grand
1777
1922
  * Salami line (median of per-game primary totals across our MLB books).
1778
1923
  *
@@ -1782,7 +1927,7 @@ declare class PropLine {
1782
1927
  */
1783
1928
  getMlbGrandSalami(options?: GetMlbGrandSalamiOptions): Promise<MlbGrandSalamiResponse>;
1784
1929
  /**
1785
- * Synthetic NHL Daily Goals Total for a given UTC date — total goals
1930
+ * Synthetic NHL Daily Goals Total for a given US Eastern date — total goals
1786
1931
  * scored (incl. OT/SO) across every NHL game on the slate, plus each
1787
1932
  * book's implied Daily Goals Total line (median of per-game primary
1788
1933
  * totals across our NHL books).
@@ -2269,6 +2414,6 @@ declare const Bookmakers: {
2269
2414
  readonly PRIZEPICKS: "prizepicks";
2270
2415
  };
2271
2416
  type BookmakerKey = (typeof Bookmakers)[keyof typeof Bookmakers];
2272
- declare const VERSION = "0.52.0";
2417
+ declare const VERSION = "0.54.0";
2273
2418
 
2274
- export { AuthError, type BestLine, type BestLineSide, type BestPrice, type Bookmaker, type BookmakerKey, Bookmakers, type CalcEventEvOptions, type ClosingBookmaker, type ClosingMarket, type ClosingOutcome, type ClvBetInput, type ClvGradeResponse, type ClvGradedBet, type ClvSummary, type ContextResponse, type CreateWebhookOptions, type DfsPayoutTier, type DfsPayoutsResponse, type DfsPlayPayout, type EvLine, type EvOutcome, type Event, type EventBestLineResponse, type EventEvCalcResponse, type EventEvResponse, type EventProjectionsResponse, type ExportOddsHistoryOptions, type ExportResolvedPropsOptions, type FuturesEvent, type FuturesMarket, type FuturesOutcome, type GetDfsPayoutsOptions, type GetEventBestLineOptions, type GetEventEvOptions, type GetEventProjectionsOptions, type GetMlbGrandSalamiOptions, type GetNhlDailyGoalsTotalOptions, type GetOddsClosingOptions, type GetOddsHistoryOptions, type GetOddsOptions, type GetPlayerGamesOptions, type GetPlayerHistoryOptions, type GetPlayerTrendsOptions, type GetResultsOptions, type GetScoresOptions, type GetStatsOptions, type HitRateSplit, type ListWebhookDeliveriesOptions, type Market, type MarketSummary, type MlbGrandSalamiBook, type MlbGrandSalamiResponse, type MovementBookmaker, type MovementMarket, type MovementOutcome, type MovementResponse, type NhlDailyGoalsTotalBook, type NhlDailyGoalsTotalResponse, type OddsClosingResponse, type OddsHistoryBookmaker, type OddsHistoryMarket, type OddsHistoryOutcome, type OddsHistoryResponse, type OddsResponse, type Outcome, type OutcomeSnapshot, type PeriodFilter, type PlayerGame, type PlayerGameLog, type PlayerHistoryEntry, type PlayerHistoryResponse, type PlayerMarketTrend, type PlayerStat, type PlayerTrends, type ProjectionRow, PropLine, PropLineError, type PropLineErrorInfo, type PropLineOptions, type QuotaStatus, RateLimitError, type ReplayEvent, type ReplayPage, type ReplayWebhookEventsOptions, type ResolutionSummary, type ResolutionSummaryMarket, type ResolutionSummarySport, type ResolvedOutcome, type ResultsMarket, type ResultsResponse, type ScoreEvent, type SgpBookError, type SgpLegInput, type SgpLegQuote, type SgpMultiQuoteResponse, type SgpQuoteResponse, type Sport, type StatsResponse, type SteamMove, type StreamOptions, type TrendLastGame, type TrendStreak, type UpdateWebhookOptions, VERSION, type VerifySignatureOptions, type WeatherInfo, type Webhook, type WebhookDelivery, type WebhookEventType };
2419
+ export { AuthError, type BestLine, type BestLineSide, type BestPrice, type Bookmaker, type BookmakerKey, Bookmakers, type CalcEventEvOptions, type ClosingBookmaker, type ClosingMarket, type ClosingOutcome, type ClvBetInput, type ClvGradeResponse, type ClvGradedBet, type ClvSummary, type ContextResponse, type CreateWebhookOptions, type DepthLevel, type DfsPayoutTier, type DfsPayoutsResponse, type DfsPlayPayout, type EvLine, type EvOutcome, type Event, type EventBestLineResponse, type EventEvCalcResponse, type EventEvResponse, type EventProjectionsResponse, type ExportOddsHistoryOptions, type ExportResolvedPropsOptions, type FuturesEvent, type FuturesMarket, type FuturesOutcome, type GetDfsPayoutsOptions, type GetEventBestLineOptions, type GetEventEvOptions, type GetEventProjectionsOptions, type GetMlbGrandSalamiOptions, type GetMovementOptions, type GetNhlDailyGoalsTotalOptions, type GetOddsClosingOptions, type GetOddsHistoryOptions, type GetOddsOptions, type GetPlayerGamesOptions, type GetPlayerHistoryOptions, type GetPlayerTrendsOptions, type GetResultsOptions, type GetScoresOptions, type GetStatsOptions, type HitRateSplit, type LineMovementPrice, type LineMovementWebhookPayload, type ListWebhookDeliveriesOptions, type Market, type MarketSummary, type MlbGrandSalamiBook, type MlbGrandSalamiResponse, type MovementBookmaker, type MovementMarket, type MovementOutcome, type MovementResponse, type NhlDailyGoalsTotalBook, type NhlDailyGoalsTotalResponse, type OddsClosingResponse, type OddsHistoryBookmaker, type OddsHistoryMarket, type OddsHistoryOutcome, type OddsHistoryResponse, type OddsResponse, type Outcome, type OutcomeSnapshot, type PeriodFilter, type PlayerGame, type PlayerGameLog, type PlayerHistoryEntry, type PlayerHistoryResponse, type PlayerMarketTrend, type PlayerStat, type PlayerTrends, type ProjectionRow, PropLine, PropLineError, type PropLineErrorInfo, type PropLineOptions, type QuotaStatus, RateLimitError, type ReplayEvent, type ReplayPage, type ReplayWebhookEventsOptions, type ResolutionSummary, type ResolutionSummaryMarket, type ResolutionSummarySport, type ResolvedOutcome, type ResultsMarket, type ResultsResponse, type ScoreEvent, type SgpBookError, type SgpLegInput, type SgpLegQuote, type SgpMultiQuoteResponse, type SgpQuoteResponse, type Sport, type StatsResponse, type SteamMove, type SteamWebhookPayload, type StreamOptions, type TrendLastGame, type TrendStreak, type UpdateWebhookOptions, VERSION, type VerifySignatureOptions, type WeatherInfo, type Webhook, type WebhookDelivery, type WebhookEventType };
package/dist/index.d.ts CHANGED
@@ -54,8 +54,28 @@ interface Event {
54
54
  * it now resolves — costs one request per stored event.
55
55
  */
56
56
  merged_from_event_ids?: string[] | null;
57
+ /**
58
+ * True for a tournament/outright listing (a tennis, golf, racing or
59
+ * cycling event with no away side — `away_team` is "").
60
+ */
61
+ is_outright?: boolean;
62
+ /**
63
+ * Tennis only: the competition this match belongs to (e.g. "US Open").
64
+ * One `tennis` key mixes every tour, so this and `tour` say which. `null`
65
+ * for every other sport and where unknown.
66
+ */
67
+ tournament?: string | null;
68
+ /** Tennis only: the tour — "ATP", "WTA", "Challenger", "ITF", "UTR", "Exhibition" or "Team". `null` elsewhere. */
69
+ tour?: string | null;
57
70
  [k: string]: unknown;
58
71
  }
72
+ /** One order-book level beyond an outcome's served price (see `Outcome.depth`). */
73
+ interface DepthLevel {
74
+ /** American odds at this level. */
75
+ price: number;
76
+ /** Dollars a taker can spend at this level. */
77
+ size: number | null;
78
+ }
59
79
  interface Outcome {
60
80
  name: string;
61
81
  description?: string | null;
@@ -132,6 +152,23 @@ interface Outcome {
132
152
  * `line_movement` webhooks.
133
153
  */
134
154
  liquidity?: number | null;
155
+ /**
156
+ * When the exchange last touched the resting order behind `liquidity`
157
+ * (ISO datetime, the book's own timestamp). Discount sizes that are old.
158
+ */
159
+ liquidity_updated_at?: string | null;
160
+ /**
161
+ * Up to three order-book levels BEYOND the served `price`. Only present
162
+ * when the request passed `includeDepth: true`; `[]` when the book has
163
+ * nothing further or PropLine does not read its depth (sportsbooks).
164
+ */
165
+ depth?: DepthLevel[];
166
+ /**
167
+ * Which side of the EVENT this leg is on: `"home"`, `"away"` or
168
+ * `"draw"`; `null` for Over/Under, Yes/No and player legs. Lets you pair
169
+ * legs without matching a book's own team spelling.
170
+ */
171
+ side?: "home" | "away" | "draw" | null;
135
172
  /**
136
173
  * Signed line-difficulty delta for a PrizePicks goblin/demon outcome:
137
174
  * `point - standard_point` for the same player+stat. Positive on a harder
@@ -278,6 +315,19 @@ interface OddsResponse {
278
315
  * it now resolves — costs one request per stored event.
279
316
  */
280
317
  merged_from_event_ids?: string[] | null;
318
+ /**
319
+ * True for a tournament/outright listing (a tennis, golf, racing or
320
+ * cycling event with no away side — `away_team` is "").
321
+ */
322
+ is_outright?: boolean;
323
+ /**
324
+ * Tennis only: the competition this match belongs to (e.g. "US Open").
325
+ * One `tennis` key mixes every tour, so this and `tour` say which. `null`
326
+ * for every other sport and where unknown.
327
+ */
328
+ tournament?: string | null;
329
+ /** Tennis only: the tour — "ATP", "WTA", "Challenger", "ITF", "UTR", "Exhibition" or "Team". `null` elsewhere. */
330
+ tour?: string | null;
281
331
  bookmakers: Bookmaker[];
282
332
  [k: string]: unknown;
283
333
  }
@@ -445,6 +495,10 @@ interface ScoreEvent {
445
495
  home_team_logo_url?: string | null;
446
496
  /** Away-side counterpart of `home_team_logo_url`. */
447
497
  away_team_logo_url?: string | null;
498
+ /** Tennis only — see `Event.tournament`. */
499
+ tournament?: string | null;
500
+ /** Tennis only — see `Event.tour`. */
501
+ tour?: string | null;
448
502
  status: "upcoming" | "in_progress" | "final" | string;
449
503
  home_score: number | null;
450
504
  away_score: number | null;
@@ -587,6 +641,10 @@ interface MovementOutcome {
587
641
  direction: string | null;
588
642
  num_snapshots: number;
589
643
  redacted: boolean;
644
+ /** PropLine's stable id for this selection — the same id `/odds` and webhook payloads carry. */
645
+ outcome_id?: number | null;
646
+ /** The book's own selection id. Only set when the request passed `includeBookIds: true`. */
647
+ book_outcome_id?: string | null;
590
648
  [k: string]: unknown;
591
649
  }
592
650
  interface MovementMarket {
@@ -620,6 +678,66 @@ interface SteamMove {
620
678
  avg_prob_shift: number;
621
679
  consensus_point_shift: number | null;
622
680
  steam_score: number;
681
+ /** Canonical team name for a team-total steam move; `null` otherwise. */
682
+ team?: string | null;
683
+ /** Median opening line across the books that moved. */
684
+ open_point?: number | null;
685
+ /** Median latest line across the books that moved. */
686
+ latest_point?: number | null;
687
+ [k: string]: unknown;
688
+ }
689
+ /** One side of a `line_movement` webhook payload (`previous` / `current`). */
690
+ interface LineMovementPrice {
691
+ price_american: number | null;
692
+ point: number | null;
693
+ /** Dollars stakeable at this price (exchanges / Pinnacle); `null` for other books. */
694
+ liquidity?: number | null;
695
+ /** The book's own timestamp for that size (ISO datetime). */
696
+ liquidity_updated_at?: string | null;
697
+ }
698
+ /** Body of a `line_movement` webhook delivery. */
699
+ interface LineMovementWebhookPayload {
700
+ event_type: "line_movement";
701
+ sport_key: string;
702
+ event: Record<string, unknown>;
703
+ bookmaker_key: string;
704
+ bookmaker_title: string;
705
+ market_id: number;
706
+ market_key: string;
707
+ market_description: string | null;
708
+ outcome_id: number;
709
+ book_outcome_id: string | null;
710
+ player_id: string | null;
711
+ player_name: string | null;
712
+ outcome_name: string;
713
+ dfs_odds_type: "standard" | "goblin" | "demon" | null;
714
+ payout_multiplier: number | null;
715
+ previous: LineMovementPrice;
716
+ current: LineMovementPrice;
717
+ price_change_pct: number;
718
+ timestamp: string;
719
+ [k: string]: unknown;
720
+ }
721
+ /** Body of a `steam` webhook delivery. */
722
+ interface SteamWebhookPayload {
723
+ event_type: "steam";
724
+ sport_key: string;
725
+ event: Record<string, unknown>;
726
+ market_key: string;
727
+ period: string | null;
728
+ outcome_name: string;
729
+ player_name: string | null;
730
+ /** Canonical team name for a team-total move; `null` otherwise. */
731
+ team: string | null;
732
+ open_point: number | null;
733
+ latest_point: number | null;
734
+ consensus_direction: string;
735
+ books_quoting: number;
736
+ books_moved: number;
737
+ avg_prob_shift: number;
738
+ consensus_point_shift: number | null;
739
+ steam_score: number;
740
+ timestamp: string;
623
741
  [k: string]: unknown;
624
742
  }
625
743
  interface MovementResponse {
@@ -1366,6 +1484,14 @@ interface GetOddsOptions {
1366
1484
  * equivalent.
1367
1485
  */
1368
1486
  includeBookIds?: boolean;
1487
+ /**
1488
+ * When true, every outcome carries `depth`: up to three order-book levels
1489
+ * BEYOND the served price, each `{ price, size }` (American odds, dollars).
1490
+ * `[]` when the book has nothing further or PropLine does not read depth
1491
+ * for that book (sportsbooks). Omitted from the response unless requested.
1492
+ * PropLine-specific (`includeDepth=true`).
1493
+ */
1494
+ includeDepth?: boolean;
1369
1495
  }
1370
1496
  interface GetOddsHistoryOptions {
1371
1497
  markets?: string[];
@@ -1392,6 +1518,12 @@ interface GetOddsClosingOptions {
1392
1518
  period?: PeriodFilter;
1393
1519
  /** Bookmaker key(s) to restrict the response to. Omitted = all books. */
1394
1520
  bookmakers?: string | string[];
1521
+ /**
1522
+ * Limit the opening lookback to this many days before kickoff (1-3650), or
1523
+ * `"all"` (the default: the first snapshot held). `14` matches the
1524
+ * resolved-props export's opening columns.
1525
+ */
1526
+ openingWindow?: number | "all";
1395
1527
  }
1396
1528
  interface GetMovementOptions {
1397
1529
  markets?: string[];
@@ -1399,6 +1531,19 @@ interface GetMovementOptions {
1399
1531
  period?: PeriodFilter;
1400
1532
  /** Bookmaker key(s) to restrict the response to. Omitted = all books. */
1401
1533
  bookmakers?: string | string[];
1534
+ /**
1535
+ * Measure movement from this moment instead of from each line's first
1536
+ * quote. ISO-8601 timestamp or a negative offset from now (`"-6h"`,
1537
+ * `"-30m"`, `"-2d"`). Each outcome's opening is the price it held at
1538
+ * `since` (or its first quote after), so steam covers only moves inside
1539
+ * the window.
1540
+ */
1541
+ since?: string;
1542
+ /**
1543
+ * When true, each movement outcome carries `book_outcome_id` (the book's
1544
+ * own selection id). `outcome_id` (PropLine's id) is always present.
1545
+ */
1546
+ includeBookIds?: boolean;
1402
1547
  }
1403
1548
  interface GetScoresOptions {
1404
1549
  /** Days back to include (default 3). */
@@ -1746,9 +1891,9 @@ declare class PropLine {
1746
1891
  /**
1747
1892
  * Get the opening AND closing line per `(book, market, outcome)` for an
1748
1893
  * event. Closing is the last snapshot at or before commence_time
1749
- * (`price` / `point` / `closing_at`); opening is the first snapshot in
1750
- * the same 14-day pre-kickoff window (`opening_price` / `opening_point`
1751
- * / `opening_at`). Canonical CLV helper: replaces "fetch full history →
1894
+ * (`price` / `point` / `closing_at`); opening is the first snapshot
1895
+ * PropLine holds for the outcome, however far before kickoff the book
1896
+ * posted it (`opening_price` / `opening_point` / `opening_at`). Canonical CLV helper: replaces "fetch full history →
1752
1897
  * find the first and last pre-game rows" with one call.
1753
1898
  *
1754
1899
  * Compare the *points* as well as the prices — on spreads and totals
@@ -1772,7 +1917,7 @@ declare class PropLine {
1772
1917
  */
1773
1918
  getDfsPayouts(options?: GetDfsPayoutsOptions): Promise<DfsPayoutsResponse>;
1774
1919
  /**
1775
- * Synthetic MLB Grand Salami for a given UTC date — total runs scored
1920
+ * Synthetic MLB Grand Salami for a given US Eastern date — total runs scored
1776
1921
  * across every MLB game on the slate, plus each book's implied Grand
1777
1922
  * Salami line (median of per-game primary totals across our MLB books).
1778
1923
  *
@@ -1782,7 +1927,7 @@ declare class PropLine {
1782
1927
  */
1783
1928
  getMlbGrandSalami(options?: GetMlbGrandSalamiOptions): Promise<MlbGrandSalamiResponse>;
1784
1929
  /**
1785
- * Synthetic NHL Daily Goals Total for a given UTC date — total goals
1930
+ * Synthetic NHL Daily Goals Total for a given US Eastern date — total goals
1786
1931
  * scored (incl. OT/SO) across every NHL game on the slate, plus each
1787
1932
  * book's implied Daily Goals Total line (median of per-game primary
1788
1933
  * totals across our NHL books).
@@ -2269,6 +2414,6 @@ declare const Bookmakers: {
2269
2414
  readonly PRIZEPICKS: "prizepicks";
2270
2415
  };
2271
2416
  type BookmakerKey = (typeof Bookmakers)[keyof typeof Bookmakers];
2272
- declare const VERSION = "0.52.0";
2417
+ declare const VERSION = "0.54.0";
2273
2418
 
2274
- export { AuthError, type BestLine, type BestLineSide, type BestPrice, type Bookmaker, type BookmakerKey, Bookmakers, type CalcEventEvOptions, type ClosingBookmaker, type ClosingMarket, type ClosingOutcome, type ClvBetInput, type ClvGradeResponse, type ClvGradedBet, type ClvSummary, type ContextResponse, type CreateWebhookOptions, type DfsPayoutTier, type DfsPayoutsResponse, type DfsPlayPayout, type EvLine, type EvOutcome, type Event, type EventBestLineResponse, type EventEvCalcResponse, type EventEvResponse, type EventProjectionsResponse, type ExportOddsHistoryOptions, type ExportResolvedPropsOptions, type FuturesEvent, type FuturesMarket, type FuturesOutcome, type GetDfsPayoutsOptions, type GetEventBestLineOptions, type GetEventEvOptions, type GetEventProjectionsOptions, type GetMlbGrandSalamiOptions, type GetNhlDailyGoalsTotalOptions, type GetOddsClosingOptions, type GetOddsHistoryOptions, type GetOddsOptions, type GetPlayerGamesOptions, type GetPlayerHistoryOptions, type GetPlayerTrendsOptions, type GetResultsOptions, type GetScoresOptions, type GetStatsOptions, type HitRateSplit, type ListWebhookDeliveriesOptions, type Market, type MarketSummary, type MlbGrandSalamiBook, type MlbGrandSalamiResponse, type MovementBookmaker, type MovementMarket, type MovementOutcome, type MovementResponse, type NhlDailyGoalsTotalBook, type NhlDailyGoalsTotalResponse, type OddsClosingResponse, type OddsHistoryBookmaker, type OddsHistoryMarket, type OddsHistoryOutcome, type OddsHistoryResponse, type OddsResponse, type Outcome, type OutcomeSnapshot, type PeriodFilter, type PlayerGame, type PlayerGameLog, type PlayerHistoryEntry, type PlayerHistoryResponse, type PlayerMarketTrend, type PlayerStat, type PlayerTrends, type ProjectionRow, PropLine, PropLineError, type PropLineErrorInfo, type PropLineOptions, type QuotaStatus, RateLimitError, type ReplayEvent, type ReplayPage, type ReplayWebhookEventsOptions, type ResolutionSummary, type ResolutionSummaryMarket, type ResolutionSummarySport, type ResolvedOutcome, type ResultsMarket, type ResultsResponse, type ScoreEvent, type SgpBookError, type SgpLegInput, type SgpLegQuote, type SgpMultiQuoteResponse, type SgpQuoteResponse, type Sport, type StatsResponse, type SteamMove, type StreamOptions, type TrendLastGame, type TrendStreak, type UpdateWebhookOptions, VERSION, type VerifySignatureOptions, type WeatherInfo, type Webhook, type WebhookDelivery, type WebhookEventType };
2419
+ export { AuthError, type BestLine, type BestLineSide, type BestPrice, type Bookmaker, type BookmakerKey, Bookmakers, type CalcEventEvOptions, type ClosingBookmaker, type ClosingMarket, type ClosingOutcome, type ClvBetInput, type ClvGradeResponse, type ClvGradedBet, type ClvSummary, type ContextResponse, type CreateWebhookOptions, type DepthLevel, type DfsPayoutTier, type DfsPayoutsResponse, type DfsPlayPayout, type EvLine, type EvOutcome, type Event, type EventBestLineResponse, type EventEvCalcResponse, type EventEvResponse, type EventProjectionsResponse, type ExportOddsHistoryOptions, type ExportResolvedPropsOptions, type FuturesEvent, type FuturesMarket, type FuturesOutcome, type GetDfsPayoutsOptions, type GetEventBestLineOptions, type GetEventEvOptions, type GetEventProjectionsOptions, type GetMlbGrandSalamiOptions, type GetMovementOptions, type GetNhlDailyGoalsTotalOptions, type GetOddsClosingOptions, type GetOddsHistoryOptions, type GetOddsOptions, type GetPlayerGamesOptions, type GetPlayerHistoryOptions, type GetPlayerTrendsOptions, type GetResultsOptions, type GetScoresOptions, type GetStatsOptions, type HitRateSplit, type LineMovementPrice, type LineMovementWebhookPayload, type ListWebhookDeliveriesOptions, type Market, type MarketSummary, type MlbGrandSalamiBook, type MlbGrandSalamiResponse, type MovementBookmaker, type MovementMarket, type MovementOutcome, type MovementResponse, type NhlDailyGoalsTotalBook, type NhlDailyGoalsTotalResponse, type OddsClosingResponse, type OddsHistoryBookmaker, type OddsHistoryMarket, type OddsHistoryOutcome, type OddsHistoryResponse, type OddsResponse, type Outcome, type OutcomeSnapshot, type PeriodFilter, type PlayerGame, type PlayerGameLog, type PlayerHistoryEntry, type PlayerHistoryResponse, type PlayerMarketTrend, type PlayerStat, type PlayerTrends, type ProjectionRow, PropLine, PropLineError, type PropLineErrorInfo, type PropLineOptions, type QuotaStatus, RateLimitError, type ReplayEvent, type ReplayPage, type ReplayWebhookEventsOptions, type ResolutionSummary, type ResolutionSummaryMarket, type ResolutionSummarySport, type ResolvedOutcome, type ResultsMarket, type ResultsResponse, type ScoreEvent, type SgpBookError, type SgpLegInput, type SgpLegQuote, type SgpMultiQuoteResponse, type SgpQuoteResponse, type Sport, type StatsResponse, type SteamMove, type SteamWebhookPayload, type StreamOptions, type TrendLastGame, type TrendStreak, type UpdateWebhookOptions, VERSION, type VerifySignatureOptions, type WeatherInfo, type Webhook, type WebhookDelivery, type WebhookEventType };
package/dist/index.js CHANGED
@@ -169,6 +169,7 @@ var PropLine = class {
169
169
  if (bookmakersParam !== void 0) params.bookmakers = bookmakersParam;
170
170
  if (options.includeLinks) params.includeLinks = "true";
171
171
  if (options.includeBookIds) params.includeBookIds = "true";
172
+ if (options.includeDepth) params.includeDepth = "true";
172
173
  const sp = encodeURIComponent(sport);
173
174
  if (options.eventId !== void 0) {
174
175
  return this._request(
@@ -221,9 +222,9 @@ var PropLine = class {
221
222
  /**
222
223
  * Get the opening AND closing line per `(book, market, outcome)` for an
223
224
  * event. Closing is the last snapshot at or before commence_time
224
- * (`price` / `point` / `closing_at`); opening is the first snapshot in
225
- * the same 14-day pre-kickoff window (`opening_price` / `opening_point`
226
- * / `opening_at`). Canonical CLV helper: replaces "fetch full history →
225
+ * (`price` / `point` / `closing_at`); opening is the first snapshot
226
+ * PropLine holds for the outcome, however far before kickoff the book
227
+ * posted it (`opening_price` / `opening_point` / `opening_at`). Canonical CLV helper: replaces "fetch full history →
227
228
  * find the first and last pre-game rows" with one call.
228
229
  *
229
230
  * Compare the *points* as well as the prices — on spreads and totals
@@ -241,6 +242,9 @@ var PropLine = class {
241
242
  if (periodParam3 !== void 0) params.period = periodParam3;
242
243
  const bookmakersParam3 = _bookmakersParam(options.bookmakers);
243
244
  if (bookmakersParam3 !== void 0) params.bookmakers = bookmakersParam3;
245
+ if (options.openingWindow !== void 0) {
246
+ params.opening_window = String(options.openingWindow);
247
+ }
244
248
  return this._request(
245
249
  "GET",
246
250
  `/sports/${encodeURIComponent(sport)}/events/${encodeURIComponent(String(eventId))}/odds/closing`,
@@ -273,7 +277,7 @@ var PropLine = class {
273
277
  return this._request("GET", "/dfs/payouts", { params });
274
278
  }
275
279
  /**
276
- * Synthetic MLB Grand Salami for a given UTC date — total runs scored
280
+ * Synthetic MLB Grand Salami for a given US Eastern date — total runs scored
277
281
  * across every MLB game on the slate, plus each book's implied Grand
278
282
  * Salami line (median of per-game primary totals across our MLB books).
279
283
  *
@@ -291,7 +295,7 @@ var PropLine = class {
291
295
  );
292
296
  }
293
297
  /**
294
- * Synthetic NHL Daily Goals Total for a given UTC date — total goals
298
+ * Synthetic NHL Daily Goals Total for a given US Eastern date — total goals
295
299
  * scored (incl. OT/SO) across every NHL game on the slate, plus each
296
300
  * book's implied Daily Goals Total line (median of per-game primary
297
301
  * totals across our NHL books).
@@ -383,6 +387,8 @@ var PropLine = class {
383
387
  }
384
388
  params.period = _periodParam(options.period);
385
389
  params.bookmakers = _bookmakersParam(options.bookmakers);
390
+ if (options.since) params.since = options.since;
391
+ if (options.includeBookIds) params.includeBookIds = "true";
386
392
  return this._request(
387
393
  "GET",
388
394
  `/sports/${encodeURIComponent(sport)}/events/${encodeURIComponent(String(eventId))}/movement`,
@@ -1072,7 +1078,7 @@ var Bookmakers = {
1072
1078
  POLYMARKET: "polymarket",
1073
1079
  PRIZEPICKS: "prizepicks"
1074
1080
  };
1075
- var VERSION = "0.52.0";
1081
+ var VERSION = "0.54.0";
1076
1082
  export {
1077
1083
  AuthError,
1078
1084
  Bookmakers,