A jury could have decided whether his refusal to disclose made him guilty of a crime deserving of that punishment. Authority and power are two different things. Lots of people have authority without the power to unilaterally throw people in prison indefinitely.

That's not how court works. It's not a democratic vote of a group of people just making up their own mind. The judge intricately controls what the jury does and does not hear, and how they are instructed, based on the rules of evidence and of criminal or civil procedure. No, you can't just "let the jury decide" if a party to a case simply decides to ignore the judge.

No, that is how it works. If you are charged with criminal contempt, you have the right to a jury trial, and the jury determines whether guilt has been proven to the appropriate standard.

He plead guilty to criminal contempt. That's not the issue.