blob: b1ef4e7bfc4716452dae68a740a3ea63a5798603 [file] [log] [blame]
Earl Lee2e463fb2025-04-17 11:22:22 -07001httprr trace v1
David Crawshaw8fd51042025-05-05 12:52:43 -070024062 2058
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 Crawshaw8fd51042025-05-05 12:52:43 -07006Content-Length: 3865
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 Crawshaw8fd51042025-05-05 12:52:43 -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# Switch from dash to bash by default.\nSHELL [\"/bin/bash\", \"-euxo\", \"pipefail\", \"-c\"]\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 apt-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 go 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\nRUN rm -f /app/tmp-sketch-dockerfile\n\nWORKDIR /app{{.SubDir}}\nRUN if [ -f go.mod ]; then go mod download; fi\n\n# Switch to lenient shell so we are more likely to get past failing extra_cmds.\nSHELL [\"/bin/bash\", \"-uo\", \"pipefail\", \"-c\"]\n\n{{.ExtraCmds}}\n\n# Switch back to strict shell after extra_cmds.\nSHELL [\"/bin/bash\", \"-euxo\", \"pipefail\", \"-c\"]\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.\nHere is the content of several files from the repository that may be relevant:\n\n"
Earl Lee2e463fb2025-04-17 11:22:22 -070019 },
20 {
21 "type": "text",
22 "text": "Here is the contents README.md:\n\u003cfile\u003e\n# Our amazing repo\n\nTo use this project you need python 3.11 and the dvc tool\n\u003c/file\u003e\n\n"
23 },
24 {
25 "type": "text",
26 "text": "Now call the dockerfile tool.",
27 "cache_control": {
28 "type": "ephemeral"
29 }
30 }
31 ]
32 }
33 ],
34 "max_tokens": 8192,
35 "tools": [
36 {
37 "name": "dockerfile",
38 "description": "Helps define a Dockerfile that sets up a dev environment for this project.",
39 "input_schema": {
40 "type": "object",
41 "required": [
Earl Lee2e463fb2025-04-17 11:22:22 -070042 "extra_cmds"
43 ],
44 "properties": {
Earl Lee2e463fb2025-04-17 11:22:22 -070045 "extra_cmds": {
46 "type": "string",
47 "description": "Extra commands to add to the dockerfile."
48 }
49 }
50 }
51 }
52 ]
53}HTTP/2.0 200 OK
54Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b
55Anthropic-Ratelimit-Input-Tokens-Limit: 200000
David Crawshaw2a5bd6d2025-04-30 14:29:46 -070056Anthropic-Ratelimit-Input-Tokens-Remaining: 200000
David Crawshaw8fd51042025-05-05 12:52:43 -070057Anthropic-Ratelimit-Input-Tokens-Reset: 2025-05-05T19:55:47Z
Earl Lee2e463fb2025-04-17 11:22:22 -070058Anthropic-Ratelimit-Output-Tokens-Limit: 80000
59Anthropic-Ratelimit-Output-Tokens-Remaining: 80000
David Crawshaw8fd51042025-05-05 12:52:43 -070060Anthropic-Ratelimit-Output-Tokens-Reset: 2025-05-05T19:55:50Z
Earl Lee2e463fb2025-04-17 11:22:22 -070061Anthropic-Ratelimit-Requests-Limit: 4000
62Anthropic-Ratelimit-Requests-Remaining: 3999
David Crawshaw8fd51042025-05-05 12:52:43 -070063Anthropic-Ratelimit-Requests-Reset: 2025-05-05T19:55:47Z
Earl Lee2e463fb2025-04-17 11:22:22 -070064Anthropic-Ratelimit-Tokens-Limit: 280000
David Crawshaw2a5bd6d2025-04-30 14:29:46 -070065Anthropic-Ratelimit-Tokens-Remaining: 280000
David Crawshaw8fd51042025-05-05 12:52:43 -070066Anthropic-Ratelimit-Tokens-Reset: 2025-05-05T19:55:47Z
Earl Lee2e463fb2025-04-17 11:22:22 -070067Cf-Cache-Status: DYNAMIC
David Crawshaw8fd51042025-05-05 12:52:43 -070068Cf-Ray: 93b2cc227ed515f7-SJC
Earl Lee2e463fb2025-04-17 11:22:22 -070069Content-Type: application/json
David Crawshaw8fd51042025-05-05 12:52:43 -070070Date: Mon, 05 May 2025 19:55:51 GMT
71Request-Id: req_011CNpyJFSiFJUtRqgiMPiG3
Earl Lee2e463fb2025-04-17 11:22:22 -070072Server: cloudflare
David Crawshawca535582025-05-03 13:04:34 -070073Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Earl Lee2e463fb2025-04-17 11:22:22 -070074Via: 1.1 google
75X-Robots-Tag: none
76
David Crawshaw8fd51042025-05-05 12:52:43 -070077{"id":"msg_01G9uUSv5BciWemp442LWMUE","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"Based on the README.md, this project requires Python 3.11 and the DVC (Data Version Control) tool. Since the dockerfile template already includes Python3, I'll add commands to ensure Python 3.11 is installed and to set up DVC."},{"type":"tool_use","id":"toolu_01PWZdG27vVMNfzgzmLV7Hi8","name":"dockerfile","input":{"extra_cmds":"# Install Python 3.11 (if not already the default version) and set it up\nRUN apt-get update && \\\n apt-get install -y --no-install-recommends python3.11 python3.11-venv python3-pip || true && \\\n update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 1 || true && \\\n apt-get clean && \\\n rm -rf /var/lib/apt/lists/*\n\n# Install DVC tool as mentioned in README\nRUN pip3 install dvc || true"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1338,"cache_read_input_tokens":0,"output_tokens":254}}