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: 941
 10    host: ""
 11    body: '{"messages":[{"content":"You are a helpful assistant. Always use both add and multiply at the same time.","role":"system","cache_control":{"type":"ephemeral"}},{"content":"Add and multiply the number 2 and 3","role":"user","cache_control":{"type":"ephemeral"}}],"model":"anthropic/claude-sonnet-4","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}],"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://ai-gateway.vercel.sh/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      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"role":"assistant"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 28
 29      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":"I'll add and"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 30
 31      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":" multiply the numbers"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 32
 33      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":" 2 and 3 for"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 34
 35      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":" you."},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 36
 37      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"id":"toolu_018nsjoYvpEgDt9YVftLaq7w","type":"function","function":{"name":"add","arguments":""}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 38
 39      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\"a\": 2"}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 40
 41      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":", \"b\": 3}"}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 42
 43      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"id":"toolu_011V64RqpHWpxKAL2Wn728hN","type":"function","function":{"name":"multiply","arguments":""}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 44
 45      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":"{\"a\": 2"}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 46
 47      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"tool_calls":[{"index":1,"function":{"arguments":", \"b\": 3}"}}]},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_12trgkxgr2"}
 48
 49      data: {"id":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","object":"chat.completion.chunk","created":1773346289,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"provider_metadata":{"anthropic":{"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":137,"service_tier":"standard","inference_geo":"not_available"},"cacheCreationInputTokens":0,"stopSequence":null,"iterations":null,"container":null,"contextManagement":null},"gateway":{"routing":{"originalModelId":"anthropic/claude-sonnet-4","resolvedProvider":"anthropic","resolvedProviderApiModelId":"claude-sonnet-4-20250514","internalResolvedModelId":"anthropic:claude-sonnet-4-20250514","fallbacksAvailable":["vertexAnthropic","bedrock"],"internalReasoning":"Selected anthropic as preferred provider for claude-sonnet-4. 2 fallback(s) available: vertexAnthropic, bedrock","planningReasoning":"System credentials planned for: anthropic, vertexAnthropic, bedrock. Total execution order: anthropic(system) → vertexAnthropic(system) → bedrock(system)","canonicalSlug":"anthropic/claude-sonnet-4","finalProvider":"anthropic","attempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":1307632.745509,"endTime":1309633.090666,"providerRequestId":"req_011CYyo4SdLugYPeFMUcQj8n","statusCode":200,"providerResponseId":"msg_01X8ZyAZHiU6AiujLZ4W3y71"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"anthropic:claude-sonnet-4-20250514","canonicalSlug":"anthropic/claude-sonnet-4","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":1307632.745509,"endTime":1309633.090666,"providerRequestId":"req_011CYyo4SdLugYPeFMUcQj8n","statusCode":200,"providerResponseId":"msg_01X8ZyAZHiU6AiujLZ4W3y71"}]}],"totalProviderAttemptCount":1},"cost":"0.003561","marketCost":"0.003561","generationId":"gen_01KKHTSX236D1FEGSZ9W8ST5R5","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":502,"completion_tokens":137,"total_tokens":639,"cost":0.003561,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0,"upstream_inference_completions_cost":0},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.003561},"system_fingerprint":"fp_12trgkxgr2","generationId":"gen_01KKHTSX236D1FEGSZ9W8ST5R5"}
 50
 51      data: [DONE]
 52
 53    headers:
 54      Content-Type:
 55      - text/event-stream
 56    status: 200 OK
 57    code: 200
 58    duration: 1.126806916s
 59- id: 1
 60  request:
 61    proto: HTTP/1.1
 62    proto_major: 1
 63    proto_minor: 1
 64    content_length: 1439
 65    host: ""
 66    body: '{"messages":[{"content":"You are a helpful assistant. Always use both add and multiply at the same time.","role":"system","cache_control":{"type":"ephemeral"}},{"content":"Add and multiply the number 2 and 3","role":"user"},{"content":"I''ll add and multiply the numbers 2 and 3 for you.","tool_calls":[{"id":"toolu_018nsjoYvpEgDt9YVftLaq7w","function":{"arguments":"{\"a\": 2, \"b\": 3}","name":"add"},"type":"function"},{"id":"toolu_011V64RqpHWpxKAL2Wn728hN","function":{"arguments":"{\"a\": 2, \"b\": 3}","name":"multiply"},"type":"function","cache_control":{"type":"ephemeral"}}],"role":"assistant"},{"content":"5","tool_call_id":"toolu_018nsjoYvpEgDt9YVftLaq7w","role":"tool"},{"content":"6","tool_call_id":"toolu_011V64RqpHWpxKAL2Wn728hN","role":"tool"}],"model":"anthropic/claude-sonnet-4","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}],"stream":true}'
 67    headers:
 68      Accept:
 69      - application/json
 70      Content-Type:
 71      - application/json
 72      User-Agent:
 73      - Charm-Fantasy/0.12.2 (https://charm.land/fantasy)
 74    url: https://ai-gateway.vercel.sh/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      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"role":"assistant"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_q1t5pqatrl"}
 83
 84      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":"The results"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_q1t5pqatrl"}
 85
 86      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":" are"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_q1t5pqatrl"}
 87
 88      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":":\n- "},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_q1t5pqatrl"}
 89
 90      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":"2 + 3 = "},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_q1t5pqatrl"}
 91
 92      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":"5\n- 2 × "},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_q1t5pqatrl"}
 93
 94      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"content":"3 = 6"},"logprobs":null,"finish_reason":null}],"system_fingerprint":"fp_q1t5pqatrl"}
 95
 96      data: {"id":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","object":"chat.completion.chunk","created":1773346291,"model":"anthropic/claude-sonnet-4","choices":[{"index":0,"delta":{"provider_metadata":{"anthropic":{"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":31,"service_tier":"standard","inference_geo":"not_available"},"cacheCreationInputTokens":0,"stopSequence":null,"iterations":null,"container":null,"contextManagement":null},"gateway":{"routing":{"originalModelId":"anthropic/claude-sonnet-4","resolvedProvider":"anthropic","resolvedProviderApiModelId":"claude-sonnet-4-20250514","internalResolvedModelId":"anthropic:claude-sonnet-4-20250514","fallbacksAvailable":["vertexAnthropic","bedrock"],"internalReasoning":"Selected anthropic as preferred provider for claude-sonnet-4. 2 fallback(s) available: vertexAnthropic, bedrock","planningReasoning":"System credentials planned for: anthropic, vertexAnthropic, bedrock. Total execution order: anthropic(system) → vertexAnthropic(system) → bedrock(system)","canonicalSlug":"anthropic/claude-sonnet-4","finalProvider":"anthropic","attempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":440939.144819,"endTime":442365.362981,"providerRequestId":"req_011CYyo4bryBiaWHGYnEAEUy","statusCode":200,"providerResponseId":"msg_017tjfndB3kgqyiHTHVQiF9m"}],"modelAttemptCount":1,"modelAttempts":[{"modelId":"anthropic:claude-sonnet-4-20250514","canonicalSlug":"anthropic/claude-sonnet-4","success":true,"providerAttemptCount":1,"providerAttempts":[{"provider":"anthropic","internalModelId":"anthropic:claude-sonnet-4-20250514","providerApiModelId":"claude-sonnet-4-20250514","credentialType":"system","success":true,"startTime":440939.144819,"endTime":442365.362981,"providerRequestId":"req_011CYyo4bryBiaWHGYnEAEUy","statusCode":200,"providerResponseId":"msg_017tjfndB3kgqyiHTHVQiF9m"}]}],"totalProviderAttemptCount":1},"cost":"0.002565","marketCost":"0.002565","generationId":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR","billableWebSearchCalls":0}}},"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":700,"completion_tokens":31,"total_tokens":731,"cost":0.002565,"is_byok":false,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0,"video_tokens":0},"cost_details":{"upstream_inference_cost":null,"upstream_inference_prompt_cost":0,"upstream_inference_completions_cost":0},"completion_tokens_details":{"reasoning_tokens":0,"image_tokens":0},"cache_creation_input_tokens":0,"market_cost":0.002565},"system_fingerprint":"fp_q1t5pqatrl","generationId":"gen_01KKHTSZ5E3HBMXS2NMT9NN5MR"}
 97
 98      data: [DONE]
 99
100    headers:
101      Content-Type:
102      - text/event-stream
103    status: 200 OK
104    code: 200
105    duration: 1.148573375s