| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 1 | httprr trace v1 |
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 2 | 3814 2302 |
| 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
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 6 | Content-Length: 3617
|
| 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", |
| Philip Zeyliger | 33d282f | 2025-05-03 04:01:54 +0000 | [diff] [blame] | 18 | "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 chromium \u0026\u0026 \\\n\tapt-get clean \u0026\u0026 \\\n\trm -rf /var/lib/apt/lists/* \u0026\u0026 \\\n\trm -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.\n" |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 19 | }, |
| 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 Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 38 | "extra_cmds" |
| 39 | ], |
| 40 | "properties": { |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 41 | "extra_cmds": { |
| 42 | "type": "string", |
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 43 | "description": "Extra dockerfile commands to add to the dockerfile. Each command should start with RUN." |
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 44 | } |
| 45 | } |
| 46 | } |
| 47 | } |
| 48 | ] |
| 49 | }HTTP/2.0 200 OK
|
| 50 | Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b
|
| 51 | Anthropic-Ratelimit-Input-Tokens-Limit: 200000
|
| David Crawshaw | b7a0663 | 2025-05-05 09:52:20 -0700 | [diff] [blame] | 52 | Anthropic-Ratelimit-Input-Tokens-Remaining: 200000
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 53 | Anthropic-Ratelimit-Input-Tokens-Reset: 2025-05-12T22:11:34Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 54 | Anthropic-Ratelimit-Output-Tokens-Limit: 80000
|
| 55 | Anthropic-Ratelimit-Output-Tokens-Remaining: 80000
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 56 | Anthropic-Ratelimit-Output-Tokens-Reset: 2025-05-12T22:11:38Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 57 | Anthropic-Ratelimit-Requests-Limit: 4000
|
| 58 | Anthropic-Ratelimit-Requests-Remaining: 3999
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 59 | Anthropic-Ratelimit-Requests-Reset: 2025-05-12T22:11:34Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 60 | Anthropic-Ratelimit-Tokens-Limit: 280000
|
| David Crawshaw | b7a0663 | 2025-05-05 09:52:20 -0700 | [diff] [blame] | 61 | Anthropic-Ratelimit-Tokens-Remaining: 280000
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 62 | Anthropic-Ratelimit-Tokens-Reset: 2025-05-12T22:11:34Z
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 63 | Cf-Cache-Status: DYNAMIC
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 64 | Cf-Ray: 93ed40aa2a0a15f1-SJC
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 65 | Content-Type: application/json
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 66 | Date: Mon, 12 May 2025 22:11:38 GMT
|
| 67 | Request-Id: req_011CP4QKDoEASpcodpKxqnmc
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 68 | Server: cloudflare
|
| David Crawshaw | ca53558 | 2025-05-03 13:04:34 -0700 | [diff] [blame] | 69 | Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
|
| Earl Lee | 2e463fb | 2025-04-17 11:22:22 -0700 | [diff] [blame] | 70 | Via: 1.1 google
|
| 71 | X-Robots-Tag: none
|
| 72 |
|
| David Crawshaw | 53b02a6 | 2025-05-12 14:46:29 -0700 | [diff] [blame] | 73 | {"id":"msg_01CqJZHCyfadjtubpXjTZQax","type":"message","role":"assistant","model":"claude-3-7-sonnet-20250219","content":[{"type":"text","text":"I'll help you create a Dockerfile using the provided template. Based on your instructions, I need to create a minimal set of extra commands for a Go project, ensuring Python setup commands don't stop the build if they fail, and add safety measures to apt-get commands."},{"type":"tool_use","id":"toolu_01R7nDPwC4q2mK9em7o6zqja","name":"dockerfile","input":{"extra_cmds":"RUN go mod tidy || true\n\n# Install any Python dependencies if a requirements.txt exists, but continue on failure\nRUN if [ -f requirements.txt ]; then pip3 install -r requirements.txt || true; fi\n\n# Install any npm dependencies if package.json exists\nRUN if [ -f package.json ]; then npm install || true; fi\n\n# Install additional tools that might be useful for Go development\nRUN go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest || true\n\n# Install any additional needed packages\nRUN apt-get update && apt-get install -y --no-install-recommends \\\n make \\\n protobuf-compiler \\\n || true"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1286,"cache_read_input_tokens":0,"output_tokens":278}} |