mirror of
https://github.com/koala73/worldmonitor.git
synced 2026-04-26 09:35:02 +02:00
feat(predictions): add Kalshi as prediction market data source (#1355)
* feat(predictions): add Kalshi as prediction market data source * fix(predictions): address Kalshi integration review feedback - Gate Kalshi fetch behind category check to avoid wasted calls on tech-scoped requests - Replace fragile double-cast bootstrap typing with BootstrapMarket interface - Fix zero-price falsy bug in seed script using Number.isFinite guard - Align RPC market selection with seed script (highest-volume via single-pass loop) - Raise Kalshi volume threshold to 5000 for signal quality parity - Add missing .prediction-source badge CSS with per-source color variants * fix(predictions): address P1/P2 review items for Kalshi integration - Apply isExcluded() filter and volume threshold (5000) to live Kalshi RPC path so cache-miss results match seed curation quality - Include FINANCE_TAGS in seed allTags so 'markets' tag is fetched - Align Kalshi title mapping (market.title || event.title) between seed and RPC handler - Remove silent geopolitical fallback for finance variant so missing finance bootstrap falls through to RPC fetch Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(predictions): prefer yes_sub_title for Kalshi multi-contract events For multi-contract Kalshi events (e.g. papal election candidates), market.title is the generic event question while yes_sub_title identifies the specific contract. Use yes_sub_title when present in both seed and RPC paths so titles are accurate and consistent. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix(predictions): use general Kalshi trading API subdomain Switch from api.elections.kalshi.com (elections-only) to trading-api.kalshi.com so economy, crypto, and other non-election markets are included in the finance variant. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Elie Habib <elie.habib@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5729,6 +5729,29 @@ a.prediction-link:hover {
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.prediction-source {
|
||||
display: inline-block;
|
||||
font-size: 8px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
padding: 1px 5px;
|
||||
border-radius: 3px;
|
||||
margin-bottom: 3px;
|
||||
background: var(--border);
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
.prediction-source[data-source="kalshi"] {
|
||||
background: rgba(59, 130, 246, 0.15);
|
||||
color: var(--semantic-info, #3b82f6);
|
||||
}
|
||||
|
||||
.prediction-source[data-source="polymarket"] {
|
||||
background: rgba(139, 92, 246, 0.15);
|
||||
color: var(--accent, #8b5cf6);
|
||||
}
|
||||
|
||||
/* Monitors */
|
||||
.monitor-input-container {
|
||||
margin-bottom: 12px;
|
||||
|
||||
Reference in New Issue
Block a user