The Cardinals agreed Friday to a $19 million, two-year contract with center fielder Jim Edmonds, their first major move since winning the World Series. The 36-year-old Edmonds had filed provisionally for free agency on Nov. 2, awaiting a decision by the team on its $10 million option, which carried a $3 million buyout.