llm/ant: add Claude 4 sonnet/opus

Not set as default yet.
There's a bit of prompt engineering work
to do before we flip the switch.
diff --git a/llm/ant/ant.go b/llm/ant/ant.go
index 970662d..6a0a393 100644
--- a/llm/ant/ant.go
+++ b/llm/ant/ant.go
@@ -30,6 +30,8 @@
 	Claude35Sonnet = "claude-3-5-sonnet-20241022"
 	Claude35Haiku  = "claude-3-5-haiku-20241022"
 	Claude37Sonnet = "claude-3-7-sonnet-20250219"
+	Claude4Sonnet  = "claude-sonnet-4-20250514"
+	Claude4Opus    = "claude-opus-4-20250514"
 )
 
 // Service provides Claude completions.
@@ -239,6 +241,7 @@
 		"max_tokens":    llm.StopReasonMaxTokens,
 		"end_turn":      llm.StopReasonEndTurn,
 		"tool_use":      llm.StopReasonToolUse,
+		"refusal":       llm.StopReasonRefusal,
 	}
 )
 
@@ -554,6 +557,18 @@
 		CacheRead:     30,   // $0.30
 		CacheCreation: 375,  // $3.75
 	},
+	Claude4Sonnet: {
+		Input:         300,  // $3
+		Output:        1500, // $15
+		CacheRead:     30,   // $0.30
+		CacheCreation: 375,  // $3.75
+	},
+	Claude4Opus: {
+		Input:         1500, // $15
+		Output:        7500, // $75
+		CacheRead:     150,  // $1.50
+		CacheCreation: 1875, // $18.75
+	},
 }
 
 // TotalDollars returns the total cost to obtain this response, in dollars.
diff --git a/llm/llm.go b/llm/llm.go
index 3de6b7f..0e14c7f 100644
--- a/llm/llm.go
+++ b/llm/llm.go
@@ -169,6 +169,7 @@
 	StopReasonMaxTokens
 	StopReasonEndTurn
 	StopReasonToolUse
+	StopReasonRefusal
 )
 
 type Response struct {
diff --git a/llm/llm_string.go b/llm/llm_string.go
index 1c3189e..44f9ac8 100644
--- a/llm/llm_string.go
+++ b/llm/llm_string.go
@@ -73,11 +73,12 @@
 	_ = x[StopReasonMaxTokens-12]
 	_ = x[StopReasonEndTurn-13]
 	_ = x[StopReasonToolUse-14]
+	_ = x[StopReasonRefusal-15]
 }
 
-const _StopReason_name = "StopReasonStopSequenceStopReasonMaxTokensStopReasonEndTurnStopReasonToolUse"
+const _StopReason_name = "StopReasonStopSequenceStopReasonMaxTokensStopReasonEndTurnStopReasonToolUseStopReasonRefusal"
 
-var _StopReason_index = [...]uint8{0, 22, 41, 58, 75}
+var _StopReason_index = [...]uint8{0, 22, 41, 58, 75, 92}
 
 func (i StopReason) String() string {
 	i -= 11