All notable changes to @sharp-api/client are documented here.
- Update
repository.urlandbugsURLs inpackage.jsonto use the canonicalSharpAPI-TSrepo name (was lowercasesharpapi-ts, redirected by GitHub but worth making canonical on npm). Metadata-only release; no code changes.
TeamRef (and the Team reference-endpoint shape) gain five additional
optional fields:
logo— full CDN URL. ~93% coverage.city— e.g."Arizona"for the Diamondbacks.mascot— e.g."Diamondbacks".conference— e.g."NL","AFC","Western".division— e.g."West Division","NL East","Pacific Division".
All five default to undefined and are additive — older servers omit
them and 0.3.0 client code keeps working unchanged.
Every odds row, opportunity row, and reference-list row may now carry
optional structured reference objects alongside the existing flat fields.
All new fields are optional and additive — clients on older API
versions (or talking to older API servers) see undefined and behave
identically.
New interfaces:
TeamRef—{ id?, numerical_id?, name?, abbreviation? }(latter only on team-sport competitors)SportRef—{ id?, name?, numerical_id? }EntityRef—{ id?, label?, numerical_id? }(used for league / market / sportsbook refs)NestedRefs— bundle (home,away,sport_ref,league_ref,market_ref,sportsbook_ref) extended onto row-shaped typesMarket—{ market_type, market_label?, ..., numerical_id? }for the/marketsreference endpointTeam—{ id, name?, sport?, league?, abbreviation?, numerical_id? }for the/teamsreference endpoint
Existing types now extend NestedRefs:
NormalizedOdds,EVOpportunity,ArbitrageOpportunity,MiddleOpportunityEventextends a subset (home,away,sport_ref,league_ref— no per-book / per-market refs on the event row itself)
New optional fields on existing types:
ArbitrageLeg—sportsbook_ref?: EntityRefClosingOdd—market_ref?: EntityRef,sportsbook_ref?: EntityRefClosingSnapshot—home?,away?,sport_ref?,league_ref?Sport,League,Sportsbook—numerical_id?: number
New typed shape:
LowHoldOpportunity— was previously untyped. Now a typed interface so nested refs surface alongside the flat fields.
No existing field was renamed, retyped, or removed. Code that does not reference the new properties continues to compile without changes.