Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Betting Brain V3

БесплатноНе проверен

Provides betting intelligence and analytics tools including exposure, CLV, sharp scoring, live betting, and Fantasy402 integration, running on Cloudflare Edge.

GitHubEmbed

Описание

Provides betting intelligence and analytics tools including exposure, CLV, sharp scoring, live betting, and Fantasy402 integration, running on Cloudflare Edge.

README

CI Security Link Check License: MIT TypeScript

Zero-downtime, zero-config, zero-cost betting intelligence layer running entirely on Cloudflare Edge.

🚀 Quick Start📊 Dashboards🤖 MCP Tools📚 Documentation

🌲 Floor Control Dashboard

🏥 Current System Health

Component Status Details
Worker ✅ UP Operational and responding
Pages ❌ DOWN Local development mode
Grafana ❌ DOWN Local development mode
Forest Health ✅ UP All core services operational
Dependencies ✅ FRESH Bun 1.2.23, all packages current
Release ✅ CURRENT v3.3.0 deployed

🤖 MCP Tools Available (24)

Intelligence APIsLive BettingFantasy402 IntegrationSystem Management

📊 Core Analytics Tools (11)

Tool Description Category
getBettingExposure Real-time betting exposure metrics Risk Management
getCLV Closing Line Value analysis for customers Customer Analytics
getHoldPercentage Hold percentage and volume metrics Financial Analytics
getSharpScore Sharp customer scoring and identification Customer Profiling
getClosingLineValue Closing line value analysis Market Analysis
getTimeSeriesCLV CLV trends over time with rolling metrics Time Series
getEnhancedSharpScore Multi-dimensional customer profiling Advanced Analytics
getHoldForecast Predictive hold percentage analytics Forecasting
getHandleAndHold Total betting handle and hold percentage Volume Analytics
getCustomerVolume Customer volume analytics with segmentation Customer Analytics
getTimeSeriesAnalytics Flexible time-series analysis with anomaly detection Advanced Analytics

Live Betting & Risk Tools (4)

Tool Description Category
getLiveBettingTicker Real-time betting ticker with active wagers Live Data
getSteamMoves 3-sigma steam move detection with severity classification Risk Detection
getRiskConcentration Risk clustering analysis by event/customer/market Risk Analysis
getSharpActivity Recent betting actions from identified sharp customers Activity Monitoring

🎯 Fantasy402 Integration Tools (8)

Tool Description Category
getRawFeedSamples Fantasy402 raw feed samples for exploration Data Exploration
getParsedBetData Parsed betting data with ShortDesc analysis Data Processing
getRawFeedHealth Raw feed processing statistics and health metrics System Health
searchRawFeeds Search raw Fantasy402 feeds by content patterns Data Search
searchCustomers Search customers by name/email/phone/ID Customer Search
getAgentProfile Detailed agent profile information Agent Management
getCommunicationMessages Communication messages and logs Communication
getAccountInfoOwner Account owner information Account Management

🔧 System Tools (3)

Tool Description Category
forest-status Grove health monitoring System Monitoring
deploy-dashboards Dashboard deployment Deployment
release Version management Release Management

📊 Test Health Status

Metric Status Details
Test Files ✅ 25 total Unit, integration, performance tests
Analytics Stub ✅ Available Mock analytics engine for testing
Coverage ✅ 81%+ Run bun run test:coverage for metrics
AI-Friendly Testing ✅ Enabled bun run test:ai for quiet output
Performance Tests ✅ Passing All performance benchmarks met
Forest Grove System ✅ Active Smart caching and environment detection

📚 Documentation & Resources

🚀 Dashboards deploy automatically on release. Open HTML dashboards locally or visit Grafana setup guide to import the JSON.

🎯 Development Rules & Standards

AI-Native DevelopmentQuality StandardsSecurity PatternsTesting Excellence

Rule Category Description Key Rules
🤖 AI Development Cursor Rules - AI development standards Bun runtime, MCP integration, testing patterns
📏 Quality Standards Quality Standards - Code quality enforcement Type safety, constants, utilities, error handling
🔐 Security Patterns Security Patterns - Production security Input validation, SQL injection prevention, rate limiting
🧪 Testing Excellence Testing Patterns - Comprehensive testing Forest Grove system, AI-friendly output, analytics stub
🏗️ Architecture API Patterns - System architecture Endpoint routing, database patterns, Cloudflare Workers
📝 Documentation Documentation - Documentation standards File naming, root organization, code searchability

🎯 What Changed in v3.3.0

Major EnhancementsAI-Native DevelopmentQuality & SecurityDeveloper Experience

🌲 Forest Grove System

Feature Description Impact
Integrated Testing Complete Forest Grove testing system with AI-friendly output 90% reduction in test output verbosity
Smart Caching Test result caching to skip passing tests Faster test execution, reduced CI time
Environment Detection Auto-detects AI environments (Claude Code, Replit, etc.) Seamless AI development experience
Test Organization Categorized by type (unit, integration, performance, snapshot) Better test management and discovery
Scope Management Environment-specific test scopes (dev, ci, ai, pre-commit) Targeted testing for different contexts

🔍 Code Searchability Enhancement

Enhancement Description Benefits
ast-grep Integration 50+ search patterns across 10 enhanced rules Instant code pattern detection
Pattern Discovery Anti-pattern identification and quality enforcement Automated code quality checks
Quality Enforcement Automated code quality issue detection Consistent code standards
Developer Productivity Enhanced code navigation and understanding Faster development cycles

📝 Rule Versioning & Frontmatter

Standard Description Coverage
100% Standardized All 25 Cursor rules have standardized frontmatter Complete rule consistency
Dependency Mapping Clear rule relationships and hierarchy Better rule organization
Version Management Semantic versioning across all rules Trackable rule evolution
Metadata Completeness Version, lastUpdated, dependencies for all rules Full rule documentation

🏗️ Core Architecture

