claudetool: add missing json schema field

Apparently this is required, and Anthropic happens to not care.
diff --git a/loop/testdata/agent_loop.httprr b/loop/testdata/agent_loop.httprr
index 476c849..a8ad77a 100644
--- a/loop/testdata/agent_loop.httprr
+++ b/loop/testdata/agent_loop.httprr
@@ -1,9 +1,9 @@
 httprr trace v1
-9047 1729
+9069 1744
 POST https://api.anthropic.com/v1/messages HTTP/1.1

 Host: api.anthropic.com

 User-Agent: Go-http-client/1.1

-Content-Length: 8850

+Content-Length: 8872

 Anthropic-Version: 2023-06-01

 Content-Type: application/json

 

@@ -177,7 +177,8 @@
    "name": "codereview",
    "description": "Run an automated code review.",
    "input_schema": {
-    "type": "object"
+    "type": "object",
+    "properties": {}
    }
   },
   {
@@ -242,23 +243,23 @@
 Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b

 Anthropic-Ratelimit-Input-Tokens-Limit: 200000

 Anthropic-Ratelimit-Input-Tokens-Remaining: 200000

-Anthropic-Ratelimit-Input-Tokens-Reset: 2025-04-26T02:27:19Z

+Anthropic-Ratelimit-Input-Tokens-Reset: 2025-04-29T23:42:22Z

 Anthropic-Ratelimit-Output-Tokens-Limit: 80000

 Anthropic-Ratelimit-Output-Tokens-Remaining: 80000

-Anthropic-Ratelimit-Output-Tokens-Reset: 2025-04-26T02:27:21Z

+Anthropic-Ratelimit-Output-Tokens-Reset: 2025-04-29T23:42:24Z

 Anthropic-Ratelimit-Requests-Limit: 4000

 Anthropic-Ratelimit-Requests-Remaining: 3999

-Anthropic-Ratelimit-Requests-Reset: 2025-04-26T02:27:18Z

+Anthropic-Ratelimit-Requests-Reset: 2025-04-29T23:42:21Z

 Anthropic-Ratelimit-Tokens-Limit: 280000

 Anthropic-Ratelimit-Tokens-Remaining: 280000

-Anthropic-Ratelimit-Tokens-Reset: 2025-04-26T02:27:19Z

+Anthropic-Ratelimit-Tokens-Reset: 2025-04-29T23:42:22Z

 Cf-Cache-Status: DYNAMIC

-Cf-Ray: 9362a3e57cd52379-SJC

+Cf-Ray: 9382a7c95c6667b3-SJC

 Content-Type: application/json

-Date: Sat, 26 Apr 2025 02:27:21 GMT

-Request-Id: req_011CNWZ4icqHejfGyR413Gn7

+Date: Tue, 29 Apr 2025 23:42:25 GMT

+Request-Id: req_011CNduitGRzRZ3U2N9dB9h1

 Server: cloudflare

 Via: 1.1 google

 X-Robots-Tag: none

 

-{"id":"msg_01KJCY38iw9vZgZMutyuHUqk","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"I can access the following tools:\n\n1. bash - Executes shell commands\n2. keyword_search - Searches for files using keywords\n3. think - Records thoughts without external effects\n4. title - Sets a title for the conversation\n5. done - Marks completion with a checklist\n6. codereview - Runs automated code review\n7. patch - Makes precise text edits to files\n\nThese tools help me assist you with coding tasks, particularly in Go development. Is there a specific task you'd like me to help you with?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":0,"cache_read_input_tokens":2191,"output_tokens":120}}
\ No newline at end of file
+{"id":"msg_0185hzyiRLpmBPpNuLAFRHWh","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"I have access to the following tools:\n\n1. bash - Executes shell commands with optional timeout\n2. keyword_search - Helps locate files in unfamiliar codebases\n3. think - Allows me to think out loud and take notes\n4. title - Sets a brief title for the conversation\n5. done - Used when the user's goal is achieved, with a checklist\n6. codereview - Runs an automated code review\n7. patch - Precise file modification tool for text edits\n\nIs there a specific task you'd like me to help you with using these tools?"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":2196,"cache_read_input_tokens":0,"output_tokens":132}}
\ No newline at end of file