{
  "named_groups": {
    "betting_core": [
      "sports betting",
      "odds",
      "sportsbook",
      "market price",
      "closing line",
      "edge expected value"
    ],
    "props_core": [
      "player props",
      "prop bet",
      "player prop lines",
      "alt lines"
    ],
    "baseball_core": [
      "mlb baseball",
      "pitcher batter",
      "lineup bullpen",
      "weather park factor"
    ],
    "basketball_core": [
      "nba basketball",
      "rotation pace usage",
      "injury report closing line"
    ],
    "football_core": [
      "nfl football",
      "depth chart injury report",
      "passing rushing receiving props"
    ],
    "hockey_core": [
      "nhl hockey",
      "goalie line combinations",
      "shots on goal props"
    ],
    "mlb_props": [
      "mlb player props",
      "pitcher strikeout props",
      "total bases hits walks rbi home runs",
      "batter props lineup splits"
    ],
    "nba_props": [
      "nba player props",
      "points rebounds assists threes",
      "usage minutes pace"
    ],
    "nfl_props": [
      "nfl player props",
      "passing yards rushing yards receiving yards",
      "touchdown props target share"
    ],
    "nhl_props": [
      "nhl player props",
      "shots on goal points saves",
      "goalie props line combinations"
    ],
    "weather_focus": [
      "weather wind temperature humidity roof status"
    ],
    "lineup_focus": [
      "confirmed lineup projected lineup batting order rotation"
    ],
    "injury_focus": [
      "injury report questionable doubtful out active inactives"
    ],
    "market_focus": [
      "market movement opening line closing line steam sharp action"
    ]
  },
  "intent_default_groups": {
    "betting": ["betting_core", "market_focus"],
    "props": ["props_core"],
    "baseball": ["baseball_core"]
  },
  "sport_aliases": {
    "mlb": ["mlb", "baseball"],
    "nba": ["nba", "basketball"],
    "nfl": ["nfl", "football"],
    "nhl": ["nhl", "hockey"]
  },
  "sport_default_groups": {
    "mlb": ["mlb_props"],
    "nba": ["nba_props"],
    "nfl": ["nfl_props"],
    "nhl": ["nhl_props"]
  },
  "query_rules": [
    {
      "match_type": "regex",
      "match": "\\bmlb\\s+(player\\s+)?props?\\b",
      "add_groups": ["mlb_props", "lineup_focus", "weather_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\bbaseball\\s+prop\\s+betting\\b",
      "add_groups": ["mlb_props", "market_focus", "lineup_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\bpitcher\\s+strikeout\\s+props?\\b",
      "add_groups": ["mlb_props", "lineup_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\b(weather|wind|temperature|roof)\\b",
      "add_groups": ["weather_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\b(lineup|batting order|rotation)\\b",
      "add_groups": ["lineup_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\b(injury|injuries|questionable|out|inactive)\\b",
      "add_groups": ["injury_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\bnba\\s+(player\\s+)?props?\\b",
      "add_groups": ["nba_props", "injury_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\bnfl\\s+(player\\s+)?props?\\b",
      "add_groups": ["nfl_props", "injury_focus"]
    },
    {
      "match_type": "regex",
      "match": "\\bnhl\\s+(player\\s+)?props?\\b",
      "add_groups": ["nhl_props", "lineup_focus"]
    }
  ]
}