Component Description Benefits
Edge-Native Runs entirely on Cloudflare Edge (D1, Workers, Queues, Analytics Engine) Global performance, zero cold starts
Typed Full TypeScript with Zod validation for all inputs/outputs Type safety, runtime validation
Auto-Scaling Queues scale to zero when empty Cost optimization, resource efficiency
Cost-Cap Hard-wired cost controls with graceful degradation Budget protection, predictable costs
1-Command Roll-out Single command deployment with instant rollback Simplified deployment, risk mitigation

🚀 Quick Start (30 seconds)

Get up and running in under 30 secondsZero configuration requiredProduction-ready deployment

📋 Prerequisites

Requirement Status Notes
Bun Runtime ✅ Required Install Bun
Cloudflare Account ✅ Required Sign up for free
Git ✅ Required For cloning the repository

🚀 Deployment Steps

Step 1: Clone & Install

# Clone the repository
git clone https://github.com/brendadeeznuts1111/betting-brain-v3.git
cd betting-brain-v3

# Install dependencies (Bun runtime required)
bun install

# Login to Cloudflare (one-time setup)
wrangler login

Step 2: Deploy to Production

# Deploy to production (follows [Deployment Patterns](.cursor/rules/cloudflare-workers.mdc))
bun run deploy:prod

Step 3: Verify Deployment

# Check system health (follows [Quality Standards](.cursor/rules/quality-standards.mdc))
bun run forest h

# Run comprehensive tests (follows [Testing Patterns](.cursor/rules/testing-patterns.mdc))
bun run test:ai

📦 v1.0 Cache Optimization Ready

Status: Ready for deployment ✅ Performance: 90%+ cache hit rate, 93.3% D1 write reduction ✅ Integration: 50 Cloudflare services (46 bindings + 4 crons)

Quick Deploy:

./deployment/scripts/deploy-v1.0.sh

Full Documentation:

Live in 60 seconds with auto-generated Grafana dashboard!

🧪 One-Click CI

Comprehensive testing pipelineZero zombie processesAI-friendly outputProduction-ready validation

🚀 CI Commands

Command Description Use Case
bun run ci Full CI pipeline (security, lint, type-check, tests, build) Pre-commit validation
bun run ci:quick Quick CI (skip slow checks) Fast development feedback
bun test Run all tests Test-only validation
bun run test:ai AI-friendly test output AI development environments

CI Features

Feature Description Benefit
Zero Zombie Processes Automatic cleanup of spawned processes No resource leaks, clean CI runs
Timeout Enforcement 10s default timeout for all operations Prevents hanging CI jobs
Signal Handling Ctrl+C cleanup for graceful shutdown Better developer experience
Detailed Reporting Comprehensive test and build reports Clear feedback on issues
Exit Code Handling Proper exit codes for CI integration Reliable CI/CD pipeline

📚 Related Documentation

📊 Core Metrics

Real-time monitoringAutomated alertsCost optimizationQuality assurance

🎯 Key Performance Indicators

Metric Alert Threshold Cost Cap Unit Test Documentation
CLV < -2% 1k customers/hour clv.test.ts Customer Analytics
Hold % < 4% or > 8% 300s cache hold.test.ts Financial Analytics
Exposure > $50k or > 60% 50 rows/event exposure.test.ts Risk Management
Sharp Score > 60 top-100 only sharp.test.ts Customer Profiling
Steam Move ≥ 3σ in ≤ 60s 5min dedupe steam.test.ts Risk Detection

📈 Monitoring & Alerts

Component Monitoring Alerting Documentation
Performance Real-time metrics Automated thresholds Quality Standards
Cost Management Resource usage tracking Budget alerts Cost Optimization
Security Threat detection Security alerts Security Patterns
Quality Code quality metrics Quality gates Testing Patterns

🗄️ Database Schema

Edge-native storageType-safe queriesAutomated migrationsPerformance optimized

📊 Database Architecture

Database Purpose Tables Documentation
ANALYTICS Main betting analytics database 32 tables Database Patterns
RAW_FEED_DB Fantasy402 data ingestion 20 tables Data Ingestion

🏗️ Core Analytics Tables

Real-time analyticsTime-series dataCustomer profilingRisk management

Line Movements (7-day TTL, ROWID+LZ4)

CREATE TABLE line_movements (
  eid  TEXT NOT NULL,           -- Event ID
  mt   TEXT NOT NULL,           -- Market Type (SPREAD, MONEYLINE, TOTAL, PROP)
  lb   REAL,                    -- Line Before
  la   REAL,                    -- Line After
  vb   INTEGER,                 -- Volume Before
  va   INTEGER,                 -- Volume After
  ts   TEXT NOT NULL,           -- Timestamp (ISO 8601)
  ing  TEXT DEFAULT (datetime('now')) -- Ingestion timestamp
) STRICT;

Sharp Indicators (hourly refresh)

CREATE TABLE sharp_indicators (
  cid  TEXT PRIMARY KEY,        -- Customer ID
  clv  REAL NOT NULL,           -- Customer Lifetime Value
  wr   REAL NOT NULL,           -- Win Rate (0-100)
  ao   INTEGER NOT NULL,        -- Action Count
  nb   REAL NOT NULL,           -- Net Bet
  upd  TEXT DEFAULT (datetime('now')) -- Update timestamp
) STRICT;

Exposure Tracking (30s refresh)

CREATE TABLE exposure_tracking (
  eid  TEXT NOT NULL,           -- Event ID
  side TEXT NOT NULL,           -- Side (HOME/AWAY)
  risk INTEGER NOT NULL,        -- Risk Amount (cents)
  net  INTEGER NOT NULL,        -- Net Exposure (cents)
  ts   TEXT NOT NULL,           -- Timestamp for time-series
  upd  TEXT DEFAULT (datetime('now')), -- Update timestamp
  PRIMARY KEY (eid, side)
) STRICT, WITHOUT ROWID;

Steam Dedupe (5min TTL)

CREATE TABLE steam_dedupe (
  eid  TEXT NOT NULL,           -- Event ID
  mt   TEXT NOT NULL,           -- Market Type
  ts   TEXT NOT NULL,           -- Timestamp
  PRIMARY KEY (eid, mt)
) STRICT, WITHOUT ROWID;

