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: 886
 10    host: ""
 11    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Add and multiply the number 2 and 3","cache_control":{"type":"ephemeral"},"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.","cache_control":{"type":"ephemeral"},"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_01WUQ4q2kHhNVGdPSr4ChBMc","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_01NbP3iG8A6TYDwEUxN6tiWw","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\""}    }
 60
 61      event: content_block_delta
 62      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":": 2"}          }
 63
 64      event: content_block_delta
 65      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":", \""}}
 66
 67      event: content_block_delta
 68      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"b\": 3}"}     }
 69
 70      event: content_block_stop
 71      data: {"type":"content_block_stop","index":1             }
 72
 73      event: content_block_start
 74      data: {"type":"content_block_start","index":2,"content_block":{"type":"tool_use","id":"toolu_01Luz2H6g7H2QWmHBDtu4r24","name":"multiply","input":{},"caller":{"type":"direct"}}              }
 75
 76      event: content_block_delta
 77      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":""}   }
 78
 79      event: content_block_delta
 80      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"{\""}           }
 81
 82      event: content_block_delta
 83      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":"a\": 2"}      }
 84
 85      event: content_block_delta
 86      data: {"type":"content_block_delta","index":2,"delta":{"type":"input_json_delta","partial_json":", \"b\": 3}"}}
 87
 88      event: content_block_stop
 89      data: {"type":"content_block_stop","index":2     }
 90
 91      event: message_delta
 92      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}  }
 93
 94      event: message_stop
 95      data: {"type":"message_stop"      }
 96
 97    headers:
 98      Content-Type:
 99      - text/event-stream; charset=utf-8
100    status: 200 OK
101    code: 200
102    duration: 3.220453875s
103- id: 1
104  request:
105    proto: HTTP/1.1
106    proto_major: 1
107    proto_minor: 1
108    content_length: 1469
109    host: ""
110    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_01NbP3iG8A6TYDwEUxN6tiWw","input":{"a":2,"b":3},"name":"add","type":"tool_use"},{"id":"toolu_01Luz2H6g7H2QWmHBDtu4r24","input":{"a":2,"b":3},"name":"multiply","cache_control":{"type":"ephemeral"},"type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_01NbP3iG8A6TYDwEUxN6tiWw","content":[{"text":"5","type":"text"}],"type":"tool_result"},{"tool_use_id":"toolu_01Luz2H6g7H2QWmHBDtu4r24","cache_control":{"type":"ephemeral"},"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.","cache_control":{"type":"ephemeral"},"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}'
111    headers:
112      Accept:
113      - application/json
114      Content-Type:
115      - application/json
116      User-Agent:
117      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
118    url: https://api.anthropic.com/v1/messages
119    method: POST
120  response:
121    proto: HTTP/2.0
122    proto_major: 2
123    proto_minor: 0
124    content_length: -1
125    uncompressed: true
126    body: |+
127      event: message_start
128      data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_01YQHQrZEJq37xUZY5pj9zkf","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"}}  }
129
130      event: content_block_start
131      data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}           }
132
133      event: ping
134      data: {"type": "ping"}
135
136      event: content_block_delta
137      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The"} }
138
139      event: content_block_delta
140      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" results"}}
141
142      event: content_block_delta
143      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" are"}}
144
145      event: content_block_delta
146      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":":\n- "}       }
147
148      event: content_block_delta
149      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"2 + 3 = "}     }
150
151      event: content_block_delta
152      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"5\n- 2 × "}  }
153
154      event: content_block_delta
155      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"3 = 6"} }
156
157      event: content_block_stop
158      data: {"type":"content_block_stop","index":0   }
159
160      event: message_delta
161      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}      }
162
163      event: message_stop
164      data: {"type":"message_stop" }
165
166    headers:
167      Content-Type:
168      - text/event-stream; charset=utf-8
169    status: 200 OK
170    code: 200
171    duration: 1.835685167s