| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 1 | httprr trace v1 |
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 2 | 16161 2332 |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 3 | POST https://api.anthropic.com/v1/messages HTTP/1.1
|
| 4 | Host: api.anthropic.com
|
| 5 | User-Agent: Go-http-client/1.1
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 6 | Content-Length: 15963
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 7 | Anthropic-Version: 2023-06-01
|
| 8 | Content-Type: application/json
|
| 9 |
|
| 10 | { |
| 11 | "model": "claude-3-7-sonnet-20250219", |
| 12 | "messages": [ |
| 13 | { |
| 14 | "role": "user", |
| 15 | "content": [ |
| 16 | { |
| 17 | "type": "text", |
| Josh Bleecher Snyder | d2f54c2 | 2025-05-07 18:38:07 -0700 | [diff] [blame] | 18 | "text": "What tools are available to you? Please just list them briefly. (Do not call the title tool.)", |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 19 | "cache_control": { |
| 20 | "type": "ephemeral" |
| 21 | } |
| 22 | } |
| 23 | ] |
| 24 | } |
| 25 | ], |
| 26 | "max_tokens": 8192, |
| 27 | "tools": [ |
| 28 | { |
| 29 | "name": "bash", |
| Josh Bleecher Snyder | f59df72 | 2025-05-09 12:24:03 -0700 | [diff] [blame] | 30 | "description": "Executes a shell command using bash -c with an optional timeout, returning combined stdout and stderr.\nWhen run with background flag, the process may keep running after the tool call returns, and\nthe agent can inspect the output by reading the output files. Use the background task when, for example,\nstarting a server to test something. Be sure to kill the process group when done.", |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 31 | "input_schema": { |
| 32 | "type": "object", |
| 33 | "required": [ |
| 34 | "command" |
| 35 | ], |
| 36 | "properties": { |
| 37 | "command": { |
| 38 | "type": "string", |
| 39 | "description": "Shell script to execute" |
| 40 | }, |
| 41 | "timeout": { |
| 42 | "type": "string", |
| Philip Zeyliger | b60f0f2 | 2025-04-23 18:19:32 +0000 | [diff] [blame] | 43 | "description": "Timeout as a Go duration string, defaults to 1m if background is false; 10m if background is true" |
| 44 | }, |
| 45 | "background": { |
| 46 | "type": "boolean", |
| 47 | "description": "If true, executes the command in the background without waiting for completion" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 48 | } |
| 49 | } |
| 50 | } |
| 51 | }, |
| 52 | { |
| 53 | "name": "keyword_search", |
| Josh Bleecher Snyder | dce8d84 | 2025-05-09 12:27:19 -0700 | [diff] [blame] | 54 | "description": "\nkeyword_search locates files with a search-and-filter approach.\nUse when navigating unfamiliar codebases with only conceptual understanding or vague user questions.\n\nEffective use:\n- Provide a detailed query for accurate relevance ranking\n- Prefer MANY SPECIFIC terms over FEW GENERAL ones (high precision beats high recall)\n- Order search terms by importance (most important first)\n- Supports regex search terms for flexible matching\n\nIMPORTANT: Do NOT use this tool if you have precise information like log lines, error messages, stack traces, filenames, or symbols. Use direct approaches (rg, cat, etc.) instead.\n", |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 55 | "input_schema": { |
| 56 | "type": "object", |
| 57 | "required": [ |
| 58 | "query", |
| Josh Bleecher Snyder | 250348e | 2025-04-30 10:31:28 -0700 | [diff] [blame] | 59 | "search_terms" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 60 | ], |
| 61 | "properties": { |
| 62 | "query": { |
| 63 | "type": "string", |
| 64 | "description": "A detailed statement of what you're trying to find or learn." |
| 65 | }, |
| Josh Bleecher Snyder | 250348e | 2025-04-30 10:31:28 -0700 | [diff] [blame] | 66 | "search_terms": { |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 67 | "type": "array", |
| 68 | "items": { |
| 69 | "type": "string" |
| 70 | }, |
| Josh Bleecher Snyder | 250348e | 2025-04-30 10:31:28 -0700 | [diff] [blame] | 71 | "description": "List of search terms in descending order of importance." |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 72 | } |
| 73 | } |
| 74 | } |
| 75 | }, |
| 76 | { |
| 77 | "name": "think", |
| 78 | "description": "Think out loud, take notes, form plans. Has no external effects.", |
| 79 | "input_schema": { |
| 80 | "type": "object", |
| 81 | "required": [ |
| 82 | "thoughts" |
| 83 | ], |
| 84 | "properties": { |
| 85 | "thoughts": { |
| 86 | "type": "string", |
| 87 | "description": "The thoughts, notes, or plans to record" |
| 88 | } |
| 89 | } |
| 90 | } |
| 91 | }, |
| 92 | { |
| 93 | "name": "title", |
| Josh Bleecher Snyder | a2a3150 | 2025-05-07 12:37:18 +0000 | [diff] [blame] | 94 | "description": "Sets the conversation title.", |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 95 | "input_schema": { |
| 96 | "type": "object", |
| 97 | "properties": { |
| 98 | "title": { |
| 99 | "type": "string", |
| Josh Bleecher Snyder | a2a3150 | 2025-05-07 12:37:18 +0000 | [diff] [blame] | 100 | "description": "Brief title (3-6 words) in imperative tense. Focus on core action/component." |
| 101 | } |
| 102 | }, |
| 103 | "required": [ |
| 104 | "title" |
| 105 | ] |
| 106 | } |
| 107 | }, |
| 108 | { |
| 109 | "name": "precommit", |
| Josh Bleecher Snyder | 6aaf6af | 2025-05-07 20:47:13 +0000 | [diff] [blame] | 110 | "description": "Creates a git branch for tracking work and provides git commit message style guidance. MANDATORY: You must use this tool before making any git commits.", |
| Josh Bleecher Snyder | a2a3150 | 2025-05-07 12:37:18 +0000 | [diff] [blame] | 111 | "input_schema": { |
| 112 | "type": "object", |
| 113 | "properties": { |
| Josh Bleecher Snyder | 78520f5 | 2025-04-30 06:16:08 -0700 | [diff] [blame] | 114 | "branch_name": { |
| 115 | "type": "string", |
| 116 | "description": "A 2-3 word alphanumeric hyphenated slug for the git branch name" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 117 | } |
| 118 | }, |
| 119 | "required": [ |
| Josh Bleecher Snyder | 78520f5 | 2025-04-30 06:16:08 -0700 | [diff] [blame] | 120 | "branch_name" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 121 | ] |
| 122 | } |
| 123 | }, |
| 124 | { |
| 125 | "name": "done", |
| 126 | "description": "Use this tool when you have achieved the user's goal. The parameters form a checklist which you should evaluate.", |
| 127 | "input_schema": { |
| 128 | "$schema": "http://json-schema.org/draft-07/schema#", |
| 129 | "title": "Checklist", |
| 130 | "description": "A schema for tracking checklist items with status and comments", |
| 131 | "type": "object", |
| 132 | "required": [ |
| 133 | "checklist_items" |
| 134 | ], |
| 135 | "properties": { |
| 136 | "checklist_items": { |
| 137 | "type": "object", |
| 138 | "description": "Collection of checklist items", |
| 139 | "properties": { |
| 140 | "wrote_tests": { |
| 141 | "$ref": "#/definitions/checklistItem", |
| 142 | "description": "If code was changed, tests were written or updated." |
| 143 | }, |
| 144 | "passes_tests": { |
| 145 | "$ref": "#/definitions/checklistItem", |
| 146 | "description": "If any commits were made, tests pass." |
| 147 | }, |
| 148 | "code_reviewed": { |
| 149 | "$ref": "#/definitions/checklistItem", |
| 150 | "description": "If any commits were made, the codereview tool was run and its output was addressed." |
| 151 | }, |
| 152 | "git_commit": { |
| 153 | "$ref": "#/definitions/checklistItem", |
| Josh Bleecher Snyder | 9320265 | 2025-05-08 02:05:57 +0000 | [diff] [blame] | 154 | "description": "Create git commits for any code changes you made, adding --trailer 'Co-Authored-By: sketch \u003chello@sketch.dev\u003e' and --trailer 'Change-ID: s$(openssl rand -hex 8)k'. The git user is already configured correctly." |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 155 | } |
| 156 | }, |
| 157 | "additionalProperties": { |
| 158 | "$ref": "#/definitions/checklistItem" |
| 159 | } |
| 160 | } |
| 161 | }, |
| 162 | "definitions": { |
| 163 | "checklistItem": { |
| 164 | "type": "object", |
| 165 | "required": [ |
| 166 | "status" |
| 167 | ], |
| 168 | "properties": { |
| 169 | "status": { |
| 170 | "type": "string", |
| 171 | "description": "Current status of the checklist item", |
| 172 | "enum": [ |
| 173 | "yes", |
| 174 | "no", |
| 175 | "not applicable", |
| 176 | "other" |
| 177 | ] |
| 178 | }, |
| 179 | "description": { |
| 180 | "type": "string", |
| 181 | "description": "Description of what this checklist item verifies" |
| 182 | }, |
| 183 | "comments": { |
| 184 | "type": "string", |
| 185 | "description": "Additional comments or context for this checklist item" |
| 186 | } |
| 187 | } |
| 188 | } |
| 189 | } |
| 190 | } |
| 191 | }, |
| 192 | { |
| 193 | "name": "codereview", |
| 194 | "description": "Run an automated code review.", |
| 195 | "input_schema": { |
| Josh Bleecher Snyder | 2b2090e | 2025-04-29 16:41:34 -0700 | [diff] [blame] | 196 | "type": "object", |
| 197 | "properties": {} |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 198 | } |
| 199 | }, |
| 200 | { |
| Sean McCullough | 485afc6 | 2025-04-28 14:28:39 -0700 | [diff] [blame] | 201 | "name": "multiplechoice", |
| 202 | "description": "Present the user with an quick way to answer to your question using one of a short list of possible answers you would expect from the user.", |
| 203 | "input_schema": { |
| 204 | "type": "object", |
| 205 | "description": "The question and a list of answers you would expect the user to choose from.", |
| 206 | "properties": { |
| 207 | "question": { |
| 208 | "type": "string", |
| 209 | "description": "The text of the multiple-choice question you would like the user, e.g. 'What kinds of test cases would you like me to add?'" |
| 210 | }, |
| 211 | "responseOptions": { |
| 212 | "type": "array", |
| 213 | "description": "The set of possible answers to let the user quickly choose from, e.g. ['Basic unit test coverage', 'Error return values', 'Malformed input'].", |
| 214 | "items": { |
| 215 | "type": "object", |
| 216 | "properties": { |
| 217 | "caption": { |
| 218 | "type": "string", |
| 219 | "description": "The caption, e.g. 'Basic coverage', 'Error return values', or 'Malformed input' for the response button. Do NOT include options for responses that would end the conversation like 'Ok', 'No thank you', 'This looks good'" |
| 220 | }, |
| 221 | "responseText": { |
| 222 | "type": "string", |
| 223 | "description": "The full text of the response, e.g. 'Add unit tests for basic test coverage', 'Add unit tests for error return values', or 'Add unit tests for malformed input'" |
| 224 | } |
| 225 | }, |
| 226 | "required": [ |
| 227 | "caption", |
| 228 | "responseText" |
| 229 | ] |
| 230 | } |
| 231 | } |
| 232 | }, |
| 233 | "required": [ |
| 234 | "question", |
| 235 | "responseOptions" |
| 236 | ] |
| 237 | } |
| 238 | }, |
| 239 | { |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 240 | "name": "browser_navigate", |
| 241 | "description": "Navigate the browser to a specific URL and wait for page to load", |
| 242 | "input_schema": { |
| 243 | "type": "object", |
| 244 | "properties": { |
| 245 | "url": { |
| 246 | "type": "string", |
| 247 | "description": "The URL to navigate to" |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 248 | }, |
| 249 | "timeout": { |
| 250 | "type": "string", |
| 251 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 252 | } |
| 253 | }, |
| 254 | "required": [ |
| 255 | "url" |
| 256 | ] |
| 257 | } |
| 258 | }, |
| 259 | { |
| 260 | "name": "browser_click", |
| 261 | "description": "Click the first element matching a CSS selector", |
| 262 | "input_schema": { |
| 263 | "type": "object", |
| 264 | "properties": { |
| 265 | "selector": { |
| 266 | "type": "string", |
| 267 | "description": "CSS selector for the element to click" |
| 268 | }, |
| 269 | "wait_visible": { |
| 270 | "type": "boolean", |
| 271 | "description": "Wait for the element to be visible before clicking" |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 272 | }, |
| 273 | "timeout": { |
| 274 | "type": "string", |
| 275 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 276 | } |
| 277 | }, |
| 278 | "required": [ |
| 279 | "selector" |
| 280 | ] |
| 281 | } |
| 282 | }, |
| 283 | { |
| 284 | "name": "browser_type", |
| 285 | "description": "Type text into an input or textarea element", |
| 286 | "input_schema": { |
| 287 | "type": "object", |
| 288 | "properties": { |
| 289 | "selector": { |
| 290 | "type": "string", |
| 291 | "description": "CSS selector for the input element" |
| 292 | }, |
| 293 | "text": { |
| 294 | "type": "string", |
| 295 | "description": "Text to type into the element" |
| 296 | }, |
| 297 | "clear": { |
| 298 | "type": "boolean", |
| 299 | "description": "Clear the input field before typing" |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 300 | }, |
| 301 | "timeout": { |
| 302 | "type": "string", |
| 303 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 304 | } |
| 305 | }, |
| 306 | "required": [ |
| 307 | "selector", |
| 308 | "text" |
| 309 | ] |
| 310 | } |
| 311 | }, |
| 312 | { |
| 313 | "name": "browser_wait_for", |
| 314 | "description": "Wait for an element to be present in the DOM", |
| 315 | "input_schema": { |
| 316 | "type": "object", |
| 317 | "properties": { |
| 318 | "selector": { |
| 319 | "type": "string", |
| 320 | "description": "CSS selector for the element to wait for" |
| 321 | }, |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 322 | "timeout": { |
| 323 | "type": "string", |
| 324 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 325 | } |
| 326 | }, |
| 327 | "required": [ |
| 328 | "selector" |
| 329 | ] |
| 330 | } |
| 331 | }, |
| 332 | { |
| 333 | "name": "browser_get_text", |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 334 | "description": "Get the innerText of an element. Can be used to read the web page.", |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 335 | "input_schema": { |
| 336 | "type": "object", |
| 337 | "properties": { |
| 338 | "selector": { |
| 339 | "type": "string", |
| 340 | "description": "CSS selector for the element to get text from" |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 341 | }, |
| 342 | "timeout": { |
| 343 | "type": "string", |
| 344 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 345 | } |
| 346 | }, |
| 347 | "required": [ |
| 348 | "selector" |
| 349 | ] |
| 350 | } |
| 351 | }, |
| 352 | { |
| 353 | "name": "browser_eval", |
| 354 | "description": "Evaluate JavaScript in the browser context", |
| 355 | "input_schema": { |
| 356 | "type": "object", |
| 357 | "properties": { |
| 358 | "expression": { |
| 359 | "type": "string", |
| 360 | "description": "JavaScript expression to evaluate" |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 361 | }, |
| 362 | "timeout": { |
| 363 | "type": "string", |
| 364 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 365 | } |
| 366 | }, |
| 367 | "required": [ |
| 368 | "expression" |
| 369 | ] |
| 370 | } |
| 371 | }, |
| 372 | { |
| Philip Zeyliger | 72252cb | 2025-05-10 17:00:08 -0700 | [diff] [blame] | 373 | "name": "browser_scroll_into_view", |
| 374 | "description": "Scroll an element into view if it's not visible", |
| 375 | "input_schema": { |
| 376 | "type": "object", |
| 377 | "properties": { |
| 378 | "selector": { |
| 379 | "type": "string", |
| 380 | "description": "CSS selector for the element to scroll into view" |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 381 | }, |
| 382 | "timeout": { |
| 383 | "type": "string", |
| 384 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 72252cb | 2025-05-10 17:00:08 -0700 | [diff] [blame] | 385 | } |
| 386 | }, |
| 387 | "required": [ |
| 388 | "selector" |
| 389 | ] |
| 390 | } |
| 391 | }, |
| 392 | { |
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 393 | "name": "browser_resize", |
| 394 | "description": "Resize the browser window to a specific width and height", |
| 395 | "input_schema": { |
| 396 | "type": "object", |
| 397 | "properties": { |
| 398 | "width": { |
| 399 | "type": "integer", |
| 400 | "description": "Window width in pixels" |
| 401 | }, |
| 402 | "height": { |
| 403 | "type": "integer", |
| 404 | "description": "Window height in pixels" |
| 405 | }, |
| 406 | "timeout": { |
| 407 | "type": "string", |
| 408 | "description": "Timeout as a Go duration string (default: 5s)" |
| 409 | } |
| 410 | }, |
| 411 | "required": [ |
| 412 | "width", |
| 413 | "height" |
| 414 | ] |
| 415 | } |
| 416 | }, |
| 417 | { |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 418 | "name": "browser_take_screenshot", |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 419 | "description": "Take a screenshot of the page or a specific element", |
| 420 | "input_schema": { |
| 421 | "type": "object", |
| 422 | "properties": { |
| 423 | "selector": { |
| 424 | "type": "string", |
| 425 | "description": "CSS selector for the element to screenshot (optional)" |
| 426 | }, |
| 427 | "format": { |
| 428 | "type": "string", |
| 429 | "description": "Output format ('base64' or 'png'), defaults to 'base64'", |
| 430 | "enum": [ |
| 431 | "base64", |
| 432 | "png" |
| 433 | ] |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 434 | }, |
| 435 | "timeout": { |
| 436 | "type": "string", |
| 437 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 438 | } |
| 439 | } |
| 440 | } |
| 441 | }, |
| 442 | { |
| Philip Zeyliger | 72252cb | 2025-05-10 17:00:08 -0700 | [diff] [blame] | 443 | "name": "browser_read_image", |
| 444 | "description": "Read an image file (such as a screenshot) and encode it for sending to the LLM", |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 445 | "input_schema": { |
| 446 | "type": "object", |
| 447 | "properties": { |
| Philip Zeyliger | 72252cb | 2025-05-10 17:00:08 -0700 | [diff] [blame] | 448 | "path": { |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 449 | "type": "string", |
| Philip Zeyliger | 72252cb | 2025-05-10 17:00:08 -0700 | [diff] [blame] | 450 | "description": "Path to the image file to read" |
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 451 | }, |
| 452 | "timeout": { |
| 453 | "type": "string", |
| 454 | "description": "Timeout as a Go duration string (default: 5s)" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 455 | } |
| 456 | }, |
| 457 | "required": [ |
| Philip Zeyliger | 72252cb | 2025-05-10 17:00:08 -0700 | [diff] [blame] | 458 | "path" |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 459 | ] |
| 460 | } |
| 461 | }, |
| 462 | { |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 463 | "name": "patch", |
| 464 | "description": "File modification tool for precise text edits.\n\nOperations:\n- replace: Substitute text with new content\n- append_eof: Append new text at the end of the file\n- prepend_bof: Insert new text at the beginning of the file\n- overwrite: Replace the entire file with new content (automatically creates the file)\n\nUsage notes:\n- All inputs are interpreted literally (no automatic newline or whitespace handling)\n- For replace operations, oldText must appear EXACTLY ONCE in the file", |
| 465 | "input_schema": { |
| 466 | "type": "object", |
| 467 | "required": [ |
| 468 | "path", |
| 469 | "patches" |
| 470 | ], |
| 471 | "properties": { |
| 472 | "path": { |
| 473 | "type": "string", |
| 474 | "description": "Absolute path to the file to patch" |
| 475 | }, |
| 476 | "patches": { |
| 477 | "type": "array", |
| 478 | "description": "List of patch requests to apply", |
| 479 | "items": { |
| 480 | "type": "object", |
| 481 | "required": [ |
| 482 | "operation", |
| 483 | "newText" |
| 484 | ], |
| 485 | "properties": { |
| 486 | "operation": { |
| 487 | "type": "string", |
| 488 | "enum": [ |
| 489 | "replace", |
| 490 | "append_eof", |
| 491 | "prepend_bof", |
| 492 | "overwrite" |
| 493 | ], |
| 494 | "description": "Type of operation to perform" |
| 495 | }, |
| 496 | "oldText": { |
| 497 | "type": "string", |
| 498 | "description": "Text to locate for the operation (must be unique in file, required for replace)" |
| 499 | }, |
| 500 | "newText": { |
| 501 | "type": "string", |
| 502 | "description": "The new text to use (empty for deletions)" |
| 503 | } |
| 504 | } |
| 505 | } |
| 506 | } |
| 507 | } |
| 508 | } |
| 509 | } |
| 510 | ], |
| 511 | "system": [ |
| 512 | { |
| Josh Bleecher Snyder | a997be6 | 2025-05-07 22:52:46 +0000 | [diff] [blame] | 513 | "text": "You are an expert coding assistant and architect.\nYou are assisting the user to achieve their goals.\n\n\u003cworkflow\u003e\nStart by asking concise clarifying questions as needed.\nOnce the intent is clear, work autonomously.\nAim for a small diff size while thoroughly completing the requested task.\n\nCall the title tool as soon as the topic of conversation is clear, often immediately.\n\nBreak down the overall goal into a series of smaller steps.\n(The first step is often: \"Make a plan.\")\nThen execute each step using tools.\nUpdate the plan if you have encountered problems or learned new information.\n\nWhen in doubt about a step, follow this broad workflow:\n\n- Think about how the current step fits into the overall plan.\n- Do research. Good tool choices: bash, think, keyword_search\n- Make edits.\n- Repeat.\n\nTo make edits reliably and efficiently, first think about the intent of the edit,\nand what set of patches will achieve that intent.\nThen use the patch tool to make those edits. Combine all edits to any given file into a single patch tool call.\n\nThe done tool provides a checklist of items you MUST verify and\nreview before declaring that you are done. Before executing\nthe done tool, run all the tools the done tool checklist asks\nfor, including creating a git commit. Do not forget to run tests.\n\u003c/workflow\u003e\n\n\u003csystem_info\u003e\n\u003cplatform\u003e\nlinux/amd64\n\u003c/platform\u003e\n\u003cpwd\u003e\n/\n\u003c/pwd\u003e\n\u003c/system_info\u003e\n\n\u003cgit_info\u003e\n\u003cgit_root\u003e\n\n\u003c/git_root\u003e\n\u003cHEAD\u003e\n\n\u003c/HEAD\u003e\n\u003c/git_info\u003e\n\n", |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 514 | "type": "text", |
| 515 | "cache_control": { |
| 516 | "type": "ephemeral" |
| 517 | } |
| 518 | } |
| 519 | ] |
| 520 | }HTTP/2.0 200 OK
|
| 521 | Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b
|
| 522 | Anthropic-Ratelimit-Input-Tokens-Limit: 200000
|
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 523 | Anthropic-Ratelimit-Input-Tokens-Remaining: 199000
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 524 | Anthropic-Ratelimit-Input-Tokens-Reset: 2025-05-11T01:26:00Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 525 | Anthropic-Ratelimit-Output-Tokens-Limit: 80000
|
| 526 | Anthropic-Ratelimit-Output-Tokens-Remaining: 80000
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 527 | Anthropic-Ratelimit-Output-Tokens-Reset: 2025-05-11T01:26:04Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 528 | Anthropic-Ratelimit-Requests-Limit: 4000
|
| 529 | Anthropic-Ratelimit-Requests-Remaining: 3999
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 530 | Anthropic-Ratelimit-Requests-Reset: 2025-05-11T01:25:59Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 531 | Anthropic-Ratelimit-Tokens-Limit: 280000
|
| Philip Zeyliger | 80b488d | 2025-05-10 18:21:54 -0700 | [diff] [blame] | 532 | Anthropic-Ratelimit-Tokens-Remaining: 279000
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 533 | Anthropic-Ratelimit-Tokens-Reset: 2025-05-11T01:26:00Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 534 | Cf-Cache-Status: DYNAMIC
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 535 | Cf-Ray: 93dde2b41c34cf2b-SJC
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 536 | Content-Type: application/json
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 537 | Date: Sun, 11 May 2025 01:26:04 GMT
|
| 538 | Request-Id: req_011CNzsXGD3jV7cnpYvABKN2
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 539 | Server: cloudflare
|
| Sean McCullough | 485afc6 | 2025-04-28 14:28:39 -0700 | [diff] [blame] | 540 | Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 541 | Via: 1.1 google
|
| 542 | X-Robots-Tag: none
|
| 543 |
|
| Philip Zeyliger | 0522484 | 2025-05-10 18:26:08 -0700 | [diff] [blame] | 544 | {"id":"msg_01Q6jfLzpKJGDUmGXgP2w3FQ","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"Here's a brief list of the tools available to me:\n\n1. bash - Execute shell commands\n2. keyword_search - Search for files using keywords\n3. think - Record thoughts, notes, and plans\n4. title - Set conversation title\n5. precommit - Create a git branch for tracking work\n6. done - Mark completion of user's goal with checklist\n7. codereview - Run automated code review\n8. multiplechoice - Present user with quick answer options\n9. Browser tools:\n - browser_navigate - Go to URL\n - browser_click - Click element\n - browser_type - Type text\n - browser_wait_for - Wait for element\n - browser_get_text - Get text from element\n - browser_eval - Run JavaScript\n - browser_scroll_into_view - Scroll element into view\n - browser_resize - Resize browser window\n - browser_take_screenshot - Take screenshot\n - browser_read_image - Read image file\n10. patch - Make precise text edits to files\n\nThese tools allow me to explore, analyze, modify code, interact with web pages, and help complete your tasks."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":3727,"cache_read_input_tokens":0,"output_tokens":262}} |