MCP Analytics Tables

Bet History

CREATE TABLE bet_history (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  cid TEXT NOT NULL,              -- Customer ID
  stake REAL NOT NULL,            -- Bet amount (stake)
  payout REAL NOT NULL,           -- Payout amount (0 if loss)
  result TEXT,                    -- WIN, LOSS, PUSH, PENDING
  ts TEXT NOT NULL,               -- Timestamp (ISO 8601)
  market_type TEXT,               -- SPREAD, MONEYLINE, TOTAL, PROP
  event_id TEXT,                  -- Event ID
  time_to_event INTEGER,          -- Seconds until event start
  created_at TEXT DEFAULT (datetime('now'))
) STRICT;

Hold Tracking

CREATE TABLE hold_tracking (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  eid TEXT NOT NULL,              -- Event ID
  mt TEXT NOT NULL,               -- Market Type
  hold_pct REAL NOT NULL,         -- Hold percentage (0-100)
  volume REAL NOT NULL,           -- Total betting volume
  ts TEXT NOT NULL,               -- Timestamp (ISO 8601)
  created_at TEXT DEFAULT (datetime('now'))
) STRICT;

Fantasy402 Data Ingestion Tables

Raw Feed

CREATE TABLE fantasy402_raw_feed (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  packet_id TEXT UNIQUE NOT NULL,
  timestamp TEXT NOT NULL,
  endpoint TEXT NOT NULL,
  operation TEXT NOT NULL,
  method TEXT NOT NULL,
  url TEXT NOT NULL,
  request_body TEXT,
  response_status INTEGER NOT NULL,
  response_body TEXT,
  duration_ms INTEGER,
  agent_id TEXT,
  customer_id TEXT,
  jwt_user_id TEXT,
  jwt_office TEXT,
  jwt_expires_at TEXT,
  jwt_valid BOOLEAN,
  metadata TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Agent Performance

CREATE TABLE fantasy402_agent_performance (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  agent_id TEXT NOT NULL,
  agent_owner TEXT,
  period_start TEXT NOT NULL,
  period_end TEXT NOT NULL,
  period_type TEXT,
  period_number INTEGER,
  period_name TEXT,
  total_risk REAL DEFAULT 0,
  total_win REAL DEFAULT 0,
  total_commission REAL DEFAULT 0,
  net_income REAL DEFAULT 0,
  total_wagers INTEGER DEFAULT 0,
  pending_wagers INTEGER DEFAULT 0,
  settled_wagers INTEGER DEFAULT 0,
  free_play_used REAL DEFAULT 0,
  free_play_win REAL DEFAULT 0,
  sport_breakdown_json TEXT,
  captured_at TEXT NOT NULL,
  raw_response_json TEXT,
  CONSTRAINT unique_performance UNIQUE (agent_id, period_start, period_end, captured_at)
);

Player Information

CREATE TABLE fantasy402_players (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  customer_id TEXT UNIQUE NOT NULL,
  agent_id TEXT,
  player_name TEXT,
  player_type TEXT,
  office TEXT,
  status TEXT,
  registration_date TEXT,
  last_login TEXT,
  total_wagers INTEGER DEFAULT 0,
  total_risk REAL DEFAULT 0,
  total_win REAL DEFAULT 0,
  net_income REAL DEFAULT 0,
  commission_rate REAL DEFAULT 0,
  credit_limit REAL DEFAULT 0,
  available_balance REAL DEFAULT 0,
  pending_balance REAL DEFAULT 0,
  free_play_balance REAL DEFAULT 0,
  currency_code TEXT DEFAULT 'USD',
  active BOOLEAN DEFAULT 1,
  suspend_sportsbook BOOLEAN DEFAULT 0,
  read_only BOOLEAN DEFAULT 0,
  wager_limit REAL DEFAULT 0,
  minimum_wager REAL DEFAULT 0,
  max_prop_payout REAL DEFAULT 0,
  permissions_json TEXT,
  preferences_json TEXT,
  contact_info_json TEXT,
  raw_response_json TEXT,
  captured_at TEXT NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Player Performance

CREATE TABLE fantasy402_player_performance (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  customer_id TEXT NOT NULL,
  agent_id TEXT NOT NULL,
  period_start TEXT NOT NULL,
  period_end TEXT NOT NULL,
  period_type TEXT DEFAULT 'CP',
  period_number INTEGER DEFAULT -1,
  period_name TEXT DEFAULT 'Custom',
  total_risk REAL DEFAULT 0,
  total_win REAL DEFAULT 0,
  total_commission REAL DEFAULT 0,
  net_income REAL DEFAULT 0,
  total_wagers INTEGER DEFAULT 0,
  pending_wagers INTEGER DEFAULT 0,
  settled_wagers INTEGER DEFAULT 0,
  free_play_used REAL DEFAULT 0,
  free_play_win REAL DEFAULT 0,
  sport_breakdown_json TEXT,
  captured_at TEXT NOT NULL,
  raw_response_json TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Transaction Tracking

CREATE TABLE fantasy402_transactions (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  document_number TEXT UNIQUE NOT NULL,
  customer_id TEXT NOT NULL,
  agent_id TEXT NOT NULL,
  tran_code TEXT NOT NULL,
  tran_type TEXT NOT NULL,
  amount REAL NOT NULL,
  description TEXT,
  tran_date_time TEXT NOT NULL,
  hold_amount REAL DEFAULT 0,
  grade_num TEXT,
  entered_by TEXT,
  balance REAL NOT NULL,
  captured_at TEXT NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Pending Wagers

CREATE TABLE fantasy402_pending_wagers (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  wager_id TEXT UNIQUE NOT NULL,
  customer_id TEXT NOT NULL,
  agent_id TEXT NOT NULL,
  sport TEXT,
  bet_type TEXT,
  stake REAL DEFAULT 0,
  odds REAL DEFAULT 0,
  risk REAL DEFAULT 0,
  potential_win REAL DEFAULT 0,
  event_id TEXT,
  event_name TEXT,
  wager_date TEXT,
  status TEXT DEFAULT 'Pending',
  description TEXT,
  captured_at TEXT NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Player Analysis

CREATE TABLE fantasy402_player_analysis (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  customer_id TEXT NOT NULL,
  agent_id TEXT NOT NULL,
  report_type TEXT DEFAULT 'PlayerAnalysis',
  start_date TEXT NOT NULL,
  end_date TEXT NOT NULL,
  line_type TEXT DEFAULT 'All',
  total_wagers INTEGER DEFAULT 0,
  total_risk REAL DEFAULT 0,
  total_win REAL DEFAULT 0,
  net_income REAL DEFAULT 0,
  win_rate REAL DEFAULT 0,
  average_odds REAL DEFAULT 0,
  sports_breakdown_json TEXT,
  bet_types_breakdown_json TEXT,
  time_breakdown_json TEXT,
  raw_analysis_json TEXT,
  captured_at TEXT NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Additional Fantasy402 Tables (Not Documented in Detail)

betting-analytics database also contains:

  • agent_graph - Agent relationship mapping
  • fantasy402_account_snapshots - Account state snapshots
  • fantasy402_agents - Agent registry and metadata
  • fantasy402_authorizations - Authorization tokens and permissions
  • fantasy402_pending_summary - Aggregated pending wager summaries
  • fantasy402_player_activity - Player activity tracking
  • fantasy402_player_sport_analysis - Sport-specific player analysis
  • fantasy402_player_sport_performance - Sport-specific performance metrics
  • fantasy402_sport_performance - Overall sport performance analytics
  • fantasy402_tokens - Authentication token management
  • fantasy402_transaction_summary - Aggregated transaction summaries
  • fantasy402_weekly_figures - Weekly performance figures

fantasy42-raw-feed database contains:

  • Duplicate Fantasy402 tables for redundancy
  • Additional raw feed processing tables
  • Backup and archival tables

Database Bindings

D1 Databases

  • ANALYTICS: betting-analytics (main analytics database) - 32 tables total
  • RAW_FEED_DB: fantasy42-raw-feed (Fantasy402 data ingestion) - 20 tables total

Note: Fantasy402 tables are duplicated across both databases for redundancy and performance optimization.

Environment Variables & Configuration

Required Environment Variables

# Security & Authentication
JWT_SECRET=your-jwt-secret-here                    # JWT signing secret
EXTENSION_SECRET=default-dev-secret-change-me      # Browser extension auth

# External API Keys (for production)
PINNACLE_KEY_1=your-pinnacle-api-key-1             # Pinnacle Sports API
PINNACLE_KEY_2=your-pinnacle-api-key-2             # Rotated API key
PINNACLE_KEY_3=your-pinnacle-api-key-3             # Rotated API key
BET365_KEY=your-bet365-api-key                     # Bet365 API
SPORTSDATA_KEY=your-sportsdata-api-key             # SportsData.io API

# Monitoring & Alerts
GRAFANA_API_KEY=your-grafana-api-key               # Grafana dashboard API
SLACK_WEBHOOK_URL=https://hooks.slack.com/...      # Slack notifications

Cloudflare Account Configuration

  • Account ID: 80693377f3abb78e00820aa69a415ce4
  • Account Name: nolarose1968-806
  • Production Worker: betting-brain-v3-prod.nolarose1968-806.workers.dev
  • Staging Worker: betting-brain-v3-staging.nolarose1968-806.workers.dev

Configuration Files

  • Worker Config: wrangler.toml - Main Cloudflare Workers configuration
  • Environment Template: env.example - Environment variables template
  • TypeScript Config: tsconfig.json - TypeScript compiler configuration
  • Bun Config: bunfig.toml - Bun runtime configuration

KV Namespaces

  • BET_TICKER_RAW: Raw BetTicker API responses (7-day retention)
  • TOKEN_STORE: JWT token management
  • USER_STORE: User session data
  • SESSION_STORE: Active sessions
  • REFRESH_STORE: Token refresh data
  • LIVEBETS_STORE: Live betting data
  • FANTASY_CACHE: Fantasy402 API data cache
  • FANTASY_CONFIG_CACHE: Fantasy402 configuration cache

Analytics Engine

  • ANALYTICS_ENGINE: betting-metrics dataset for time-series analytics

Queues

  • LINE_INGRESS: Line movement ingestion (10 msg/batch, 5s timeout)
  • STEAM_WEBHOOK: Steam move notifications (5 msg/batch, 10s timeout)
  • STEAM_QUEUE: Steam processing (10 msg/batch, 2s timeout, 2 retries)
  • EXPOSURE_QUEUE: Exposure calculations (50 msg/batch, 10s timeout, 3 retries)
  • FANTASY402_QUEUE: Fantasy402 data processing (100 msg/batch, 5s timeout, 5 retries)

TTL Triggers

  • Line Movements: 7-day retention
  • Steam Dedupe: 5-minute retention
  • Sharp Indicators: 30-day retention
  • Exposure Tracking: 24-hour retention

🔧 Edge Pipeline

Real-time processingAuto-scaling queuesEvent-driven architectureZero cold starts

🚀 Pipeline Components

Component Type File Description Documentation
Ingest Queue consumer src/queues/lineIngress.ts Line movement ingestion Queue Patterns
Diff D1 trigger src/triggers/onLineMove.ts Line movement processing Database Patterns
Steam Queue → Webhook src/queues/steamWebhook.ts Steam move notifications Queue Management
Sharp Scheduled (hourly) src/schedules/sharpCalc.ts Sharp calculation Scheduling Patterns
Exposure Scheduled (30s) src/schedules/exposureCalc.ts Exposure calculation Real-time Processing
BetTicker Sniffer Transparent proxy src/interceptors/bet-ticker-sniffer.ts API interception & archiving API Interception

Performance Features

Feature Description Benefit
Auto-scaling Queues Scale to zero when empty Cost optimization, resource efficiency
Event-driven Architecture Reactive processing based on data changes Real-time responsiveness
Zero Cold Starts Edge-native execution Global performance, instant response
Type-safe Processing Full TypeScript with Zod validation Runtime safety, development confidence

🛠️ MCP Tools

AI-native intelligence APIsType-safe validationRate-limited accessZero-cost scaling

🚀 Tool Features

Feature Description Benefit
Zod Validation Input/output validation with TypeScript Type safety, runtime validation
Rate Limiting 10 req/s per IP (Cloudflare Rate-Limit rule) Fair usage, system protection
Zero Cost Free until 100k requests/day Cost-effective scaling
Auto-generated Typed intelligence APIs Consistent interface, reduced maintenance

🔧 Tool Generation

# Generate MCP tools (follows [MCP Integration](.cursor/rules/mcp-integration.mdc))
bun run codegen  # creates src/tools/intelligence/*.ts + types

📡 API Usage Example

# Get betting exposure for NBA event
curl https://betting-brain-v3-prod.nolarose1968-806.workers.dev/api/mcp -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getBettingExposure","arguments":{"eid":"nba_123"}}}'
→ {"eid":"nba_123","sides":[{"side":"HOME","risk":4200000,"net":-3800000}]}

📚 Related Documentation

💰 Cost-Cap Guardrails

Budget protectionAutomatic scalingResource optimizationPredictable costs

🛡️ Cost Protection Tiers

Tier Limit Action Documentation
Free 100k req/day Hard stop → 429 Rate Limiting
D1 5GB / 50M rows TTL auto-purge Database Patterns
Queue 1M ops/month Pause ingestion Queue Management
Analytics Engine 25M points/month Sample 10% Analytics Testing

🔧 Implementation

Component Location Purpose
Cost Guards src/guards/costCap.ts Hard-wired cost controls
Rate Limiting src/guards/rateLimit.ts Request throttling
Resource Monitoring Analytics Engine Real-time usage tracking

📚 Related Documentation

🚀 Deployment

One-command deploymentZero-downtime updatesInstant rollbackProduction-ready

🚀 Production Deployment

# Deploy to production (follows [Cloudflare Workers](.cursor/rules/cloudflare-workers.mdc))
bun run deploy:prod

Deployment Output

✔ Migrations applied (v3)
✔ 6 edge functions deployed (≈ 250 ms cold start)
✔ Queues & triggers live
✔ Grafana sidecar: https://grafana-<hash>.pages.dev
✔ Rollback tag: v3.3.0-<sha> (wrangler rollback v3.3.0-<sha>)

🔄 Rollback Strategy

# Rollback to previous version (follows [Deployment Patterns](.cursor/rules/cloudflare-workers.mdc))
bun run rollback v3.3.0-<sha>

📊 Deployment Features

Feature Description Benefit
Zero-downtime Seamless updates without service interruption Continuous availability
Instant Rollback One-command rollback to previous version Risk mitigation, quick recovery
Automated Migrations Database schema updates applied automatically Consistent deployments
Health Validation Pre-deployment health checks Quality assurance

📚 Related Documentation

📈 Monitoring

Real-time monitoringAI-native dashboardsAutomated alertsComprehensive visibility

🌲 Forest CLI - At-a-Glance Status

One-command system overviewAI-friendly outputComprehensive health checks

Forest Commands

Command Description Use Case
bun run forest Full dashboard: health, freshness, release, analytics Complete system overview
bun run forest h Health check only Quick health verification
bun run forest f Freshness check only Dependency status
bun run forest r Release status only Version management
bun run forest a Analytics status only Analytics system health

Example Output:

🌲  Forest Health
✅  worker   UP
✅  pages    UP
❌  grafana  DOWN

🌿  Freshness
Current Bun: 1.2.23
Outdated packages: 0
✨ All dependencies fresh

🏷️  Release Status
Current tag: v3.3.0
Commits ahead: 5
Run bun run release to ship.

📊  Analytics Testing
Test files: 30
Stub available: ✅
Coverage: Run tests for coverage

🤖 Floor - Autonomous Operations

Self-documentingSelf-healingSelf-deployingAI-native validation

Floor Commands

Command Description Use Case
bun run floor:health Complete health check (lint, types, tests, coverage, security) Pre-deployment validation
bun run floor:test 60-second smoke test (validates entire system end-to-end) Comprehensive system validation
bun run floor:test:quick Quick smoke test (10 seconds, skips optional checks) Fast validation
bun run floor:deploy Deploy with health check (circuit breaker on failure) Safe deployment
bun run floor:status Live system status Real-time monitoring
bun run floor:fix Auto-fix issues Automated maintenance
bun run floor:voice List MCP tools Tool discovery
bun run floor:mcp Start MCP server AI assistant integration

Example Output:

╔══════════════════════════════════════╗
║  🤖 Floor Health Check               ║
╚══════════════════════════════════════╝

✅ Lint Check          PASS (0 errors)
⚠️  Type Check         DEGRADED (154 known issues, non-blocking)
✅ Test Suite          PASS (441/584, 75.5% pass rate)
✅ Coverage            PASS (81%, target: 81%)
✅ Security Audit      PASS (99 hints, 0 errors)

🟢 Overall Health: 95% (Ready to Deploy)

Floor System Features:

  • ✅ One-command health validation (bun run floor:health)
  • ✅ 60-second smoke test proves entire system works (bun run floor:test)
  • ✅ Circuit breaker prevents bad deployments (auto-gates on failure)
  • ✅ Live status endpoint (GET /floor/status)
  • ✅ Auto-fix common issues (bun run floor:fix)
  • ✅ MCP server for AI assistant integration (bun run floor:mcp)

📖 Floor System Documentation | Floor Smoke Test | Command Reference

Live Endpoints (Auto-Deployed)

  • Worker Health: GET https://betting-brain-v3-prod.nolarose1968-806.workers.dev/health
  • Metrics: GET https://betting-brain-v3-prod.nolarose1968-806.workers.dev/metrics (Prometheus format)
  • Dashboards: HTML Dashboards (local) or Cloudflare Pages (deployed)
  • Grafana: Import JSON from monitoring/grafana/dashboard.json

Automation Status

  • Dashboards deploy on every release tag
  • Dependencies updated weekly (PR created automatically)
  • Health checked every 6 hours (Slack alert if down)
  • Analytics stub enforced in CI (no test drift)
  • Release automation (bump, changelog, deploy on tag push)

Traditional Monitoring

  • Grafana Dashboard: Auto-provisioned at deployment (17 panels)
  • Cost Alerts: Built-in cost cap monitoring (D1, Queues, Analytics)
  • Performance Metrics: Edge function performance tracking
  • Error Tracking: Comprehensive error logging

🔐 Security

Production-ready securityAutomated enforcementZero vulnerabilitiesComprehensive protection

🛡️ Security Features

Feature Status Details Documentation
ast-grep Enforcement ✅ Active 20 security rules enforced in CI Security Patterns
Zero Blocking Violations ✅ Clean 0 blocking violations (99 hints for optimization) Code Quality
Pinned Versions ✅ Secure Bun 1.2.23, ast-grep 0.39.5 Dependency Management
Cached Builds ✅ Fast ~8s warm runs CI Integration
Rate Limiting ✅ Active 10 req/s per IP Rate Limiting
Input Validation ✅ Enforced Zod schemas for all inputs API Patterns
Cost Guards ✅ Active Hard limits on resource usage Cost Optimization
Circuit Breakers ✅ Active Graceful degradation on failures Quality Standards

⚠️ Security Notes

Component Note Recommendation
Rate Limiting Uses in-memory storage per worker instance For multi-instance deployments, consider Cloudflare Durable Objects
Current Implementation Suitable for most single-region deployments Monitor and scale as needed

📚 Related Documentation

📁 Project Structure

Organized architectureClear separation of concernsScalable designMaintainable codebase

🏗️ Directory Structure

betting-brain-v3/
├── src/                         # Source code
│   ├── index.ts                 # Main entry point
│   ├── types/                   # TypeScript definitions
│   ├── guards/                  # Cost-cap and rate limiting
│   ├── queues/                  # Queue consumers
│   ├── triggers/                # D1 triggers
│   ├── schedules/               # Cron jobs
│   ├── tools/                   # MCP tools (auto-generated)
│   ├── interceptors/            # API interception (BetTicker Sniffer)
│   └── utils/                   # Shared utilities
├── dashboards/                  # Betting intelligence dashboards
│   ├── dashboard.html           # Basic monitoring
│   ├── dashboard-enhanced.html  # Advanced analytics
│   ├── dashboard-pro.html       # AI intelligence hub
│   └── dashboard-positions.html # Position & risk tracker
├── tools/                       # HTML tools and utilities
│   ├── capture-live-data.html   # Data capture tool
│   ├── diagnostic-suite.html    # System diagnostics
│   └── test-*.html             # Testing utilities
├── tests/                       # Comprehensive test suite
│   ├── unit/                    # Unit tests
│   ├── integration/             # Integration tests
│   ├── e2e/                     # End-to-end tests
│   ├── setup/                   # Test setup and configuration
│   ├── mocks/                   # Shared mocks and test data
│   └── utils/                   # Test utilities
├── docs/                        # Documentation
│   ├── guides/                  # User guides
│   ├── dashboards/              # Dashboard documentation
│   ├── testing/                 # Testing documentation
│   └── deployment/              # Deployment documentation
├── browser-extension/           # Browser extension for auto-capture
├── config/                      # Configuration files
├── deployment/                  # Deployment scripts and configs
├── monitoring/                  # Grafana and monitoring
├── migrations/                  # D1 database migrations
├── scripts/                     # Build and automation scripts
└── .github/                     # CI/CD workflows

📚 Structure Documentation

Directory Purpose Documentation
src/ Core application code API Patterns
dashboards/ HTML dashboards Dashboard Documentation
tools/ HTML tools and utilities Tools & Utilities
tests/ Test suite Testing Patterns
docs/ Documentation Documentation
browser-extension/ Browser extension Browser Extension
migrations/ Database migrations Database Patterns
scripts/ Build and automation CI Integration

🧪 Testing

🌲 Forest Grove Testing System

Integrated testing with AI-friendly output and smart caching:

# Basic Testing
bun test                    # Run all tests
bun run test:unit          # Unit tests only
bun run test:integration   # Integration tests only
bun run test:coverage      # With coverage
bun run test:ai            # AI-friendly output

# Environment-Specific Testing
bun run test:integration:dev   # Development environment
bun run test:integration:ci    # CI environment
bun run test:integration:ai    # AI environment
bun run test:integration:pre-commit  # Pre-commit environment

# Test Management
bun run test:scope:list   # List available test scopes
bun run test:scope:dev    # Run development scope
bun run test:scope:ci     # Run CI scope
bun run test:scope:ai     # Run AI scope

🤖 AI-Friendly Testing

Optimized for AI coding assistants with quiet output:

# Dedicated AI command (recommended)
bun run test:ai

# Environment variable approach
CLAUDECODE=1 bun test
CLAUDECODE=1 bun test tests/unit
CLAUDECODE=1 bun test --coverage

# Auto-detected in AI environments
bun run ci:local    # ✅ Auto-detects Claude Code
bun run ci:bun      # ✅ Auto-detects Replit AI

Benefits:

  • ✅ Shows only test failures (not passing tests)
  • ✅ 90% reduction in output verbosity for AI context windows
  • ✅ Preserves failure details and summaries
  • ✅ Improves readability in AI-assisted development

Environment Variables:

  • CLAUDECODE=1 - Claude Code sessions
  • REPL_ID=1 - Replit AI environments
  • AGENT=1 - Generic AI agent flag

📊 Current Test Status

Test Health:PRODUCTION READY

  • Test Files: 26 total (unit, integration, performance)
  • Analytics Stub: Available for testing
  • Performance Tests: Passing
  • AI-Friendly Output: Working
  • Smart Caching: Implemented
  • Environment Detection: Auto-detects AI environments
  • Test Organization: Categorized by type and scope

Documentation Health:Excellent

  • Core Documentation: 100% navigable
  • Testing System: Complete Forest Grove integration
  • Rule Versioning: 100% standardized frontmatter
  • Code Searchability: 40% enhanced with ast-grep patterns
  • Quality Standards: Comprehensive enforcement
  • 📊 Frontmatter & Searchability Enhancement - Complete enhancement guide
  • Testing System - Forest Grove testing documentation
  • Cursor Rules Versioning - Rule versioning summary

🎯 Fantasy402 Integration

Complete Fantasy402.com API integrationReal-time data processingBrowser extension interceptionDashboard monitoring

🚀 Supported Operations

Operation Description Status Documentation
getInfoPlayer Player information and status ✅ Active Player Info
getPerformancePlayer Player performance metrics ✅ Active Performance Analytics
getTransactionList Transaction history and summaries ✅ Active Transaction Management
getPending Pending wagers and risk exposure ✅ Active Risk Management
getReportPlayerAnalysis Comprehensive player analysis ✅ Active Player Analytics
getTransactionHistory Historical transaction data ✅ Active Data Processing

Integration Features

Feature Description Benefit Documentation
🔄 Real-time Interception Browser extension captures all API calls Zero-latency data capture Browser Extension
📊 Data Processing Parsed and normalized data storage Consistent data format Data Processing
💾 Database Storage D1 tables for all operation types Persistent data storage Database Patterns
📈 Dashboard Integration Floor Control dashboard cards Real-time monitoring Dashboard Documentation
🔍 Analytics Engine Metrics tracking and monitoring Business intelligence Analytics Testing
⚡ KV Caching Fast access to recent data Performance optimization Cache Optimization

🚀 API Endpoints

Core System Endpoints

# Health & Status
GET  /health                    # Basic health check
GET  /floor/status             # Detailed system status
GET  /api/health/dns           # DNS health check
GET  /api/health/dns/batch     # Batch DNS health check
GET  /diagnostics              # System diagnostics
GET  /system-status            # Detailed system status
GET  /logs                     # System logs

# WebSocket
WS   /ws                       # Fantasy402 WebSocket connection

MCP & Intelligence Tools

# MCP Protocol
POST /mcp                      # JSON-RPC 2.0 MCP server

# Intelligence Tools (via MCP)
POST /mcp -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getBettingExposure","arguments":{"eid":"nba_123"}}}'
POST /mcp -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getSharpScore","arguments":{"agentID":"agent_123"}}}'
POST /mcp -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getHoldPercentage","arguments":{"sport":"nba"}}}'
POST /mcp -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getCLV","arguments":{"agentID":"agent_123"}}}'

Sports & Live Data

# Live Sports Data
GET  /api/live-odds?sport=nba&market=moneyline    # Live odds aggregation
GET  /api/live-scores?sport=nba                   # Live scores
GET  /api/sports/live                             # Live sports data
GET  /api/analytics/live                          # Live analytics
GET  /api/sessions/live                           # Live session data

# Data Ingestion
POST /ingest                                     # Data ingestion (JWT required)

Fantasy402 Integration

# Fantasy402 Performance API
GET  /api/fantasy402/performance                 # Agent performance
GET  /api/fantasy402/sport-performance           # Sport performance
GET  /api/fantasy402/summary                     # Performance summary
GET  /api/fantasy402/config                      # Fantasy402 configuration

# Fantasy402 Mission Control
GET  /api/f402/mission-control                   # Mission control dashboard
GET  /api/f402/bets/live                         # Live bets
GET  /api/f402/agents/performance                # Agent performance
GET  /api/f402/agents/list                       # Agent list
GET  /api/f402/agents/tree                       # Agent tree structure
GET  /api/f402/agents/{agentID}                  # Agent details
GET  /api/f402/cache/metrics                     # Cache metrics
POST /api/f402/cache/warm                        # Warm cache
GET  /api/f402/customers/active                  # Active customers
GET  /api/f402/customers/staked                  # Staked totals
GET  /api/f402/transactions/latest               # Latest transactions
GET  /api/f402/graph                             # Agent graph data

BetTicker Sniffer

# BetTicker Interception
POST /cloud/api/Manager/getBetTicker             # Transparent proxy + KV storage

# BetTicker Analysis
GET  /interceptor/history?limit=100              # Historical responses
GET  /interceptor/response?key=raw:getBetTicker:1234567890  # Specific response
GET  /interceptor/stats                          # Response statistics

Analytics & Monitoring

# Database & Analytics
GET  /api/database/metrics                       # Database record counts
GET  /api/analytics/metrics                      # Analytics metrics
GET  /api/activity                               # System activity
GET  /api/player-analysis                        # Player analysis
GET  /api/transaction-history                    # Transaction history
GET  /api/new-users                              # New user metrics

# Core Intelligence APIs
GET  /api/events                                 # Active events
GET  /api/exposure                               # Betting exposure
GET  /api/sharp-customers                        # Sharp customers
GET  /api/steam-moves                            # Steam moves
GET  /api/clv                                    # Closing line value
GET  /api/hold                                   # Hold percentage
GET  /api/markets                                # Market data
GET  /api/customers                              # Customer data
GET  /api/stats                                  # System statistics

📊 Dashboard Integration

Component Description Refresh Rate Documentation
Floor Control Dashboard Individual cards for each operation 30 seconds Floor Control
Real-time Updates Live data synchronization 30 seconds Real-time Processing
Visual Analytics Charts and metrics display Real-time Dashboard Documentation
Error Handling Comprehensive error reporting Real-time Error Handling

📚 Related Documentation

🎯 BetTicker Sniffer

Transparent API interceptorZero client impactHistorical data analysisComprehensive metadata tracking

🚀 Sniffer Features

Feature Description Benefit Documentation
🔄 API Interception Intercepts POST /cloud/api/Manager/getBetTicker Complete data capture API Interception
💾 KV Storage Stores raw responses in KV (7-day retention) Persistent data archive Database Patterns
⚡ Zero Impact Zero performance impact (async storage) No client disruption Performance
📊 Analysis Endpoints Historical data analysis endpoints Data exploration Analytics Testing
🔍 Metadata Tracking Comprehensive metadata tracking Full audit trail Quality Standards

🚀 API Endpoints

# BetTicker Interception (Transparent Proxy)
POST /cloud/api/Manager/getBetTicker             # Intercepts and stores responses

# Analysis & Debugging
GET  /interceptor/history?limit=100              # Historical responses
GET  /interceptor/response?key=raw:getBetTicker:1234567890  # Specific response
GET  /interceptor/stats                          # Response statistics

🚀 Quick Access Examples

# View recent responses
curl https://betting-brain-v3-prod.nolarose1968-806.workers.dev/interceptor/history?limit=10

# Get specific response
curl "https://betting-brain-v3-prod.nolarose1968-806.workers.dev/interceptor/response?key=raw:getBetTicker:1728300000000"

# Get response statistics
curl https://betting-brain-v3-prod.nolarose1968-806.workers.dev/interceptor/stats

# Test interception (this will be proxied and stored)
curl -X POST https://betting-brain-v3-prod.nolarose1968-806.workers.dev/cloud/api/Manager/getBetTicker \
  -H "Content-Type: application/json" \
  -d '{"test": "data"}'

📊 Data Retention

Data Type Retention Period Storage Location Documentation
Raw Responses 7 days KV Store KV Storage
Metadata 30 days D1 Database Database Patterns
Analysis Data 90 days Analytics Engine Analytics Testing

📚 Related Documentation

📡 Complete API Reference

50+ Production EndpointsReal-time DataMCP IntegrationFantasy402 Complete

🚀 System Health & Monitoring

Endpoint Method Description Documentation
/health GET Basic health check Health Monitoring
/floor/status GET Detailed system status Floor System
/api/health/dns GET DNS health check Health Monitoring
/api/health/dns/batch GET Batch DNS health check Health Monitoring
/diagnostics GET System diagnostics System Diagnostics
/system-status GET Detailed system status System Status
/logs GET System logs Logging

🤖 MCP & Intelligence Tools

Endpoint Method Description Documentation
/mcp POST JSON-RPC 2.0 MCP server MCP Integration
/api/events GET Active events API Patterns
/api/exposure GET Betting exposure Risk Management
/api/sharp-customers GET Sharp customers Customer Analytics
/api/steam-moves GET Steam moves Live Betting
/api/clv GET Closing line value Customer Analytics
/api/hold GET Hold percentage Financial Analytics
/api/markets GET Market data Market Analysis
/api/customers GET Customer data Customer Analytics
/api/stats GET System statistics Analytics Testing

🏈 Sports & Live Data

Endpoint Method Description Documentation
/api/live-odds GET Live odds aggregation Sports API
/api/live-scores GET Live scores Sports API
/api/sports/live GET Live sports data Live Data
/api/analytics/live GET Live analytics Analytics Testing
/api/sessions/live GET Live session data Session Management
/ingest POST Data ingestion (JWT required) Data Ingestion

🎯 Fantasy402 Integration (Complete)

Endpoint Method Description Documentation
/api/fantasy402/performance GET Agent performance Fantasy402 Integration
/api/fantasy402/sport-performance GET Sport performance Performance Analytics
/api/fantasy402/summary GET Performance summary Analytics Testing
/api/fantasy402/config GET Fantasy402 configuration Configuration
/api/f402/mission-control GET Mission control dashboard Mission Control
/api/f402/bets/live GET Live bets Live Betting
/api/f402/agents/performance GET Agent performance Agent Management
/api/f402/agents/list GET Agent list Agent Management
/api/f402/agents/tree GET Agent tree structure Agent Management
/api/f402/agents/{agentID} GET Agent details Agent Management
/api/f402/cache/metrics GET Cache metrics Cache Optimization
/api/f402/cache/warm POST Warm cache Cache Optimization
/api/f402/customers/active GET Active customers Customer Analytics
/api/f402/customers/staked GET Staked totals Financial Analytics
/api/f402/transactions/latest GET Latest transactions Transaction Management
/api/f402/graph GET Agent graph data Data Visualization

🎯 BetTicker Sniffer

Endpoint Method Description Documentation
/cloud/api/Manager/getBetTicker POST Transparent proxy + KV storage API Interception
/interceptor/history GET Historical responses Data Analysis
/interceptor/response GET Specific response Data Analysis
/interceptor/stats GET Response statistics Analytics Testing

📊 Analytics & Monitoring

Endpoint Method Description Documentation
/api/database/metrics GET Database record counts Database Patterns
/api/analytics/metrics GET Analytics metrics Analytics Testing
/api/activity GET System activity Activity Monitoring
/api/player-analysis GET Player analysis Player Analytics
/api/transaction-history GET Transaction history Transaction Management
/api/new-users GET New user metrics User Analytics

🔌 WebSocket & Real-time

Endpoint Method Description Documentation
/ws WS Fantasy402 WebSocket connection WebSocket

📊 Dashboards & Tools

🎯 Quick Start

Recommended Dashboards

Essential Tools

Documentation

📚 Additional Documentation

Core Documentation

API Documentation ✨ NEW

System Integration

Quality & Testing

Developer Resources

AI Development

📞 Support

📄 License

MIT License - see LICENSE file for details


Built with ❤️ on Cloudflare Edge

from github.com/brendadeeznuts1111/betting-brain-v3

Установка Betting Brain V3

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/brendadeeznuts1111/betting-brain-v3

FAQ

Betting Brain V3 MCP бесплатный?

Да, Betting Brain V3 MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Betting Brain V3?

Нет, Betting Brain V3 работает без API-ключей и переменных окружения.

Betting Brain V3 — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Betting Brain V3 в Claude Desktop, Claude Code или Cursor?

Открой Betting Brain V3 на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Betting Brain V3 with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development