SAN FRANCISCO -- The Giants have reached agreement on a $1.25 million, one-year contract with utility infielder Ryan Theriot to give them depth at shortstop and second base.