This commit is contained in:
2026-04-23 22:23:35 +03:00
parent 4896323e04
commit 9e04ca5627
13 changed files with 1286 additions and 114 deletions
+88
View File
@@ -141,6 +141,93 @@ export interface MarketBoardEntryDto {
[key: string]: unknown;
}
// ========================
// V28 Odds-Band Engine DTOs
// ========================
export interface OddsBandEntryDto {
win_rate?: number;
draw_rate?: number;
lose_rate?: number;
over_rate?: number;
under_rate?: number;
yes_rate?: number;
no_rate?: number;
odd_rate?: number;
even_rate?: number;
"1x_rate"?: number;
"x2_rate"?: number;
"12_rate"?: number;
"1x_sample"?: number;
"x2_sample"?: number;
"12_sample"?: number;
sample: number;
[key: string]: unknown;
}
export interface OddsBandCardsDto {
referee_avg: number;
referee_over_rate: number;
referee_sample: number;
team_avg: number;
team_over_rate: number;
team_sample: number;
combined_over_rate: number;
sample: number;
}
export interface OddsBandHtftComboDto {
rate: number;
sample: number;
}
export interface TripleValueEntryDto {
v27_prob?: number;
band_rate: number;
implied_prob: number;
combined_prob?: number;
edge: number;
band_sample: number;
confirmations?: number;
is_value: boolean;
}
export type HtftComboKey =
| "11" | "1x" | "12"
| "x1" | "xx" | "x2"
| "21" | "2x" | "22";
export interface V27EngineDto {
version: string;
approach?: string;
consensus?: "AGREE" | "DISAGREE";
predictions?: Record<string, Record<string, number>>;
divergence?: Record<string, Record<string, number>>;
value_edge?: Record<string, Record<string, unknown>>;
odds_band?: {
ms_home?: OddsBandEntryDto;
ms_away?: OddsBandEntryDto;
ou25?: OddsBandEntryDto;
ou15?: OddsBandEntryDto;
ou35?: OddsBandEntryDto;
btts?: OddsBandEntryDto;
dc?: OddsBandEntryDto;
ht_home?: OddsBandEntryDto;
ht_away?: OddsBandEntryDto;
ht_ou05?: OddsBandEntryDto;
ht_ou15?: OddsBandEntryDto;
oe?: OddsBandEntryDto;
cards?: OddsBandCardsDto;
htft?: Record<HtftComboKey, OddsBandHtftComboDto>;
[key: string]: unknown;
};
triple_value?: Record<string, TripleValueEntryDto>;
}
// ========================
// Main Prediction DTOs
// ========================
export interface MatchPredictionDto {
model_version: string;
match_info: MatchInfoDto;
@@ -157,6 +244,7 @@ export interface MatchPredictionDto {
market_board: Record<string, MarketBoardEntryDto>;
reasoning_factors: string[];
ai_commentary?: string | null;
v27_engine?: V27EngineDto;
}
export interface ValueBetDto {