Skip to content

Commit 7772759

Browse files
authored
Merge pull request #1375 from dgageot/improve-caching
Improve caching
2 parents d3d6bb5 + a4aae4b commit 7772759

File tree

13 files changed

+242
-71
lines changed

13 files changed

+242
-71
lines changed

e2e/cagent_exec_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ func TestExec_Anthropic_ToolCall(t *testing.T) {
6060
require.Equal(t, "\n--- Agent: root ---\n\nCalling list_directory(path: \"testdata/working_dir\")\n\nlist_directory response → \"FILE README.me\\n\"\n1", out)
6161
}
6262

63+
func TestExec_Anthropic_AgentsMd(t *testing.T) {
64+
out := cagentExec(t, "testdata/agents-md.yaml", "--model=anthropic/claude-sonnet-4-0", "What's 2+2?")
65+
66+
require.Equal(t, "\n--- Agent: root ---\n2 + 2 = 4", out)
67+
}
68+
6369
func TestExec_Gemini(t *testing.T) {
6470
out := cagentExec(t, "testdata/basic.yaml", "--model=google/gemini-2.5-flash", "What's 2+2?")
6571

e2e/e2e_agents.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
This is a test agents.md file.

e2e/testdata/agents-md.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
agents:
2+
root:
3+
model: openai/gpt-4o
4+
instruction: |
5+
You are a knowledgeable assistant that helps users with various tasks.
6+
Be helpful, accurate, and concise in your responses.
7+
add_prompt_files:
8+
- e2e_agents.md

e2e/testdata/cassettes/TestExec_Anthropic.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,30 +18,30 @@ interactions:
1818
content_length: -1
1919
body: |+
2020
event: message_start
21-
data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_01AP9NMKRbBvLzYmCMfHQcte","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":42,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard"}} }
21+
data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_01GXFRpuydwBQ1cR7FwUzKf2","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":42,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":3,"service_tier":"standard"}} }
2222
2323
event: content_block_start
24-
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
25-
26-
event: content_block_delta
27-
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2 "} }
24+
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
2825
2926
event: ping
3027
data: {"type": "ping"}
3128
3229
event: content_block_delta
33-
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"+ 2 = 4"} }
30+
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2 "} }
31+
32+
event: content_block_delta
33+
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"+ 2 = 4"} }
3434
3535
event: content_block_stop
36-
data: {"type":"content_block_stop","index":0 }
36+
data: {"type":"content_block_stop","index":0}
3737
3838
event: message_delta
39-
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":42,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} }
39+
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":42,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} }
4040
4141
event: message_stop
42-
data: {"type":"message_stop" }
42+
data: {"type":"message_stop" }
4343
4444
headers: {}
4545
status: 200 OK
4646
code: 200
47-
duration: 3.487458209s
47+
duration: 2.017107125s
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
version: 2
3+
interactions:
4+
- id: 0
5+
request:
6+
proto: HTTP/1.1
7+
proto_major: 1
8+
proto_minor: 1
9+
content_length: 0
10+
host: api.anthropic.com
11+
body: '{"max_tokens":64000,"messages":[{"content":[{"text":"What''s 2+2?","cache_control":{"type":"ephemeral"},"type":"text"}],"role":"user"}],"model":"claude-sonnet-4-0","system":[{"text":"You are a knowledgeable assistant that helps users with various tasks.\nBe helpful, accurate, and concise in your responses.","cache_control":{"type":"ephemeral"},"type":"text"},{"text":"This is a test agents.md file.","cache_control":{"type":"ephemeral"},"type":"text"}],"tools":[],"stream":true}'
12+
url: https://api.anthropic.com/v1/messages
13+
method: POST
14+
response:
15+
proto: HTTP/2.0
16+
proto_major: 2
17+
proto_minor: 0
18+
content_length: -1
19+
body: |+
20+
event: message_start
21+
data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_012P4u6eXp1GHoJgX7p5Axot","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":51,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":3,"service_tier":"standard"}} }
22+
23+
event: content_block_start
24+
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""} }
25+
26+
event: ping
27+
data: {"type": "ping"}
28+
29+
event: content_block_delta
30+
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2 "} }
31+
32+
event: content_block_delta
33+
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"+ 2 = 4"} }
34+
35+
event: content_block_stop
36+
data: {"type":"content_block_stop","index":0 }
37+
38+
event: message_delta
39+
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":51,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":13} }
40+
41+
event: message_stop
42+
data: {"type":"message_stop" }
43+
44+
headers: {}
45+
status: 200 OK
46+
code: 200
47+
duration: 765.528375ms

0 commit comments

Comments
 (0)