In a deal that had been building for nearly a week, the Mariners and Mets have gotten together on easily the biggest trade of the offseason. Second baseman Robinson Cano and closer Edwin Diaz are heading to the Mets for a package that includes veteran outfielder Jay Bruce, veteran reliever Anthony Swarzak and three prospects. Seattle is also paying $20 million of Cano's contract. Both teams formally announced the trade Monday afternoon.

"The trade bolsters our player development system with the additions of Jarred Kelenic and Justin Dunn, while also providing immediate impact to our Major League club in Jay Bruce, Anthony Swarzak and Gerson Bautista," Mariners GM Jerry Dipoto said in a statement. "We view Kelenic as a true 5-tool player with a very high ceiling. Dunn is another former 1st round draft pick, who we think has a bright future on our pitching staff. Bruce and Swarzak both bring proven production in the field and a veteran presence in our clubhouse. Bautista has demonstrated an impressive high-velocity pitch mix."  

The Mariners reached the point with their big-league roster and farm system this offseason where they felt it made sense for a tear-down rebuild. They had already traded starter James Paxton and catcher Mike Zunino and we already knew pretty much everyone was a possibility to be dealt, especially knowing how often Dipoto makes trades. 

Cano seemed like a long shot unless the team got creative and I'd say this more than qualifies as some creativity. Cano, 36, is due $120 million over the next five seasons and he's coming off a year in which he served an 80-game PED suspension. He can still hit, though, as he slashed .303/.374/.471 (136 OPS+) with 22 doubles, 10 homers and 50 RBI in 80 games. We also know Cano is familiar with New York, as he spent the first nine years of his career with the Yankees.

While Cano is the biggest name here, he's not the only big name -- at least not to die-hard fans. Diaz, 24, is coming off what might amount to his career year. He saved 57 games in 61 chances with a 1.96 ERA, 0.79 WHIP and 124 strikeouts against 17 walks in 73 1/3 innings. He posted 3.2 WAR as a relief pitcher. 

Robinson Cano and Edwin Diaz are officially New York Mets. USATSI

What do the Mariners get? Some salary relief, some veterans with contracts the Mets regretted (who could be dealt by Dipoto later) and some pieces that could be part of the next Mariners contender. 

The prospects are center fielder Jarred Kelenic , starting pitcher Justin Dunn, and right-handed reliever Gerson Bautista

Kelenic, 19, was the Mets' first-round pick (sixth overall) in 2018. In 56 Rookie ball games, he hit .286/.371/.468 with 10 homers, six triples, six homers, 42 RBI, 42 runs and 15 steals. He also had nine outfield assists, flashing all five tools relatively well in his pro debut year. 

Dunn, 23, was the Mets' first-rounder (19th overall) in 2016 out of Boston College. In 24 starts between High-A and Double-A last season, Dunn was 8-8 with a 3.59 ERA, 1.33 WHIP and 156 strikeouts in 135 1/3 innings. He has allowed too many base runners, but the swing-and-miss is there. 

Bautista, 23, made five appearances for the Mets last season. In the minors, he pitched to a 3.12 ERA and 2.28 K/BB ratio across parts of five seasons. Along the way, he made 23 starts, but he's worked exclusively as a reliever since 2016. 

As for the veterans, Bruce is owed $28 million over the next two seasons. He's heading to his age-32 season and hit just .223/.310/.370 with nine homers in 94 games last season. He did have a 36-homer season in 2017, though, so at some point he might be tradeable for Dipoto. Assuming the Mariners do keep him around, he can probably just DH. 

Swarzak, 33, is due $8.5 million in 2019 before hitting free agency. He was brutal last season with a 6.15 ERA, 5.48 FIP, 1.60 WHIP and 4.8 BB/9. Here's why he's a flip candidate, though: Swarzak posted a line of 2.33 ERA, 1.03 WHIP and 91 strikeouts in 77 1/3 innings in 2017. If he pitches like that for Seattle, it'll have a nice trade chip heading toward the July 31 deadline in season. Teams will always need relievers at that point.