blob: 5bd7fd1db3cb0ef8c307fe09415e1a0fd1d8cf84 [file] [log] [blame]
Earl Lee2e463fb2025-04-17 11:22:22 -07001httprr trace v1
David Crawshawca535582025-05-03 13:04:34 -070023429 1877
Earl Lee2e463fb2025-04-17 11:22:22 -07003POST https://api.anthropic.com/v1/messages HTTP/1.1
4Host: api.anthropic.com
5User-Agent: Go-http-client/1.1
David Crawshawca535582025-05-03 13:04:34 -07006Content-Length: 3232
Earl Lee2e463fb2025-04-17 11:22:22 -07007Anthropic-Version: 2023-06-01
8Content-Type: application/json
9
10{
11 "model": "claude-3-7-sonnet-20250219",
12 "messages": [
13 {
14 "role": "user",
15 "content": [
16 {
17 "type": "text",
David Crawshawca535582025-05-03 13:04:34 -070018 "text": "\nCall the dockerfile tool to create a Dockerfile.\nThe parameters to dockerfile fill out the From and ExtraCmds\ntemplate variables in the following Go template:\n\n```\nFROM golang:1.24-bookworm\n\n# attempt to keep package installs lean\nRUN printf '%s\\n' \\\n 'path-exclude=/usr/share/man/*' \\\n 'path-exclude=/usr/share/doc/*' \\\n 'path-exclude=/usr/share/doc-base/*' \\\n 'path-exclude=/usr/share/info/*' \\\n 'path-exclude=/usr/share/locale/*' \\\n 'path-exclude=/usr/share/groff/*' \\\n 'path-exclude=/usr/share/lintian/*' \\\n 'path-exclude=/usr/share/zoneinfo/*' \\\n \u003e /etc/dpkg/dpkg.cfg.d/01_nodoc\n\nRUN set -eux; \\\n\tapt-get update; \\\n\tapt-get install -y --no-install-recommends \\\n\t\tgit jq sqlite3 npm nodejs gh ripgrep fzf python3 curl vim \u0026\u0026 \\\n\tapt-get clean \u0026\u0026 \\\n\trm -rf /var/lib/apt/lists/*\n\n# Strip out docs from debian.\nRUN rm -rf /usr/share/{doc,doc-base,info,lintian,man,groff,locale,zoneinfo}/*\n\nENV PATH=\"$GOPATH/bin:$PATH\"\n\n# While these binaries install generally useful supporting packages,\n# the specific versions are rarely what a user wants so there is no\n# point polluting the base image module with them.\n\nRUN set -eux; \\\n\tgo install golang.org/x/tools/cmd/goimports@latest; \\\n\tgo install golang.org/x/tools/gopls@latest; \\\n\tgo install mvdan.cc/gofumpt@latest; \\\n\tgo clean -cache -testcache -modcache\n\nENV GOTOOLCHAIN=auto\nENV SKETCH=1\n\nRUN mkdir -p /root/.cache/sketch/webui\n\nARG GIT_USER_EMAIL\nARG GIT_USER_NAME\n\nRUN git config --global user.email \"$GIT_USER_EMAIL\" \u0026\u0026 \\\n git config --global user.name \"$GIT_USER_NAME\" \u0026\u0026 \\\n git config --global http.postBuffer 524288000\n\nLABEL sketch_context=\"{{.InitFilesHash}}\"\nCOPY . /app\n\nWORKDIR /app{{.SubDir}}\nRUN if [ -f go.mod ]; then go mod download; fi\n\n{{.ExtraCmds}}\n\nCMD [\"/bin/sketch\"]\n\n```\n\nIn particular:\n- Assume it is primarily a Go project.\n- Python env setup is challenging and often no required, so any RUN commands involving python tooling should be written to let docker build continue if there is a failure.\n- Include any tools particular to this repository that can be inferred from the given context.\n- Append || true to any apt-get install commands in case the package does not exist.\n- MINIMIZE the number of extra_cmds generated. Straightforward environments do not need any.\n- Do NOT expose any ports.\n- Do NOT generate any CMD or ENTRYPOINT extra commands.\n"
Earl Lee2e463fb2025-04-17 11:22:22 -070019 },
20 {
21 "type": "text",
22 "text": "Now call the dockerfile tool.",
23 "cache_control": {
24 "type": "ephemeral"
25 }
26 }
27 ]
28 }
29 ],
30 "max_tokens": 8192,
31 "tools": [
32 {
33 "name": "dockerfile",
34 "description": "Helps define a Dockerfile that sets up a dev environment for this project.",
35 "input_schema": {
36 "type": "object",
37 "required": [
Earl Lee2e463fb2025-04-17 11:22:22 -070038 "extra_cmds"
39 ],
40 "properties": {
Earl Lee2e463fb2025-04-17 11:22:22 -070041 "extra_cmds": {
42 "type": "string",
43 "description": "Extra commands to add to the dockerfile."
44 }
45 }
46 }
47 }
48 ]
49}HTTP/2.0 200 OK
50Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b
51Anthropic-Ratelimit-Input-Tokens-Limit: 200000
David Crawshawca535582025-05-03 13:04:34 -070052Anthropic-Ratelimit-Input-Tokens-Remaining: 190000
53Anthropic-Ratelimit-Input-Tokens-Reset: 2025-05-03T20:06:35Z
Earl Lee2e463fb2025-04-17 11:22:22 -070054Anthropic-Ratelimit-Output-Tokens-Limit: 80000
55Anthropic-Ratelimit-Output-Tokens-Remaining: 80000
David Crawshawca535582025-05-03 13:04:34 -070056Anthropic-Ratelimit-Output-Tokens-Reset: 2025-05-03T20:06:35Z
Earl Lee2e463fb2025-04-17 11:22:22 -070057Anthropic-Ratelimit-Requests-Limit: 4000
58Anthropic-Ratelimit-Requests-Remaining: 3999
David Crawshawca535582025-05-03 13:04:34 -070059Anthropic-Ratelimit-Requests-Reset: 2025-05-03T20:06:31Z
Earl Lee2e463fb2025-04-17 11:22:22 -070060Anthropic-Ratelimit-Tokens-Limit: 280000
David Crawshawca535582025-05-03 13:04:34 -070061Anthropic-Ratelimit-Tokens-Remaining: 270000
62Anthropic-Ratelimit-Tokens-Reset: 2025-05-03T20:06:35Z
Earl Lee2e463fb2025-04-17 11:22:22 -070063Cf-Cache-Status: DYNAMIC
David Crawshawca535582025-05-03 13:04:34 -070064Cf-Ray: 93a2611bdd5cebe5-SJC
Earl Lee2e463fb2025-04-17 11:22:22 -070065Content-Type: application/json
David Crawshawca535582025-05-03 13:04:34 -070066Date: Sat, 03 May 2025 20:06:35 GMT
67Request-Id: req_011CNmCVuaxBi3NWMqvSxNyc
Earl Lee2e463fb2025-04-17 11:22:22 -070068Server: cloudflare
David Crawshawca535582025-05-03 13:04:34 -070069Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Earl Lee2e463fb2025-04-17 11:22:22 -070070Via: 1.1 google
71X-Robots-Tag: none
72
David Crawshawca535582025-05-03 13:04:34 -070073{"id":"msg_01KUUe93HvhH27N4F7qcfE5e","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"I'll help you create a Dockerfile by calling the dockerfile tool. Based on your instructions, I'll keep the extra commands minimal and focus on creating a Go development environment."},{"type":"tool_use","id":"toolu_01Pp6zm24cM3VSTNESr7FA37","name":"dockerfile","input":{"extra_cmds":"RUN set -eux; \\\n # Install any Python dependencies if applicable, continuing on failure\n if [ -f requirements.txt ]; then pip3 install -r requirements.txt || true; fi\n\n# Ensure sketch binary is available\nRUN if [ ! -f /bin/sketch ]; then ln -s /app/sketch /bin/sketch || true; fi"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1175,"cache_read_input_tokens":0,"output_tokens":173}}