The Indians have signed Yan Gomes to a 6-year extension worth $23 million (according to Ken Rosenthal). The contract also includes 2 team options, for figures which have not yet been disclosed. Gomes was originally acquired as what seemed to be the secondary piece in a relatively minor trade with Toronto (which also brought Mike Aviles to Cleveland), but he played very well on both offense and defense, and by August he'd taken over as the team's primary catcher.
This contract will cover his final two years of pre-arbitration, all three of his arbitration years, and his first year of free agency. Gomes and he'll turn 32 in the final year of this deal, at which point it's to be expected that he'll be in at least a modest decline. It's nice to have those team options though, in case he manages to age better than most.
Gomes has only half a season as a successful MLB player, which makes this deal something of a surprise, but it gives the club cost certainty for a player who might have earned far more than the $14 million or so this contract likely pays him for his arbitration years.