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: 510
 10    host: ""
 11    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"What''s the weather in Florence,Italy?","type":"text"}],"role":"user"}],"model":"claude-sonnet-4-20250514","system":[{"text":"You are a helpful assistant","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_01Kgk6kMJLdJJC26r3uFwpRU","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":6,"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 get the weather information"}     }
 39
 40      event: content_block_delta
 41      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" for Florence, 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_01N2eM4V43kGCDkq2Lw7ChWQ","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":" \"Fl"}        }
 60
 61      event: content_block_delta
 62      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"orence,It"}          }
 63
 64      event: content_block_delta
 65      data: {"type":"content_block_delta","index":1,"delta":{"type":"input_json_delta","partial_json":"aly\"}"}      }
 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":67}             }
 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.147410833s
 82- id: 1
 83  request:
 84    proto: HTTP/1.1
 85    proto_major: 1
 86    proto_minor: 1
 87    content_length: 883
 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 get the weather information for Florence, Italy for you.","type":"text"},{"id":"toolu_01N2eM4V43kGCDkq2Lw7ChWQ","input":{"location":"Florence,Italy"},"name":"weather","type":"tool_use"}],"role":"assistant"},{"content":[{"tool_use_id":"toolu_01N2eM4V43kGCDkq2Lw7ChWQ","content":[{"text":"40 C","type":"text"}],"type":"tool_result"}],"role":"user"}],"model":"claude-sonnet-4-20250514","system":[{"text":"You are a helpful assistant","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_01Kx5NVw2m4AvAyCQQ5zV4pU","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":476,"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 shows"}               }
123
124      event: content_block_delta
125      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" a"}              }
126
127      event: content_block_delta
128      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" temperature of 40°C (104"}     }
129
130      event: content_block_delta
131      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"°F). That"}       }
132
133      event: content_block_delta
134      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"'s quite hot! Make"}            }
135
136      event: content_block_delta
137      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" sure to"}            }
138
139      event: content_block_delta
140      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" stay hydrated and seek"}               }
141
142      event: content_block_delta
143      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" shade if"}  }
144
145      event: content_block_delta
146      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" you're planning to be"}     }
147
148      event: content_block_delta
149      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" outd"}        }
150
151      event: content_block_delta
152      data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"oors."}           }
153
154      event: content_block_stop
155      data: {"type":"content_block_stop","index":0     }
156
157      event: message_delta
158      data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":476,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":46} }
159
160      event: message_stop
161      data: {"type":"message_stop"            }
162
163    headers:
164      Content-Type:
165      - text/event-stream; charset=utf-8
166    status: 200 OK
167    code: 200
168    duration: 1.178172458s