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: 584
 10    host: ""
 11    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"What''s the weather in Florence,Italy?","cache_control":{"type":"ephemeral"},"type":"text"}],"role":"user"}],"model":"claude-sonnet-4-20250514","system":[{"text":"You are a helpful assistant","cache_control":{"type":"ephemeral"},"type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location"}],"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_013YEyRmBYgjxsPxQz6UfCFL","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":394,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":8,"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 check the weather in Florence,"}           }
 39
 40      event: content_block_delta
 41      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Italy for you."}     }
 42
 43      event: content_block_stop
 44      data: {"type":"content_block_stop","index":0            }
 45
 46      event: content_block_start
 47      data: {"type":"content_block_start","index":1,"content_block":{"type":"tool_use","id":"toolu_01XyYVp2FLhsEv6yVQH9basi","name":"weather","input":{},"caller":{"type":"direct"}}      }
 48
 49      event: content_block_delta
 50      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":""}              }
 51
 52      event: content_block_delta
 53      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"{\"locati"}               }
 54
 55      event: content_block_delta
 56      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"on\": "}  }
 57
 58      event: content_block_delta
 59      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"\"F"} }
 60
 61      event: content_block_delta
 62      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"lorence,Ita"}          }
 63
 64      event: content_block_delta
 65      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"ly\"}"}    }
 66
 67      event: content_block_stop
 68      data: {"type":"content_block_stop","index":1             }
 69
 70      event: message_delta
 71      data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":394,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":66}           }
 72
 73      event: message_stop
 74      data: {"type":"message_stop"         }
 75
 76    headers:
 77      Content-Type:
 78      - text/event-stream; charset=utf-8
 79    status: 200 OK
 80    code: 200
 81    duration: 1.309189375s
 82- id: 1
 83  request:
 84    proto: HTTP/1.1
 85    proto_major: 1
 86    proto_minor: 1
 87    content_length: 983
 88    host: ""
 89    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"What''s the weather in Florence,Italy?","type":"text"}],"role":"user"},{"content":[{"text":"I''ll check the weather in Florence, Italy for you.","type":"text"},{"id":"toolu_01XyYVp2FLhsEv6yVQH9basi","input":{"location":"Florence,Italy"},"name":"weather","cache_control":{"type":"ephemeral"},"type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_01XyYVp2FLhsEv6yVQH9basi","cache_control":{"type":"ephemeral"},"content":[{"text":"40 C","type":"text"}],"type":"tool_result"}],"role":"user"}],"model":"claude-sonnet-4-20250514","system":[{"text":"You are a helpful assistant","cache_control":{"type":"ephemeral"},"type":"text"}],"tool_choice":{"disable_parallel_tool_use":false,"type":"auto"},"tools":[{"input_schema":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"},"name":"weather","description":"Get weather information for a location"}],"stream":true}'
 90    headers:
 91      Accept:
 92      - application/json
 93      Content-Type:
 94      - application/json
 95      User-Agent:
 96      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
 97    url: https://api.anthropic.com/v1/messages
 98    method: POST
 99  response:
100    proto: HTTP/2.0
101    proto_major: 2
102    proto_minor: 0
103    content_length: -1
104    uncompressed: true
105    body: |+
106      event: message_start
107      data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_01NAPRm3s7WySywMmPADDVTG","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":475,"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"}}          }
108
109      event: content_block_start
110      data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}               }
111
112      event: ping
113      data: {"type": "ping"}
114
115      event: content_block_delta
116      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"The"}  }
117
118      event: content_block_delta
119      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" current"}              }
120
121      event: content_block_delta
122      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" weather in Florence, Italy is 40"}     }
123
124      event: content_block_delta
125      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"°C (104°F)."}         }
126
127      event: content_block_delta
128      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" That"}         }
129
130      event: content_block_delta
131      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"'s quite"}            }
132
133      event: content_block_delta
134      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" hot"}}
135
136      event: content_block_delta
137      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"}}
138
139      event: content_block_delta
140      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" Make"}              }
141
142      event: content_block_delta
143      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" sure to stay"}           }
144
145      event: content_block_delta
146      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" hydrated and seek"}              }
147
148      event: content_block_delta
149      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" shade if"}       }
150
151      event: content_block_delta
152      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're planning"}      }
153
154      event: content_block_delta
155      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" to be outd"}      }
156
157      event: content_block_delta
158      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"oors."}       }
159
160      event: content_block_stop
161      data: {"type":"content_block_stop","index":0           }
162
163      event: message_delta
164      data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":475,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":43}         }
165
166      event: message_stop
167      data: {"type":"message_stop"             }
168
169    headers:
170      Content-Type:
171      - text/event-stream; charset=utf-8
172    status: 200 OK
173    code: 200
174    duration: 1.15866475s