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: 621
 10    host: ""
 11    body: '{"messages":[{"content":"You are a helpful assistant","role":"system","cache_control":{"type":"ephemeral"}},{"content":"What''s the weather in Florence,Italy?","role":"user","cache_control":{"type":"ephemeral"}}],"model":"anthropic/claude-haiku-4.5","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"usage":{"include":true},"stream":true}'
 12    headers:
 13      Accept:
 14      - application/json
 15      Content-Type:
 16      - application/json
 17      User-Agent:
 18      - Charm-Fantasy/0.15.0 (https://charm.land/fantasy)
 19    url: https://openrouter.ai/api/v1/chat/completions
 20    method: POST
 21  response:
 22    proto: HTTP/2.0
 23    proto_major: 2
 24    proto_minor: 0
 25    content_length: -1
 26    body: |+
 27      : OPENROUTER PROCESSING
 28
 29      : OPENROUTER PROCESSING
 30
 31      : OPENROUTER PROCESSING
 32
 33      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"id":"toolu_bdrk_01QQHfcup9N3oZuLJo424HVC","type":"function","function":{"name":"weather","arguments":""}}]},"finish_reason":null,"native_finish_reason":null}]}
 34
 35      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":""}}]},"finish_reason":null,"native_finish_reason":null}]}
 36
 37      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":""}}]},"finish_reason":null,"native_finish_reason":null}]}
 38
 39      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"{\"locati"}}]},"finish_reason":null,"native_finish_reason":null}]}
 40
 41      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"on\": \"Flor"}}]},"finish_reason":null,"native_finish_reason":null}]}
 42
 43      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"ence, It"}}]},"finish_reason":null,"native_finish_reason":null}]}
 44
 45      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":null,"role":"assistant","tool_calls":[{"index":0,"function":{"arguments":"aly\"}"}}]},"finish_reason":null,"native_finish_reason":null}]}
 46
 47      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"tool_calls","native_finish_reason":"tool_calls"}]}
 48
 49      data: {"id":"gen-1773945515-sgmaEwpZZyQZdwfyE0yB","object":"chat.completion.chunk","created":1773945515,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"tool_calls","native_finish_reason":"tool_calls"}],"usage":{"prompt_tokens":577,"completion_tokens":54,"total_tokens":631,"cost":0.000847,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.000847,"upstream_inference_prompt_cost":0.000577,"upstream_inference_completions_cost":0.00027},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}}}
 50
 51      data: [DONE]
 52
 53    headers:
 54      Content-Type:
 55      - text/event-stream
 56    status: 200 OK
 57    code: 200
 58    duration: 1.609333666s
 59- id: 1
 60  request:
 61    proto: HTTP/1.1
 62    proto_major: 1
 63    proto_minor: 1
 64    content_length: 886
 65    host: ""
 66    body: '{"messages":[{"content":"You are a helpful assistant","role":"system","cache_control":{"type":"ephemeral"}},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"toolu_bdrk_01QQHfcup9N3oZuLJo424HVC","function":{"arguments":"{\"location\": \"Florence, Italy\"}","name":"weather"},"type":"function","cache_control":{"type":"ephemeral"}}],"role":"assistant"},{"content":"40 C","tool_call_id":"toolu_bdrk_01QQHfcup9N3oZuLJo424HVC","role":"tool"}],"model":"anthropic/claude-haiku-4.5","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"usage":{"include":true},"stream":true}'
 67    headers:
 68      Accept:
 69      - application/json
 70      Content-Type:
 71      - application/json
 72      User-Agent:
 73      - Charm-Fantasy/0.15.0 (https://charm.land/fantasy)
 74    url: https://openrouter.ai/api/v1/chat/completions
 75    method: POST
 76  response:
 77    proto: HTTP/2.0
 78    proto_major: 2
 79    proto_minor: 0
 80    content_length: -1
 81    body: |+
 82      : OPENROUTER PROCESSING
 83
 84      : OPENROUTER PROCESSING
 85
 86      : OPENROUTER PROCESSING
 87
 88      : OPENROUTER PROCESSING
 89
 90      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"The current","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 91
 92      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" weather in Florence, Italy is **","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 93
 94      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"40°C (","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 95
 96      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"104°F)**,","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 97
 98      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" which","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
 99
100      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" is quite","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
101
102      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" hot","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
103
104      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"!","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
105
106      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" It","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
107
108      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"'s a typical warm","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
109
110      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" day","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
111
112      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" in Florence.","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
113
114      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" Make","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
115
116      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" sure to stay","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
117
118      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" hydrated and use sun","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
119
120      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" protection if","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
121
122      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" you're","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
123
124      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" planning","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
125
126      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":" to be out","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
127
128      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"doors.","role":"assistant"},"finish_reason":null,"native_finish_reason":null}]}
129
130      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"stop"}]}
131
132      data: {"id":"gen-1773945517-KstYN5GyTgkkVlJf1xOk","object":"chat.completion.chunk","created":1773945517,"model":"anthropic/claude-4.5-haiku-20251001","provider":"Amazon Bedrock","choices":[{"index":0,"delta":{"content":"","role":"assistant"},"finish_reason":"stop","native_finish_reason":"stop"}],"usage":{"prompt_tokens":646,"completion_tokens":54,"total_tokens":700,"cost":0.000916,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"cache_write_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":0.000916,"upstream_inference_prompt_cost":0.000646,"upstream_inference_completions_cost":0.00027},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0,"audio_tokens":0}}}
133
134      data: [DONE]
135
136    headers:
137      Content-Type:
138      - text/event-stream
139    status: 200 OK
140    code: 200
141    duration: 1.755883125s