multi_tool_streaming.yaml

  1---
  2version: 2
  3interactions:
  4- id: 0
  5  request:
  6    proto: HTTP/1.1
  7    proto_major: 1
  8    proto_minor: 1
  9    content_length: 812
 10    host: ""
 11    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Add and multiply the number 2 and 3","type":"text"}],"role":"user"}],"model":"claude-sonnet-4-20250514","system":[{"text":"You are a helpful assistant. Always use both add and multiply at the same time.","type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"add","description":"Add two numbers"},{"input_schema":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"multiply","description":"Multiply two numbers"}],"stream":true}'
 12    headers:
 13      Accept:
 14      - application/json
 15      Content-Type:
 16      - application/json
 17      User-Agent:
 18      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
 19    url: https://api.anthropic.com/v1/messages
 20    method: POST
 21  response:
 22    proto: HTTP/2.0
 23    proto_major: 2
 24    proto_minor: 0
 25    content_length: -1
 26    uncompressed: true
 27    body: |+
 28      event: message_start
 29      data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_01PSvJdjd5keNSD63VHjYzex","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":502,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":4,"service_tier":"standard","inference_geo":"not_available"}}}
 30
 31      event: content_block_start
 32      data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}           }
 33
 34      event: ping
 35      data: {"type": "ping"}
 36
 37      event: content_block_delta
 38      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"I'll add and"}               }
 39
 40      event: content_block_delta
 41      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" multiply the numbers"}           }
 42
 43      event: content_block_delta
 44      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" 2 and 3 for"}        }
 45
 46      event: content_block_delta
 47      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you."}           }
 48
 49      event: content_block_stop
 50      data: {"type":"content_block_stop","index":0            }
 51
 52      event: content_block_start
 53      data: {"type":"content_block_start","index":1,"content_block":{"type":"tool_use","id":"toolu_01UYxUYC2zRPY8wiutnF48eP","name":"add","input":{},"caller":{"type":"direct"}}     }
 54
 55      event: content_block_delta
 56      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":""}               }
 57
 58      event: content_block_delta
 59      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"{\"a\": 2"}}
 60
 61      event: content_block_delta
 62      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":", \"b\""}             }
 63
 64      event: content_block_delta
 65      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":": 3}"}}
 66
 67      event: content_block_stop
 68      data: {"type":"content_block_stop","index":1}
 69
 70      event: content_block_start
 71      data: {"type":"content_block_start","index":2,"content_block":{"type":"tool_use","id":"toolu_01VaRx1jpWCvPhi7L4kywAcd","name":"multiply","input":{},"caller":{"type":"direct"}}               }
 72
 73      event: content_block_delta
 74      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":""}          }
 75
 76      event: content_block_delta
 77      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"{\"a\": 2"}               }
 78
 79      event: content_block_delta
 80      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":", \"b\":"}}
 81
 82      event: content_block_delta
 83      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":" 3}"}             }
 84
 85      event: content_block_stop
 86      data: {"type":"content_block_stop","index":2         }
 87
 88      event: message_delta
 89      data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":502,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":137}  }
 90
 91      event: message_stop
 92      data: {"type":"message_stop"             }
 93
 94    headers:
 95      Content-Type:
 96      - text/event-stream; charset=utf-8
 97    status: 200 OK
 98    code: 200
 99    duration: 1.1473735s
100- id: 1
101  request:
102    proto: HTTP/1.1
103    proto_major: 1
104    proto_minor: 1
105    content_length: 1358
106    host: ""
107    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Add and multiply the number 2 and 3","type":"text"}],"role":"user"},{"content":[{"text":"I''ll add and multiply the numbers 2 and 3 for you.","type":"text"},{"id":"toolu_01UYxUYC2zRPY8wiutnF48eP","input":{"a":2,"b":3},"name":"add","type":"tool_use"},{"id":"toolu_01VaRx1jpWCvPhi7L4kywAcd","input":{"a":2,"b":3},"name":"multiply","type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_01UYxUYC2zRPY8wiutnF48eP","content":[{"text":"5","type":"text"}],"type":"tool_result"},{"tool_use_id":"toolu_01VaRx1jpWCvPhi7L4kywAcd","content":[{"text":"6","type":"text"}],"type":"tool_result"}],"role":"user"}],"model":"claude-sonnet-4-20250514","system":[{"text":"You are a helpful assistant. Always use both add and multiply at the same time.","type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"add","description":"Add two numbers"},{"input_schema":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"},"name":"multiply","description":"Multiply two numbers"}],"stream":true}'
108    headers:
109      Accept:
110      - application/json
111      Content-Type:
112      - application/json
113      User-Agent:
114      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
115    url: https://api.anthropic.com/v1/messages
116    method: POST
117  response:
118    proto: HTTP/2.0
119    proto_major: 2
120    proto_minor: 0
121    content_length: -1
122    uncompressed: true
123    body: |+
124      event: message_start
125      data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_015WPQbJC4ysDAi7LuCD43Fp","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":700,"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","inference_geo":"not_available"}}               }
126
127      event: content_block_start
128      data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}          }
129
130      event: ping
131      data: {"type": "ping"}
132
133      event: content_block_delta
134      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The"}               }
135
136      event: content_block_delta
137      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" results"}           }
138
139      event: content_block_delta
140      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" are:\n- "}  }
141
142      event: content_block_delta
143      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2 + 3 = "}   }
144
145      event: content_block_delta
146      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"5\n- 2 × "}            }
147
148      event: content_block_delta
149      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"3 = 6"}      }
150
151      event: content_block_stop
152      data: {"type":"content_block_stop","index":0   }
153
154      event: message_delta
155      data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":700,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":31}         }
156
157      event: message_stop
158      data: {"type":"message_stop"         }
159
160    headers:
161      Content-Type:
162      - text/event-stream; charset=utf-8
163    status: 200 OK
164    code: 200
165    duration: 1.157220125s