blob: 5f2345c9a68216ca84bc031fe2f856e8be1038d6 [file] [log] [blame]
Earl Lee2e463fb2025-04-17 11:22:22 -07001httprr trace v1
Philip Zeyligercc3ba222025-04-23 14:52:21 -070023096 1592
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
Philip Zeyligercc3ba222025-04-23 14:52:21 -07006Content-Length: 2899
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",
Philip Zeyligercc3ba222025-04-23 14:52:21 -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 {{.From}}\n\nRUN apk add bash git make jq sqlite gcc musl-dev linux-headers npm nodejs go github-cli ripgrep fzf python3 curl vim\n\nENV GOTOOLCHAIN=auto\nENV GOPATH=/go\nENV PATH=\"$GOPATH/bin:$PATH\"\n\nRUN go install golang.org/x/tools/cmd/goimports@latest\nRUN go install golang.org/x/tools/gopls@latest\nRUN go install mvdan.cc/gofumpt@latest\n\nRUN mkdir -p /root/.cache/sketch/webui\n\n{{.ExtraCmds}}\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\"\n\nLABEL sketch_context=\"{{.InitFilesHash}}\"\nCOPY . /app\n\nWORKDIR /app{{.SubDir}}\nRUN if [ -f go.mod ]; then go mod download; fi\n\nCMD [\"/bin/sketch\"]\n```\n\nIn particular:\n- Assume it is primarily a Go project. For a minimal env, prefer 1.24.2-alpine3.21 as a base image.\n- If any python is needed at all, switch to using a python alpine image as a the base and apk add go.\n Favor using uv, and use one of these base images, depending on the preferred python version:\n ghcr.io/astral-sh/uv:python3.13-alpine\n ghcr.io/astral-sh/uv:python3.12-alpine\n ghcr.io/astral-sh/uv:python3.11-alpine\n- When using pip to install packages, use: uv pip install --system.\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 apk add commands in case the package does not exist.\n- Do not expose any ports.\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# Test Project\nA Go project for testing.\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": [
42 "from",
43 "extra_cmds"
44 ],
45 "properties": {
46 "from": {
47 "type": "string",
48 "description": "The alpine base image provided to the dockerfile FROM command"
49 },
50 "extra_cmds": {
51 "type": "string",
52 "description": "Extra commands to add to the dockerfile."
53 }
54 }
55 }
56 }
57 ]
58}HTTP/2.0 200 OK
59Anthropic-Organization-Id: 3c473a21-7208-450a-a9f8-80aebda45c1b
60Anthropic-Ratelimit-Input-Tokens-Limit: 200000
61Anthropic-Ratelimit-Input-Tokens-Remaining: 200000
Philip Zeyligercc3ba222025-04-23 14:52:21 -070062Anthropic-Ratelimit-Input-Tokens-Reset: 2025-04-24T02:15:28Z
Earl Lee2e463fb2025-04-17 11:22:22 -070063Anthropic-Ratelimit-Output-Tokens-Limit: 80000
64Anthropic-Ratelimit-Output-Tokens-Remaining: 80000
Philip Zeyligercc3ba222025-04-23 14:52:21 -070065Anthropic-Ratelimit-Output-Tokens-Reset: 2025-04-24T02:15:30Z
Earl Lee2e463fb2025-04-17 11:22:22 -070066Anthropic-Ratelimit-Requests-Limit: 4000
67Anthropic-Ratelimit-Requests-Remaining: 3999
Philip Zeyligercc3ba222025-04-23 14:52:21 -070068Anthropic-Ratelimit-Requests-Reset: 2025-04-24T02:15:26Z
Earl Lee2e463fb2025-04-17 11:22:22 -070069Anthropic-Ratelimit-Tokens-Limit: 280000
70Anthropic-Ratelimit-Tokens-Remaining: 280000
Philip Zeyligercc3ba222025-04-23 14:52:21 -070071Anthropic-Ratelimit-Tokens-Reset: 2025-04-24T02:15:28Z
Earl Lee2e463fb2025-04-17 11:22:22 -070072Cf-Cache-Status: DYNAMIC
Philip Zeyligercc3ba222025-04-23 14:52:21 -070073Cf-Ray: 935217c86d0feb20-SJC
Earl Lee2e463fb2025-04-17 11:22:22 -070074Content-Type: application/json
Philip Zeyligercc3ba222025-04-23 14:52:21 -070075Date: Thu, 24 Apr 2025 02:15:30 GMT
76Request-Id: req_011CNSkYTfiTDQcmFtaZVJLQ
Earl Lee2e463fb2025-04-17 11:22:22 -070077Server: cloudflare
78Via: 1.1 google
79X-Robots-Tag: none
80
Philip Zeyligercc3ba222025-04-23 14:52:21 -070081{"id":"msg_0147gKoEBcw5pqeZDsLtVmhX","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 the README.md content, this appears to be a simple Go test project with no specific Python requirements mentioned."},{"type":"tool_use","id":"toolu_01JcMU9U7yDJ3LWbt2xjtTTM","name":"dockerfile","input":{"from":"golang:1.24.2-alpine3.21","extra_cmds":"RUN apk add --no-cache build-base || true"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1030,"cache_read_input_tokens":0,"output_tokens":133}}