diff --git a/crates/coverage-report/src/requests_expected_differences.json b/crates/coverage-report/src/requests_expected_differences.json index bbc8c744..113759bf 100644 --- a/crates/coverage-report/src/requests_expected_differences.json +++ b/crates/coverage-report/src/requests_expected_differences.json @@ -148,7 +148,9 @@ { "pattern": "params.top_p", "reason": "Google uses f32 for top_p, causing precision loss (0.9 → 0.8999999761581421)" }, { "pattern": "messages[*].content[*].media_type", "reason": "Google requires mime_type for images; null defaults to image/jpeg" }, { "pattern": "messages[*].content[*].provider_options", "reason": "Google doesn't support provider_options on content parts" }, - { "pattern": "messages.length", "reason": "Google moves system messages to systemInstruction and merges consecutive same-role messages" } + { "pattern": "messages.length", "reason": "Google moves system messages to systemInstruction and merges consecutive same-role messages" }, + { "pattern": "messages[*].content[*].tool_name", "reason": "Google requires functionResponse.name; tool names are populated from preceding tool calls when not present in source format (ChatCompletions and Anthropic tool results don't carry tool names)" }, + { "pattern": "messages[*].content[*].tool_call_id", "reason": "Google doesn't preserve tool call IDs; synthetic positional IDs are generated on re-parse" } ], "errors": [ { "pattern": "is not supported by Google", "reason": "Provider-specific built-in tool has no Google equivalent" } @@ -422,6 +424,22 @@ "fields": [ { "pattern": "params.reasoning", "reason": "Anthropic rejects enabled thinking when tool_choice forces a specific tool; thinking is intentionally dropped" } ] + }, + { + "testCase": "parallelToolCallsRequest", + "source": "*", + "target": "ChatCompletions", + "fields": [ + { "pattern": "messages.length", "reason": "Parallel tool results grouped in one Tool message expand to separate role:tool messages in ChatCompletions" } + ] + }, + { + "testCase": "parallelToolCallsRequest", + "source": "*", + "target": "Responses", + "fields": [ + { "pattern": "messages.length", "reason": "Parallel tool results grouped in one Tool message expand to separate function_call_output items in Responses API" } + ] } ] } diff --git a/crates/coverage-report/src/responses_expected_differences.json b/crates/coverage-report/src/responses_expected_differences.json index fc881451..9573d6f7 100644 --- a/crates/coverage-report/src/responses_expected_differences.json +++ b/crates/coverage-report/src/responses_expected_differences.json @@ -8,6 +8,13 @@ { "pattern": "params.service_tier", "reason": "OpenAI-specific billing tier not universal" } ] }, + { + "source": "*", + "target": "Google", + "fields": [ + { "pattern": "messages[*].content[*].tool_call_id", "reason": "Google doesn't preserve tool call IDs; synthetic positional IDs are generated on re-parse" } + ] + }, { "source": "Responses", "target": "Google", diff --git a/crates/lingua/src/providers/google/adapter.rs b/crates/lingua/src/providers/google/adapter.rs index 3824e9dd..b0692a84 100644 --- a/crates/lingua/src/providers/google/adapter.rs +++ b/crates/lingua/src/providers/google/adapter.rs @@ -22,6 +22,7 @@ use crate::universal::convert::TryFromLLM; use crate::universal::message::{AssistantContent, AssistantContentPart, Message}; use crate::universal::request::ToolChoiceConfig; use crate::universal::tools::UniversalTool; +use crate::universal::ToolContentPart; use crate::universal::{ extract_system_messages, flatten_consecutive_messages, FinishReason, TokenBudget, UniversalParams, UniversalRequest, UniversalResponse, UniversalStreamChoice, @@ -181,6 +182,10 @@ impl ProviderAdapter for GoogleAdapter { // Flatten consecutive messages of the same role (Google doesn't allow them) flatten_consecutive_messages(&mut messages); + // Fill in tool names from preceding tool_calls — Google requires functionResponse.name + // but some formats (e.g. OpenAI chat-completions role:tool) don't carry the function name + fill_tool_names_from_context(&mut messages); + // Convert messages to Google contents let google_contents: Vec = as TryFromLLM>>::try_from(messages) @@ -663,6 +668,46 @@ impl ProviderAdapter for GoogleAdapter { } } +/// Build a tool_call_id → tool_name map from assistant messages and use it to +/// fill in empty tool names on Tool messages. Google requires `functionResponse.name` +/// but formats like OpenAI chat-completions don't include the name on tool result +/// messages — only the preceding assistant message has it. +fn fill_tool_names_from_context(messages: &mut [Message]) { + let mut id_to_name: std::collections::HashMap = Default::default(); + for msg in messages.iter() { + if let Message::Assistant { + content: AssistantContent::Array(parts), + .. + } = msg + { + for part in parts { + if let AssistantContentPart::ToolCall { + tool_call_id, + tool_name, + .. + } = part + { + if !tool_name.is_empty() { + id_to_name.insert(tool_call_id.clone(), tool_name.clone()); + } + } + } + } + } + for msg in messages.iter_mut() { + if let Message::Tool { content } = msg { + for part in content.iter_mut() { + let ToolContentPart::ToolResult(result) = part; + if result.tool_name.is_empty() { + if let Some(name) = id_to_name.get(&result.tool_call_id) { + result.tool_name = name.clone(); + } + } + } + } + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/crates/lingua/src/providers/google/convert.rs b/crates/lingua/src/providers/google/convert.rs index 25994477..809ead7b 100644 --- a/crates/lingua/src/providers/google/convert.rs +++ b/crates/lingua/src/providers/google/convert.rs @@ -32,6 +32,9 @@ use crate::universal::response::{FinishReason, UniversalUsage}; use crate::universal::tools::{BuiltinToolProvider, UniversalTool, UniversalToolType}; use crate::util::media::parse_base64_data_url; +/// Prefix for synthetic tool call IDs generated when Google omits them. +const SYNTHETIC_CALL_ID_PREFIX: &str = "call_"; + // ============================================================================ // Google Content -> Universal Message // ============================================================================ @@ -155,8 +158,18 @@ impl TryFromLLM for Message { reason: format!("Failed to serialize function call args: {e}"), } })?; + // Google omits `id` on functionCall parts; generate a + // positional synthetic ID so other providers get a non-empty + // call_id to correlate calls with results. + let call_index = assistant_parts + .iter() + .filter(|p| matches!(p, AssistantContentPart::ToolCall { .. })) + .count(); + let tool_call_id = fc.id.clone().unwrap_or_else(|| { + format!("{SYNTHETIC_CALL_ID_PREFIX}{call_index}") + }); assistant_parts.push(AssistantContentPart::ToolCall { - tool_call_id: fc.id.clone().unwrap_or_default(), + tool_call_id, tool_name: tool_name.clone(), arguments: ToolCallArguments::from(args_string), encrypted_content, @@ -219,8 +232,13 @@ impl TryFromLLM for Message { Some(map) => Value::Object(map.clone()), None => Value::Null, }; + // Mirror the synthetic ID logic used for functionCall parts. + let response_index = tool_parts.len(); + let tool_call_id = fr.id.clone().unwrap_or_else(|| { + format!("{SYNTHETIC_CALL_ID_PREFIX}{response_index}") + }); tool_parts.push(ToolContentPart::ToolResult(ToolResultContentPart { - tool_call_id: fr.id.clone().unwrap_or_default(), + tool_call_id, tool_name: tool_name.clone(), output, provider_options: None, @@ -365,7 +383,10 @@ impl TryFromLLM for GoogleContent { converted.push(GooglePart { function_call: Some(GoogleFunctionCall { - id: Some(tool_call_id).filter(|s| !s.is_empty()), + id: Some(tool_call_id).filter(|s| { + !s.is_empty() + && !s.starts_with(SYNTHETIC_CALL_ID_PREFIX) + }), name: Some(tool_name), args, }), @@ -416,7 +437,9 @@ impl TryFromLLM for GoogleContent { Ok(GooglePart { function_response: Some(GoogleFunctionResponse { - id: Some(result.tool_call_id).filter(|s| !s.is_empty()), + id: Some(result.tool_call_id).filter(|s| { + !s.is_empty() && !s.starts_with(SYNTHETIC_CALL_ID_PREFIX) + }), name: Some(result.tool_name), response, ..Default::default() @@ -526,6 +549,7 @@ impl From<&FunctionDeclaration> for UniversalTool { .as_ref() .as_ref() .and_then(|schema| serde_json::to_value(schema).ok()) + .map(normalize_google_schema_types) }); UniversalTool::function( @@ -537,6 +561,33 @@ impl From<&FunctionDeclaration> for UniversalTool { } } +/// Recursively lowercase `"type"` values in a JSON schema. +/// +/// Google serializes its `Type` enum as SCREAMING_SNAKE_CASE (`"OBJECT"`, `"STRING"`, …), +/// but the universal/JSON-Schema convention (and what Anthropic expects) is lowercase. +/// `parameters_json_schema` (when present) is already in standard form; this function +/// is only needed for schemas serialized from the typed `Schema` struct. +fn normalize_google_schema_types(mut value: Value) -> Value { + match &mut value { + Value::Object(map) => { + if let Some(Value::String(t)) = map.get_mut("type") { + *t = t.to_lowercase(); + } + map.retain(|_, v| !v.is_null()); + for v in map.values_mut() { + *v = normalize_google_schema_types(std::mem::take(v)); + } + } + Value::Array(arr) => { + for v in arr.iter_mut() { + *v = normalize_google_schema_types(std::mem::take(v)); + } + } + _ => {} + } + value +} + impl TryFrom<&UniversalTool> for FunctionDeclaration { type Error = ConvertError; @@ -996,7 +1047,7 @@ mod tests { .. } => { assert_eq!(tool_name, "get_weather"); - assert_eq!(tool_call_id, ""); + assert_eq!(tool_call_id, "call_0"); } _ => panic!("Expected tool call part"), } diff --git a/crates/lingua/src/providers/openai/adapter.rs b/crates/lingua/src/providers/openai/adapter.rs index fc0c18fe..12865758 100644 --- a/crates/lingua/src/providers/openai/adapter.rs +++ b/crates/lingua/src/providers/openai/adapter.rs @@ -15,7 +15,8 @@ use crate::processing::adapters::{ use crate::processing::transform::TransformError; use crate::providers::openai::capabilities::{apply_model_transforms, model_needs_transforms}; use crate::providers::openai::convert::{ - ChatCompletionRequestMessageExt, ChatCompletionResponseMessageExt, + messages_to_chat_completion_messages, ChatCompletionRequestMessageExt, + ChatCompletionResponseMessageExt, }; use crate::providers::openai::params::{OpenAIChatExtrasView, OpenAIChatParams}; use crate::providers::openai::tool_parsing::parse_openai_chat_tools_array; @@ -211,10 +212,7 @@ impl ProviderAdapter for OpenAIAdapter { if let Some(raw_messages) = openai_extras_view.messages.as_ref() { obj.insert("messages".into(), raw_messages.clone()); } else { - let openai_messages: Vec = - as TryFromLLM>>::try_from( - req.messages.clone(), - ) + let openai_messages = messages_to_chat_completion_messages(req.messages.clone()) .map_err(|e| TransformError::FromUniversalFailed(e.to_string()))?; obj.insert( "messages".into(), diff --git a/crates/lingua/src/providers/openai/convert.rs b/crates/lingua/src/providers/openai/convert.rs index 01ef855f..16c021ed 100644 --- a/crates/lingua/src/providers/openai/convert.rs +++ b/crates/lingua/src/providers/openai/convert.rs @@ -3030,48 +3030,72 @@ impl TryFromLLM for ChatCompletionRequestMessageExt { }) } Message::Tool { content } => { - // Extract the tool result content - let tool_result = content - .iter() - .map(|part| { - let ToolContentPart::ToolResult(result) = part; - result - }) - .next() - .ok_or_else(|| ConvertError::MissingRequiredField { + let part = content.into_iter().next().ok_or_else(|| { + ConvertError::MissingRequiredField { field: "tool_result".to_string(), - })?; - - // Convert output to string for OpenAI - let content_string = match &tool_result.output { - serde_json::Value::String(s) => s.clone(), - other => serde_json::to_string(other).map_err(|e| { - ConvertError::JsonSerializationFailed { - field: "tool_result_content".to_string(), - error: e.to_string(), - } - })?, - }; + } + })?; + let ToolContentPart::ToolResult(result) = part; + tool_result_to_chat_completion_message(result) + } + } + } +} - Ok(ChatCompletionRequestMessageExt { - base: openai::ChatCompletionRequestMessage { - role: openai::ChatCompletionRequestMessageRole::Tool, - content: Some(openai::ChatCompletionRequestMessageContent::String( - content_string, - )), - name: None, - tool_calls: None, - tool_call_id: Some(tool_result.tool_call_id.clone()), - audio: None, - function_call: None, - refusal: None, - }, - reasoning: None, - reasoning_signature: None, - }) +/// Convert `Vec` to `Vec`, expanding +/// any `Message::Tool` with multiple results into one message per result. +/// +/// Anthropic (and others) group parallel tool results into a single +/// `Message::Tool { content: [result1, result2] }`, but OpenAI Chat Completions +/// requires a separate `role: "tool"` message for each result. +pub(crate) fn messages_to_chat_completion_messages( + messages: Vec, +) -> Result, ConvertError> { + let mut result = Vec::new(); + for msg in messages { + match msg { + Message::Tool { content } => { + for part in content { + let ToolContentPart::ToolResult(tool_result) = part; + result.push(tool_result_to_chat_completion_message(tool_result)?); + } } + other => result + .push(>::try_from(other)?), } } + Ok(result) +} + +/// Convert a single tool result into a chat completions tool-role message. +pub(crate) fn tool_result_to_chat_completion_message( + result: ToolResultContentPart, +) -> Result { + let content_string = match &result.output { + serde_json::Value::String(s) => s.clone(), + other => { + serde_json::to_string(other).map_err(|e| ConvertError::JsonSerializationFailed { + field: "tool_result_content".to_string(), + error: e.to_string(), + })? + } + }; + Ok(ChatCompletionRequestMessageExt { + base: openai::ChatCompletionRequestMessage { + role: openai::ChatCompletionRequestMessageRole::Tool, + content: Some(openai::ChatCompletionRequestMessageContent::String( + content_string, + )), + name: None, + tool_calls: None, + tool_call_id: Some(result.tool_call_id), + audio: None, + function_call: None, + refusal: None, + }, + reasoning: None, + reasoning_signature: None, + }) } /// Convert UserContent to ChatCompletionRequestMessageContent diff --git a/payloads/cases/advanced.ts b/payloads/cases/advanced.ts index 09a07425..d7f251d3 100644 --- a/payloads/cases/advanced.ts +++ b/payloads/cases/advanced.ts @@ -458,6 +458,304 @@ export const advancedCases: TestCaseCollection = { }, }, + parallelToolCallsRequest: { + "chat-completions": { + model: OPENAI_CHAT_COMPLETIONS_MODEL, + messages: [ + { + role: "user", + content: "What's the weather in San Francisco and New York?", + }, + { + role: "assistant", + content: null, + tool_calls: [ + { + id: "call_sf", + type: "function", + function: { + name: "get_weather", + arguments: '{"location":"San Francisco, CA"}', + }, + }, + { + id: "call_nyc", + type: "function", + function: { + name: "get_weather", + arguments: '{"location":"New York, NY"}', + }, + }, + ], + }, + { + role: "tool", + tool_call_id: "call_sf", + content: "65°F and sunny.", + }, + { + role: "tool", + tool_call_id: "call_nyc", + content: "45°F and cloudy.", + }, + ], + tools: [ + { + type: "function", + function: { + name: "get_weather", + description: "Get the current weather for a location", + parameters: { + type: "object", + properties: { + location: { + type: "string", + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + }, + ], + }, + anthropic: { + model: ANTHROPIC_MODEL, + max_tokens: 1024, + messages: [ + { + role: "user", + content: "What's the weather in San Francisco and New York?", + }, + { + role: "assistant", + content: [ + { + type: "tool_use", + id: "toolu_sf", + name: "get_weather", + input: { location: "San Francisco, CA" }, + }, + { + type: "tool_use", + id: "toolu_nyc", + name: "get_weather", + input: { location: "New York, NY" }, + }, + ], + }, + { + role: "user", + content: [ + { + type: "tool_result", + tool_use_id: "toolu_sf", + content: "65°F and sunny.", + }, + { + type: "tool_result", + tool_use_id: "toolu_nyc", + content: "45°F and cloudy.", + }, + ], + }, + ], + tools: [ + { + name: "get_weather", + description: "Get the current weather for a location", + input_schema: { + type: "object", + properties: { + location: { + type: "string", + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + ], + tool_choice: { type: "auto" }, + }, + responses: { + model: OPENAI_RESPONSES_MODEL, + input: [ + { + role: "user", + content: "What's the weather in San Francisco and New York?", + }, + { + type: "function_call", + call_id: "call_sf", + name: "get_weather", + arguments: '{"location":"San Francisco, CA"}', + status: "completed", + }, + { + type: "function_call", + call_id: "call_nyc", + name: "get_weather", + arguments: '{"location":"New York, NY"}', + status: "completed", + }, + { + type: "function_call_output", + call_id: "call_sf", + output: "65°F and sunny.", + }, + { + type: "function_call_output", + call_id: "call_nyc", + output: "45°F and cloudy.", + }, + ], + tools: [ + { + type: "function", + name: "get_weather", + description: "Get the current weather for a location", + parameters: { + type: "object", + properties: { + location: { + type: "string", + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + strict: false, + }, + ], + }, + google: { + contents: [ + { + role: "user", + parts: [ + { text: "What's the weather in San Francisco and New York?" }, + ], + }, + { + role: "model", + parts: [ + { + functionCall: { + name: "get_weather", + args: { location: "San Francisco, CA" }, + }, + }, + { + functionCall: { + name: "get_weather", + args: { location: "New York, NY" }, + }, + }, + ], + }, + { + role: "user", + parts: [ + { + functionResponse: { + name: "get_weather", + response: { result: "65°F and sunny." }, + }, + }, + { + functionResponse: { + name: "get_weather", + response: { result: "45°F and cloudy." }, + }, + }, + ], + }, + ], + tools: [ + { + functionDeclarations: [ + { + name: "get_weather", + description: "Get the current weather for a location", + parameters: { + type: Type.OBJECT, + properties: { + location: { + type: Type.STRING, + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + ], + }, + ], + }, + bedrock: null, + "bedrock-anthropic": { + model: BEDROCK_ANTHROPIC_MODEL, + max_tokens: 1024, + messages: [ + { + role: "user", + content: "What's the weather in San Francisco and New York?", + }, + { + role: "assistant", + content: [ + { + type: "tool_use", + id: "toolu_sf", + name: "get_weather", + input: { location: "San Francisco, CA" }, + }, + { + type: "tool_use", + id: "toolu_nyc", + name: "get_weather", + input: { location: "New York, NY" }, + }, + ], + }, + { + role: "user", + content: [ + { + type: "tool_result", + tool_use_id: "toolu_sf", + content: "65°F and sunny.", + }, + { + type: "tool_result", + tool_use_id: "toolu_nyc", + content: "45°F and cloudy.", + }, + ], + }, + ], + tools: [ + { + name: "get_weather", + description: "Get the current weather for a location", + input_schema: { + type: "object", + properties: { + location: { + type: "string", + description: "The city and state, e.g. San Francisco, CA", + }, + }, + required: ["location"], + }, + }, + ], + tool_choice: { type: "auto" }, + }, + "vertex-anthropic": null, + }, + systemMessageArrayContent: { "chat-completions": { model: OPENAI_CHAT_COMPLETIONS_MODEL, diff --git a/payloads/scripts/transforms/__snapshots__/transforms-streaming.test.ts.snap b/payloads/scripts/transforms/__snapshots__/transforms-streaming.test.ts.snap index ea496d8a..051c510f 100644 --- a/payloads/scripts/transforms/__snapshots__/transforms-streaming.test.ts.snap +++ b/payloads/scripts/transforms/__snapshots__/transforms-streaming.test.ts.snap @@ -5279,6 +5279,183 @@ The background", ] `; +exports[`streaming: chat-completions → anthropic > parallelToolCallsRequest > streaming 1`] = ` +[ + { + "data": { + "choices": [ + { + "delta": { + "content": "", + "role": "assistant", + }, + "finish_reason": null, + "index": 0, + }, + ], + "id": "msg_017Mz48zyAZe8gbsFHEkhZaY", + "model": "claude-sonnet-4-5-20250929", + "object": "chat.completion.chunk", + "usage": { + "completion_tokens": 1, + "prompt_tokens": 757, + "prompt_tokens_details": { + "cached_tokens": 0, + }, + "total_tokens": 758, + }, + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [ + { + "delta": { + "content": "The", + "role": "assistant", + }, + "finish_reason": null, + "index": 0, + }, + ], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [ + { + "delta": { + "content": " weather in **", + "role": "assistant", + }, + "finish_reason": null, + "index": 0, + }, + ], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [ + { + "delta": { + "content": "San Francisco** is 65°F", + "role": "assistant", + }, + "finish_reason": null, + "index": 0, + }, + ], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [ + { + "delta": { + "content": " and sunny, while", + "role": "assistant", + }, + "finish_reason": null, + "index": 0, + }, + ], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [ + { + "delta": { + "content": " **New York** is 45°", + "role": "assistant", + }, + "finish_reason": null, + "index": 0, + }, + ], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [ + { + "delta": { + "content": "F and cloudy.", + "role": "assistant", + }, + "finish_reason": null, + "index": 0, + }, + ], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [], + "object": "chat.completion.chunk", + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": { + "choices": [ + { + "delta": {}, + "finish_reason": "stop", + "index": 0, + }, + ], + "object": "chat.completion.chunk", + "usage": { + "completion_tokens": 32, + "prompt_tokens": 757, + "prompt_tokens_details": { + "cached_tokens": 0, + }, + "total_tokens": 789, + }, + }, + "sourceFormat": "anthropic", + "transformed": true, + }, + { + "data": {}, + "sourceFormat": "anthropic", + "transformed": true, + }, +] +`; + exports[`streaming: chat-completions → anthropic > reasoningRequest > streaming 1`] = ` [ { diff --git a/payloads/scripts/transforms/__snapshots__/transforms.test.ts.snap b/payloads/scripts/transforms/__snapshots__/transforms.test.ts.snap index bf00c6e4..670ffce8 100644 --- a/payloads/scripts/transforms/__snapshots__/transforms.test.ts.snap +++ b/payloads/scripts/transforms/__snapshots__/transforms.test.ts.snap @@ -553,6 +553,98 @@ exports[`anthropic → chat-completions > parallelToolCallsDisabledParam > respo } `; +exports[`anthropic → chat-completions > parallelToolCallsRequest > request 1`] = ` +{ + "max_completion_tokens": 1024, + "messages": [ + { + "content": "What's the weather in San Francisco and New York?", + "role": "user", + }, + { + "role": "assistant", + "tool_calls": [ + { + "function": { + "arguments": "{"location":"San Francisco, CA"}", + "name": "get_weather", + }, + "id": "toolu_sf", + "type": "function", + }, + { + "function": { + "arguments": "{"location":"New York, NY"}", + "name": "get_weather", + }, + "id": "toolu_nyc", + "type": "function", + }, + ], + }, + { + "content": "65°F and sunny.", + "role": "tool", + "tool_call_id": "toolu_sf", + }, + { + "content": "45°F and cloudy.", + "role": "tool", + "tool_call_id": "toolu_nyc", + }, + ], + "model": "gpt-5-nano", + "tool_choice": "auto", + "tools": [ + { + "function": { + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + }, + "type": "function", + }, + ], +} +`; + +exports[`anthropic → chat-completions > parallelToolCallsRequest > response 1`] = ` +{ + "content": [ + { + "text": "Here’s the current weather: + +- San Francisco, CA: 65°F and sunny +- New York, NY: 45°F and cloudy + +Want hourly details, a 7-day outlook, or a Celsius conversion?", + "type": "text", + }, + ], + "id": "msg_DPa8xc2za44wlqKU0Zxmovcyf41bS", + "model": "gpt-5-nano-2025-08-07", + "role": "assistant", + "stop_reason": "end_turn", + "type": "message", + "usage": { + "cache_read_input_tokens": 0, + "input_tokens": 229, + "output_tokens": 310, + }, +} +`; + exports[`anthropic → chat-completions > promptCacheKeyParam > request 1`] = ` { "max_completion_tokens": 1024, @@ -2268,7 +2360,7 @@ exports[`anthropic → google > parallelToolCallsDisabledParam > response 1`] = { "content": [ { - "id": "", + "id": "call_0", "input": { "location": "NYC", }, @@ -2276,7 +2368,7 @@ exports[`anthropic → google > parallelToolCallsDisabledParam > response 1`] = "type": "tool_use", }, { - "id": "", + "id": "call_1", "input": { "location": "LA", }, @@ -2291,7 +2383,122 @@ exports[`anthropic → google > parallelToolCallsDisabledParam > response 1`] = "type": "message", "usage": { "input_tokens": 39, - "output_tokens": 97, + "output_tokens": 88, + }, +} +`; + +exports[`anthropic → google > parallelToolCallsRequest > request 1`] = ` +{ + "contents": [ + { + "parts": [ + { + "text": "What's the weather in San Francisco and New York?", + }, + ], + "role": "user", + }, + { + "parts": [ + { + "functionCall": { + "args": { + "location": "San Francisco, CA", + }, + "id": "toolu_sf", + "name": "get_weather", + }, + }, + { + "functionCall": { + "args": { + "location": "New York, NY", + }, + "id": "toolu_nyc", + "name": "get_weather", + }, + }, + ], + "role": "model", + }, + { + "parts": [ + { + "functionResponse": { + "id": "toolu_sf", + "name": "get_weather", + "response": { + "output": "65°F and sunny.", + }, + }, + }, + { + "functionResponse": { + "id": "toolu_nyc", + "name": "get_weather", + "response": { + "output": "45°F and cloudy.", + }, + }, + }, + ], + "role": "user", + }, + ], + "generationConfig": { + "maxOutputTokens": 1024, + "responseSchema": null, + }, + "model": "gemini-2.5-flash", + "toolConfig": { + "functionCallingConfig": { + "mode": "AUTO", + }, + }, + "tools": [ + { + "functionDeclarations": [ + { + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": null, + "parametersJsonSchema": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "response": null, + }, + ], + }, + ], +} +`; + +exports[`anthropic → google > parallelToolCallsRequest > response 1`] = ` +{ + "content": [ + { + "text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy.", + "type": "text", + }, + ], + "id": "msg_transformed", + "model": "gemini-2.5-flash", + "role": "assistant", + "stop_reason": "end_turn", + "type": "message", + "usage": { + "input_tokens": 140, + "output_tokens": 32, }, } `; @@ -3283,7 +3490,7 @@ exports[`anthropic → google > toolCallRequest > response 1`] = ` { "content": [ { - "id": "", + "id": "call_0", "input": { "location": "San Francisco, CA", }, @@ -3298,7 +3505,7 @@ exports[`anthropic → google > toolCallRequest > response 1`] = ` "type": "message", "usage": { "input_tokens": 62, - "output_tokens": 94, + "output_tokens": 88, }, } `; @@ -3355,9 +3562,9 @@ exports[`anthropic → google > toolChoiceAnyParam > response 1`] = ` { "content": [ { - "id": "", + "id": "call_0", "input": { - "location": "London", + "location": "", }, "name": "get_weather", "type": "tool_use", @@ -3370,7 +3577,7 @@ exports[`anthropic → google > toolChoiceAnyParam > response 1`] = ` "type": "message", "usage": { "input_tokens": 37, - "output_tokens": 57, + "output_tokens": 150, }, } `; @@ -3566,7 +3773,7 @@ exports[`anthropic → google > toolChoiceRequiredParam > response 1`] = ` { "content": [ { - "id": "", + "id": "call_0", "input": { "location": "Tokyo", }, @@ -3581,7 +3788,7 @@ exports[`anthropic → google > toolChoiceRequiredParam > response 1`] = ` "type": "message", "usage": { "input_tokens": 37, - "output_tokens": 73, + "output_tokens": 66, }, } `; @@ -4414,6 +4621,91 @@ exports[`anthropic → responses > parallelToolCallsDisabledParam > response 1`] } `; +exports[`anthropic → responses > parallelToolCallsRequest > request 1`] = ` +{ + "input": [ + { + "content": "What's the weather in San Francisco and New York?", + "role": "user", + }, + { + "arguments": "{"location":"San Francisco, CA"}", + "call_id": "toolu_sf", + "name": "get_weather", + "status": "completed", + "type": "function_call", + }, + { + "arguments": "{"location":"New York, NY"}", + "call_id": "toolu_nyc", + "name": "get_weather", + "status": "completed", + "type": "function_call", + }, + { + "call_id": "toolu_sf", + "output": "65°F and sunny.", + "type": "function_call_output", + }, + { + "call_id": "toolu_nyc", + "output": "45°F and cloudy.", + "type": "function_call_output", + }, + ], + "max_output_tokens": 1024, + "model": "gpt-5-nano", + "tool_choice": "auto", + "tools": [ + { + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "type": "function", + }, + ], +} +`; + +exports[`anthropic → responses > parallelToolCallsRequest > response 1`] = ` +{ + "content": [ + { + "thinking": "", + "type": "thinking", + }, + { + "text": "- San Francisco, CA: 45°F and cloudy +- New York, NY: 65°F and sunny + +Want a 7-day forecast or hourly details for either city?", + "type": "text", + }, + ], + "id": "msg_03fdbaab3a3d20130069cc2911f00c81a1824d523b8b412a37", + "model": "gpt-5-nano-2025-08-07", + "role": "assistant", + "stop_reason": "end_turn", + "type": "message", + "usage": { + "cache_read_input_tokens": 0, + "input_tokens": 136, + "output_tokens": 750, + }, +} +`; + exports[`anthropic → responses > promptCacheKeyParam > request 1`] = ` { "input": [ @@ -5972,16 +6264,119 @@ exports[`chat-completions → anthropic > parallelToolCallsDisabledParam > respo } `; -exports[`chat-completions → anthropic > predictionParam > request 1`] = ` +exports[`chat-completions → anthropic > parallelToolCallsRequest > request 1`] = ` { "max_tokens": 4096, "messages": [ { - "content": "Update this function to add error handling: - -function divide(a, b) { - return a / b; -}", + "content": "What's the weather in San Francisco and New York?", + "role": "user", + }, + { + "content": [ + { + "id": "call_sf", + "input": { + "location": "San Francisco, CA", + }, + "name": "get_weather", + "type": "tool_use", + }, + { + "id": "call_nyc", + "input": { + "location": "New York, NY", + }, + "name": "get_weather", + "type": "tool_use", + }, + ], + "role": "assistant", + }, + { + "content": [ + { + "content": "65°F and sunny.", + "tool_use_id": "call_sf", + "type": "tool_result", + }, + ], + "role": "user", + }, + { + "content": [ + { + "content": "45°F and cloudy.", + "tool_use_id": "call_nyc", + "type": "tool_result", + }, + ], + "role": "user", + }, + ], + "model": "claude-sonnet-4-5-20250929", + "tools": [ + { + "description": "Get the current weather for a location", + "input_schema": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "name": "get_weather", + }, + ], +} +`; + +exports[`chat-completions → anthropic > parallelToolCallsRequest > response 1`] = ` +{ + "choices": [ + { + "finish_reason": "stop", + "index": 0, + "message": { + "annotations": [], + "content": "The current weather is: + +- **San Francisco, CA**: 65°F and sunny +- **New York, NY**: 45°F and cloudy", + "role": "assistant", + }, + }, + ], + "created": 0, + "id": "chatcmpl-01MDqB6KBXsDSfpibhzDMYYU", + "model": "claude-sonnet-4-5-20250929", + "object": "chat.completion", + "usage": { + "completion_tokens": 37, + "prompt_tokens": 757, + "prompt_tokens_details": { + "cached_tokens": 0, + }, + "total_tokens": 794, + }, +} +`; + +exports[`chat-completions → anthropic > predictionParam > request 1`] = ` +{ + "max_tokens": 4096, + "messages": [ + { + "content": "Update this function to add error handling: + +function divide(a, b) { + return a / b; +}", "role": "user", }, ], @@ -7808,7 +8203,7 @@ exports[`chat-completions → google > parallelToolCallsDisabledParam > response "arguments": "{"location":"NYC"}", "name": "get_weather", }, - "id": "", + "id": "call_0", "type": "function", }, { @@ -7816,7 +8211,7 @@ exports[`chat-completions → google > parallelToolCallsDisabledParam > response "arguments": "{"location":"LA"}", "name": "get_weather", }, - "id": "", + "id": "call_1", "type": "function", }, ], @@ -7828,12 +8223,119 @@ exports[`chat-completions → google > parallelToolCallsDisabledParam > response "model": "gemini-2.5-flash", "object": "chat.completion", "usage": { - "completion_tokens": 94, + "completion_tokens": 81, "completion_tokens_details": { - "reasoning_tokens": 64, + "reasoning_tokens": 51, }, "prompt_tokens": 41, - "total_tokens": 135, + "total_tokens": 122, + }, +} +`; + +exports[`chat-completions → google > parallelToolCallsRequest > request 1`] = ` +{ + "contents": [ + { + "parts": [ + { + "text": "What's the weather in San Francisco and New York?", + }, + ], + "role": "user", + }, + { + "parts": [ + { + "functionCall": { + "args": { + "location": "San Francisco, CA", + }, + "name": "get_weather", + }, + }, + { + "functionCall": { + "args": { + "location": "New York, NY", + }, + "name": "get_weather", + }, + }, + ], + "role": "model", + }, + { + "parts": [ + { + "functionResponse": { + "name": "get_weather", + "response": { + "output": "65°F and sunny.", + }, + }, + }, + { + "functionResponse": { + "name": "get_weather", + "response": { + "output": "45°F and cloudy.", + }, + }, + }, + ], + "role": "user", + }, + ], + "model": "gemini-2.5-flash", + "tools": [ + { + "functionDeclarations": [ + { + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": null, + "parametersJsonSchema": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "response": null, + }, + ], + }, + ], +} +`; + +exports[`chat-completions → google > parallelToolCallsRequest > response 1`] = ` +{ + "choices": [ + { + "finish_reason": "stop", + "index": 0, + "message": { + "annotations": [], + "content": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy.", + "role": "assistant", + }, + }, + ], + "created": 0, + "id": "chatcmpl-transformed", + "model": "gemini-2.5-flash", + "object": "chat.completion", + "usage": { + "completion_tokens": 32, + "prompt_tokens": 140, + "total_tokens": 172, }, } `; @@ -9119,21 +9621,12 @@ exports[`chat-completions → google > toolCallRequest > response 1`] = ` { "choices": [ { - "finish_reason": "tool_calls", + "finish_reason": "stop", "index": 0, "message": { "annotations": [], + "content": "I need to know the state. Can you tell me what state San Francisco is in?", "role": "assistant", - "tool_calls": [ - { - "function": { - "arguments": "{"location":"San Francisco, CA"}", - "name": "get_weather", - }, - "id": "", - "type": "function", - }, - ], }, }, ], @@ -9142,12 +9635,12 @@ exports[`chat-completions → google > toolCallRequest > response 1`] = ` "model": "gemini-2.5-flash", "object": "chat.completion", "usage": { - "completion_tokens": 114, + "completion_tokens": 102, "completion_tokens_details": { - "reasoning_tokens": 96, + "reasoning_tokens": 84, }, "prompt_tokens": 62, - "total_tokens": 176, + "total_tokens": 164, }, } `; @@ -9215,7 +9708,7 @@ exports[`chat-completions → google > toolChoiceRequiredParam > response 1`] = "arguments": "{"location":"Tokyo"}", "name": "get_weather", }, - "id": "", + "id": "call_0", "type": "function", }, ], @@ -9227,12 +9720,12 @@ exports[`chat-completions → google > toolChoiceRequiredParam > response 1`] = "model": "gemini-2.5-flash", "object": "chat.completion", "usage": { - "completion_tokens": 62, + "completion_tokens": 61, "completion_tokens_details": { - "reasoning_tokens": 47, + "reasoning_tokens": 46, }, "prompt_tokens": 37, - "total_tokens": 99, + "total_tokens": 98, }, } `; @@ -9300,9 +9793,9 @@ exports[`chat-completions → google > toolChoiceRequiredWithReasoningParam > re "index": 0, "message": { "annotations": [], - "reasoning": "**My Immediate Task: Weather in Tokyo** + "reasoning": "**My Approach to the Tokyo Weather Request** -Okay, the user wants the weather for Tokyo. That's straightforward enough. I have a \`get_weather\` tool at my disposal, which is exactly what it's designed for. So, I need to use that tool. My plan is simple: I'll call the \`get_weather\` tool. The input I need to provide is the location, and in this case, the location is "Tokyo". I'll pass that to the tool and wait for the results. Easy peasy. Let's get them the information they're requesting. +Okay, here's the situation: the user needs the weather for Tokyo. Thankfully, I have the \`get_weather\` tool at my disposal! This tool is specifically designed to provide weather information, and it takes a location as input. So, the path forward is clear. I need to call the \`get_weather\` tool. The key piece of information needed to get the job done is "Tokyo." I'll feed "Tokyo" to the \`get_weather\` tool, and hopefully, I'll return the user with the meteorological insights they require. ", "role": "assistant", "tool_calls": [ @@ -9311,7 +9804,7 @@ Okay, the user wants the weather for Tokyo. That's straightforward enough. I hav "arguments": "{"location":"Tokyo"}", "name": "get_weather", }, - "id": "", + "id": "call_0", "type": "function", }, ], @@ -9323,12 +9816,12 @@ Okay, the user wants the weather for Tokyo. That's straightforward enough. I hav "model": "gemini-2.5-flash", "object": "chat.completion", "usage": { - "completion_tokens": 67, + "completion_tokens": 63, "completion_tokens_details": { - "reasoning_tokens": 52, + "reasoning_tokens": 48, }, "prompt_tokens": 37, - "total_tokens": 104, + "total_tokens": 100, }, } `; @@ -9711,6 +10204,103 @@ The spacing between contour lines indicates the steepness of the terrain - close } `; +exports[`google → anthropic > parallelToolCallsRequest > request 1`] = ` +{ + "max_tokens": 4096, + "messages": [ + { + "content": "What's the weather in San Francisco and New York?", + "role": "user", + }, + { + "content": [ + { + "id": "call_0", + "input": { + "location": "San Francisco, CA", + }, + "name": "get_weather", + "type": "tool_use", + }, + { + "id": "call_1", + "input": { + "location": "New York, NY", + }, + "name": "get_weather", + "type": "tool_use", + }, + ], + "role": "assistant", + }, + { + "content": [ + { + "content": "{"result":"65°F and sunny."}", + "tool_use_id": "call_0", + "type": "tool_result", + }, + { + "content": "{"result":"45°F and cloudy."}", + "tool_use_id": "call_1", + "type": "tool_result", + }, + ], + "role": "user", + }, + ], + "model": "claude-sonnet-4-5-20250929", + "tools": [ + { + "description": "Get the current weather for a location", + "input_schema": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "name": "get_weather", + }, + ], +} +`; + +exports[`google → anthropic > parallelToolCallsRequest > response 1`] = ` +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The current weather is: + +**San Francisco, CA:** 65°F and sunny + +**New York, NY:** 45°F and cloudy", + }, + ], + "role": "model", + }, + "finishReason": "STOP", + "index": 0, + }, + ], + "modelVersion": "claude-sonnet-4-5-20250929", + "usageMetadata": { + "cachedContentTokenCount": 0, + "candidatesTokenCount": 35, + "promptTokenCount": 765, + "totalTokenCount": 800, + }, +} +`; + exports[`google → anthropic > reasoningEffortLowParam > request 1`] = ` { "max_tokens": 4096, @@ -10309,18 +10899,16 @@ exports[`google → anthropic > toolCallRequest > request 1`] = ` { "description": "Get the current weather for a location", "input_schema": { - "items": null, "properties": { "location": { "description": "The city and state, e.g. San Francisco, CA", - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "name": "get_weather", }, @@ -10345,17 +10933,15 @@ exports[`google → anthropic > toolChoiceAnyParam > request 1`] = ` { "description": "Get weather", "input_schema": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "name": "get_weather", }, @@ -10380,17 +10966,15 @@ exports[`google → anthropic > toolChoiceAutoParam > request 1`] = ` { "description": "Get weather", "input_schema": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "name": "get_weather", }, @@ -10415,17 +10999,15 @@ exports[`google → anthropic > toolChoiceNoneParam > request 1`] = ` { "description": "Get weather", "input_schema": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "name": "get_weather", }, @@ -10451,17 +11033,15 @@ exports[`google → anthropic > toolChoiceRequiredParam > request 1`] = ` { "description": "Get weather", "input_schema": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "name": "get_weather", }, @@ -10486,17 +11066,15 @@ exports[`google → anthropic > toolModeValidatedParam > request 1`] = ` { "description": "Get weather", "input_schema": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "name": "get_weather", }, @@ -10871,6 +11449,100 @@ exports[`google → chat-completions > multimodalRequest > response 1`] = ` } `; +exports[`google → chat-completions > parallelToolCallsRequest > request 1`] = ` +{ + "messages": [ + { + "content": "What's the weather in San Francisco and New York?", + "role": "user", + }, + { + "role": "assistant", + "tool_calls": [ + { + "function": { + "arguments": "{"location":"San Francisco, CA"}", + "name": "get_weather", + }, + "id": "call_0", + "type": "function", + }, + { + "function": { + "arguments": "{"location":"New York, NY"}", + "name": "get_weather", + }, + "id": "call_1", + "type": "function", + }, + ], + }, + { + "content": "{"result":"65°F and sunny."}", + "role": "tool", + "tool_call_id": "call_0", + }, + { + "content": "{"result":"45°F and cloudy."}", + "role": "tool", + "tool_call_id": "call_1", + }, + ], + "model": "gpt-5-nano", + "tools": [ + { + "function": { + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + }, + "type": "function", + }, + ], +} +`; + +exports[`google → chat-completions > parallelToolCallsRequest > response 1`] = ` +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "- San Francisco, CA: 65°F and sunny. +- New York, NY: 45°F and cloudy. + +Want a forecast for the next few days or a switch to Celsius?", + }, + ], + "role": "model", + }, + "finishReason": "STOP", + "index": 0, + }, + ], + "modelVersion": "gpt-5-nano-2025-08-07", + "usageMetadata": { + "cachedContentTokenCount": 0, + "candidatesTokenCount": 47, + "promptTokenCount": 237, + "thoughtsTokenCount": 256, + "totalTokenCount": 540, + }, +} +`; + exports[`google → chat-completions > reasoningEffortLowParam > request 1`] = ` { "messages": [ @@ -11526,18 +12198,16 @@ exports[`google → chat-completions > toolCallRequest > request 1`] = ` "description": "Get the current weather for a location", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { "description": "The city and state, e.g. San Francisco, CA", - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, }, "type": "function", @@ -11562,17 +12232,15 @@ exports[`google → chat-completions > toolChoiceAnyParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, }, "type": "function", @@ -11597,17 +12265,15 @@ exports[`google → chat-completions > toolChoiceAutoParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, }, "type": "function", @@ -11632,17 +12298,15 @@ exports[`google → chat-completions > toolChoiceNoneParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, }, "type": "function", @@ -11672,17 +12336,15 @@ exports[`google → chat-completions > toolChoiceRequiredParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, }, "type": "function", @@ -11707,17 +12369,15 @@ exports[`google → chat-completions > toolModeValidatedParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, }, "type": "function", @@ -12117,12 +12777,97 @@ exports[`google → responses > multimodalRequest > request 1`] = ` "role": "user", }, ], - "max_output_tokens": 300, + "max_output_tokens": 300, + "model": "gpt-5-nano", +} +`; + +exports[`google → responses > multimodalRequest > response 1`] = ` +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "", + "thought": true, + }, + ], + "role": "model", + }, + "finishReason": "MAX_TOKENS", + "index": 0, + }, + ], + "modelVersion": "gpt-5-nano-2025-08-07", + "usageMetadata": { + "cachedContentTokenCount": 0, + "candidatesTokenCount": 0, + "promptTokenCount": 16, + "thoughtsTokenCount": 256, + "totalTokenCount": 272, + }, +} +`; + +exports[`google → responses > parallelToolCallsRequest > request 1`] = ` +{ + "input": [ + { + "content": "What's the weather in San Francisco and New York?", + "role": "user", + }, + { + "arguments": "{"location":"San Francisco, CA"}", + "call_id": "call_0", + "name": "get_weather", + "status": "completed", + "type": "function_call", + }, + { + "arguments": "{"location":"New York, NY"}", + "call_id": "call_1", + "name": "get_weather", + "status": "completed", + "type": "function_call", + }, + { + "call_id": "call_0", + "name": "get_weather", + "output": "{"result":"65°F and sunny."}", + "type": "function_call_output", + }, + { + "call_id": "call_1", + "name": "get_weather", + "output": "{"result":"45°F and cloudy."}", + "type": "function_call_output", + }, + ], "model": "gpt-5-nano", + "tools": [ + { + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "type": "function", + }, + ], } `; -exports[`google → responses > multimodalRequest > response 1`] = ` +exports[`google → responses > parallelToolCallsRequest > response 1`] = ` { "candidates": [ { @@ -12135,17 +12880,34 @@ exports[`google → responses > multimodalRequest > response 1`] = ` ], "role": "model", }, - "finishReason": "MAX_TOKENS", + "finishReason": "STOP", "index": 0, }, + { + "content": { + "parts": [ + { + "text": "Here’s the current weather: + +- San Francisco, CA: 45°F and cloudy +- New York, NY: 65°F and sunny + +Want a 7-day forecast or a weather alert for either city?", + }, + ], + "role": "model", + }, + "finishReason": "STOP", + "index": 1, + }, ], "modelVersion": "gpt-5-nano-2025-08-07", "usageMetadata": { "cachedContentTokenCount": 0, - "candidatesTokenCount": 0, - "promptTokenCount": 16, - "thoughtsTokenCount": 256, - "totalTokenCount": 272, + "candidatesTokenCount": 68, + "promptTokenCount": 144, + "thoughtsTokenCount": 512, + "totalTokenCount": 724, }, } `; @@ -12876,18 +13638,16 @@ exports[`google → responses > toolCallRequest > request 1`] = ` "description": "Get the current weather for a location", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { "description": "The city and state, e.g. San Francisco, CA", - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "type": "function", }, @@ -12910,17 +13670,15 @@ exports[`google → responses > toolChoiceAnyParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "type": "function", }, @@ -12943,17 +13701,15 @@ exports[`google → responses > toolChoiceAutoParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "type": "function", }, @@ -12976,17 +13732,15 @@ exports[`google → responses > toolChoiceNoneParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "type": "function", }, @@ -13012,17 +13766,15 @@ exports[`google → responses > toolChoiceRequiredParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "type": "function", }, @@ -13045,17 +13797,15 @@ exports[`google → responses > toolModeValidatedParam > request 1`] = ` "description": "Get weather", "name": "get_weather", "parameters": { - "items": null, "properties": { "location": { - "items": null, - "type": "STRING", + "type": "string", }, }, "required": [ "location", ], - "type": "OBJECT", + "type": "object", }, "type": "function", }, @@ -13584,6 +14334,131 @@ exports[`responses → anthropic > parallelToolCallsDisabledParam > response 1`] } `; +exports[`responses → anthropic > parallelToolCallsRequest > request 1`] = ` +{ + "max_tokens": 4096, + "messages": [ + { + "content": "What's the weather in San Francisco and New York?", + "role": "user", + }, + { + "content": [ + { + "id": "call_sf", + "input": { + "location": "San Francisco, CA", + }, + "name": "get_weather", + "type": "tool_use", + }, + ], + "role": "assistant", + }, + { + "content": [ + { + "id": "call_nyc", + "input": { + "location": "New York, NY", + }, + "name": "get_weather", + "type": "tool_use", + }, + ], + "role": "assistant", + }, + { + "content": [ + { + "content": "65°F and sunny.", + "tool_use_id": "call_sf", + "type": "tool_result", + }, + ], + "role": "user", + }, + { + "content": [ + { + "content": "45°F and cloudy.", + "tool_use_id": "call_nyc", + "type": "tool_result", + }, + ], + "role": "user", + }, + ], + "model": "claude-sonnet-4-5-20250929", + "tools": [ + { + "description": "Get the current weather for a location", + "input_schema": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "name": "get_weather", + "strict": false, + }, + ], +} +`; + +exports[`responses → anthropic > parallelToolCallsRequest > response 1`] = ` +{ + "created_at": 0, + "id": "resp_01NiJR1LmktwTyh3v6idQFoK", + "incomplete_details": null, + "model": "claude-sonnet-4-5-20250929", + "object": "response", + "output": [ + { + "content": [ + { + "annotations": [], + "text": "The current weather is: + +- **San Francisco, CA**: 65°F and sunny +- **New York, NY**: 45°F and cloudy", + "type": "output_text", + }, + ], + "id": "msg_transformed_item_0", + "role": "assistant", + "status": "completed", + "type": "message", + }, + ], + "output_text": "The current weather is: + +- **San Francisco, CA**: 65°F and sunny +- **New York, NY**: 45°F and cloudy", + "parallel_tool_calls": false, + "status": "completed", + "tool_choice": "none", + "tools": [], + "usage": { + "input_tokens": 757, + "input_tokens_details": { + "cached_tokens": 0, + }, + "output_tokens": 37, + "output_tokens_details": { + "reasoning_tokens": 0, + }, + "total_tokens": 794, + }, +} +`; + exports[`responses → anthropic > promptCacheKeyParam > request 1`] = ` { "max_tokens": 4096, @@ -15690,7 +16565,7 @@ exports[`responses → google > parallelToolCallsDisabledParam > response 1`] = "output": [ { "arguments": "{"location":"NYC"}", - "call_id": "", + "call_id": "call_0", "id": "msg_transformed_item_0", "name": "get_weather", "status": "completed", @@ -15698,7 +16573,7 @@ exports[`responses → google > parallelToolCallsDisabledParam > response 1`] = }, { "arguments": "{"location":"LA"}", - "call_id": "", + "call_id": "call_1", "id": "msg_transformed_item_1", "name": "get_weather", "status": "completed", @@ -15715,11 +16590,134 @@ exports[`responses → google > parallelToolCallsDisabledParam > response 1`] = "input_tokens_details": { "cached_tokens": 0, }, - "output_tokens": 89, + "output_tokens": 85, + "output_tokens_details": { + "reasoning_tokens": 55, + }, + "total_tokens": 124, + }, +} +`; + +exports[`responses → google > parallelToolCallsRequest > request 1`] = ` +{ + "contents": [ + { + "parts": [ + { + "text": "What's the weather in San Francisco and New York?", + }, + ], + "role": "user", + }, + { + "parts": [ + { + "functionCall": { + "args": { + "location": "San Francisco, CA", + }, + "name": "get_weather", + }, + }, + { + "functionCall": { + "args": { + "location": "New York, NY", + }, + "name": "get_weather", + }, + }, + ], + "role": "model", + }, + { + "parts": [ + { + "functionResponse": { + "name": "get_weather", + "response": { + "output": "65°F and sunny.", + }, + }, + }, + { + "functionResponse": { + "name": "get_weather", + "response": { + "output": "45°F and cloudy.", + }, + }, + }, + ], + "role": "user", + }, + ], + "model": "gemini-2.5-flash", + "tools": [ + { + "functionDeclarations": [ + { + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": null, + "parametersJsonSchema": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string", + }, + }, + "required": [ + "location", + ], + "type": "object", + }, + "response": null, + }, + ], + }, + ], +} +`; + +exports[`responses → google > parallelToolCallsRequest > response 1`] = ` +{ + "created_at": 0, + "id": "resp_transformed", + "incomplete_details": null, + "model": "gemini-2.5-flash", + "object": "response", + "output": [ + { + "content": [ + { + "annotations": [], + "text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy.", + "type": "output_text", + }, + ], + "id": "msg_transformed_item_0", + "role": "assistant", + "status": "completed", + "type": "message", + }, + ], + "output_text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy.", + "parallel_tool_calls": false, + "status": "completed", + "tool_choice": "none", + "tools": [], + "usage": { + "input_tokens": 140, + "input_tokens_details": { + "cached_tokens": 0, + }, + "output_tokens": 32, "output_tokens_details": { - "reasoning_tokens": 59, + "reasoning_tokens": 0, }, - "total_tokens": 128, + "total_tokens": 172, }, } `; @@ -17022,7 +18020,7 @@ exports[`responses → google > toolCallRequest > response 1`] = ` "output": [ { "arguments": "{"location":"San Francisco, CA"}", - "call_id": "", + "call_id": "call_0", "id": "msg_transformed_item_0", "name": "get_weather", "status": "completed", @@ -17039,11 +18037,11 @@ exports[`responses → google > toolCallRequest > response 1`] = ` "input_tokens_details": { "cached_tokens": 0, }, - "output_tokens": 99, + "output_tokens": 123, "output_tokens_details": { - "reasoning_tokens": 81, + "reasoning_tokens": 105, }, - "total_tokens": 161, + "total_tokens": 185, }, } `; @@ -17106,7 +18104,7 @@ exports[`responses → google > toolChoiceRequiredParam > response 1`] = ` "output": [ { "arguments": "{"location":"Tokyo"}", - "call_id": "", + "call_id": "call_0", "id": "msg_transformed_item_0", "name": "get_weather", "status": "completed", @@ -17123,11 +18121,11 @@ exports[`responses → google > toolChoiceRequiredParam > response 1`] = ` "input_tokens_details": { "cached_tokens": 0, }, - "output_tokens": 60, + "output_tokens": 62, "output_tokens_details": { - "reasoning_tokens": 45, + "reasoning_tokens": 47, }, - "total_tokens": 97, + "total_tokens": 99, }, } `; diff --git a/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-request.json b/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-request.json new file mode 100644 index 00000000..96f50cc3 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-request.json @@ -0,0 +1,80 @@ +{ + "model": "claude-sonnet-4-5-20250929", + "max_tokens": 1024, + "messages": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "role": "assistant", + "content": [ + { + "type": "tool_use", + "id": "toolu_sf", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + } + }, + { + "type": "tool_use", + "id": "toolu_nyc", + "name": "get_weather", + "input": { + "location": "New York, NY" + } + } + ] + }, + { + "role": "user", + "content": [ + { + "type": "tool_result", + "tool_use_id": "toolu_sf", + "content": "65°F and sunny." + }, + { + "type": "tool_result", + "tool_use_id": "toolu_nyc", + "content": "45°F and cloudy." + } + ] + }, + { + "role": "assistant", + "content": [ + { + "type": "text", + "text": "The current weather is:\n\n- **San Francisco, CA**: 65°F and sunny\n- **New York, NY**: 45°F and cloudy" + } + ] + }, + { + "role": "user", + "content": "What should I do next?" + } + ], + "tools": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "input_schema": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ], + "tool_choice": { + "type": "auto" + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-response-streaming.json new file mode 100644 index 00000000..b7d373ad --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-response-streaming.json @@ -0,0 +1,622 @@ +[ + { + "type": "message_start", + "message": { + "model": "claude-sonnet-4-5-20250929", + "id": "msg_017WhjuLQgisq5AqCt3EZdZA", + "type": "message", + "role": "assistant", + "content": [], + "stop_reason": null, + "stop_sequence": null, + "usage": { + "input_tokens": 803, + "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" + } + } + }, + { + "type": "content_block_start", + "index": 0, + "content_block": { + "type": "text", + "text": "" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "I" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " don" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "'t have enough" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " context" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " to give" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " you specific advice" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " on" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " what to do next. It" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " depends" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " on what you're trying to accomplish!" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " Here" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " are some possibilities" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": ":\n\n-" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " **Planning" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " a" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " trip?" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "** Based" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " on the weather, San" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " Francisco has" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " ni" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "cer conditions" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " right" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " now (" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "sunny" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " and" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " war" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "mer)," + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " while New York is coo" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "ler and cloudy.\n\n- **" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "Deciding" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " what" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " to wear" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "?** In" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " San Francisco, light" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " layers would" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " work" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " well." + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " In New York, you" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "'d" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " want war" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "mer clothing" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " like" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " a jacket" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "." + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "\n\n- **Planning" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " outdoor" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " activities?** San Francisco's" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " sunny weather would" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " be" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " great" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " for outdoor" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " plans" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": ", while New York's clou" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "dy conditions might be" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " better suited" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " for indoor activities or" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " you" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "'d" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " want to dress" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " appropri" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "ately for" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " the coo" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "ler weather.\n\nCould" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " you tell me more about what you're" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " planning" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " or" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " what decision" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " you're trying" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " to make? That way" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " I can give you more helpful" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " suggestions!" + } + }, + { + "type": "content_block_stop", + "index": 0 + }, + { + "type": "message_delta", + "delta": { + "stop_reason": "end_turn", + "stop_sequence": null + }, + "usage": { + "input_tokens": 803, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 184 + } + }, + { + "type": "message_stop" + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-response.json b/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-response.json new file mode 100644 index 00000000..703e9bca --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/anthropic/followup-response.json @@ -0,0 +1,26 @@ +{ + "model": "claude-sonnet-4-5-20250929", + "id": "msg_01YUgNaSStaSgUYxt6Nazmqt", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "I'd be happy to help you decide what to do next! To give you the best suggestions, could you tell me a bit more about:\n\n1. **Where are you located?** (San Francisco, New York, or somewhere else?)\n2. **What kind of activities interest you?** (outdoor activities, indoor entertainment, dining, sightseeing, work/productivity, etc.)\n3. **What's your current situation?** (Do you have free time now? Planning for later today? Looking for weekend ideas?)\n\nWith this information, I can provide more tailored recommendations based on the weather and your preferences!" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 803, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 134, + "service_tier": "standard", + "inference_geo": "not_available" + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/anthropic/request.json b/payloads/snapshots/parallelToolCallsRequest/anthropic/request.json new file mode 100644 index 00000000..a13e05fb --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/anthropic/request.json @@ -0,0 +1,67 @@ +{ + "model": "claude-sonnet-4-5-20250929", + "max_tokens": 1024, + "messages": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "role": "assistant", + "content": [ + { + "type": "tool_use", + "id": "toolu_sf", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + } + }, + { + "type": "tool_use", + "id": "toolu_nyc", + "name": "get_weather", + "input": { + "location": "New York, NY" + } + } + ] + }, + { + "role": "user", + "content": [ + { + "type": "tool_result", + "tool_use_id": "toolu_sf", + "content": "65°F and sunny." + }, + { + "type": "tool_result", + "tool_use_id": "toolu_nyc", + "content": "45°F and cloudy." + } + ] + } + ], + "tools": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "input_schema": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ], + "tool_choice": { + "type": "auto" + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/anthropic/response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/anthropic/response-streaming.json new file mode 100644 index 00000000..52eb046f --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/anthropic/response-streaming.json @@ -0,0 +1,126 @@ +[ + { + "type": "message_start", + "message": { + "model": "claude-sonnet-4-5-20250929", + "id": "msg_014X3Rp2HR4Xdnz1tAjh9Ys1", + "type": "message", + "role": "assistant", + "content": [], + "stop_reason": null, + "stop_sequence": null, + "usage": { + "input_tokens": 757, + "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" + } + } + }, + { + "type": "content_block_start", + "index": 0, + "content_block": { + "type": "text", + "text": "" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "The" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " current" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " weather is" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": ":" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "\n\n-" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " **San Francisco," + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " CA**: 65°F and sunny" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "\n- **New York, NY**:" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " 45°F and cloudy" + } + }, + { + "type": "content_block_stop", + "index": 0 + }, + { + "type": "message_delta", + "delta": { + "stop_reason": "end_turn", + "stop_sequence": null + }, + "usage": { + "input_tokens": 757, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 37 + } + }, + { + "type": "message_stop" + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/anthropic/response.json b/payloads/snapshots/parallelToolCallsRequest/anthropic/response.json new file mode 100644 index 00000000..5b4e5d63 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/anthropic/response.json @@ -0,0 +1,26 @@ +{ + "model": "claude-sonnet-4-5-20250929", + "id": "msg_01KAoaVdFci5HSxpqanwoDDd", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "The current weather is:\n\n- **San Francisco, CA**: 65°F and sunny\n- **New York, NY**: 45°F and cloudy" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 757, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 37, + "service_tier": "standard", + "inference_geo": "not_available" + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-request.json b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-request.json new file mode 100644 index 00000000..9caac278 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-request.json @@ -0,0 +1,80 @@ +{ + "anthropic_version": "bedrock-2023-05-31", + "max_tokens": 1024, + "messages": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "role": "assistant", + "content": [ + { + "type": "tool_use", + "id": "toolu_sf", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + } + }, + { + "type": "tool_use", + "id": "toolu_nyc", + "name": "get_weather", + "input": { + "location": "New York, NY" + } + } + ] + }, + { + "role": "user", + "content": [ + { + "type": "tool_result", + "tool_use_id": "toolu_sf", + "content": "65°F and sunny." + }, + { + "type": "tool_result", + "tool_use_id": "toolu_nyc", + "content": "45°F and cloudy." + } + ] + }, + { + "role": "assistant", + "content": [ + { + "type": "text", + "text": "Here's the weather for both cities:\n\n**San Francisco, CA:** 65°F and sunny.\n\n**New York, NY:** 45°F and cloudy.\n\nSan Francisco has pleasant, warm weather with sunshine, while New York is cooler with cloud cover." + } + ] + }, + { + "role": "user", + "content": "What should I do next?" + } + ], + "tools": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "input_schema": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ], + "tool_choice": { + "type": "auto" + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-response-streaming.json new file mode 100644 index 00000000..7ee16b18 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-response-streaming.json @@ -0,0 +1,487 @@ +[ + { + "type": "message_start", + "message": { + "model": "claude-haiku-4-5-20251001", + "id": "msg_bdrk_01P78DnN5h3aE1DyQfvHXdS5", + "type": "message", + "role": "assistant", + "content": [], + "stop_reason": null, + "stop_sequence": null, + "usage": { + "input_tokens": 827, + "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 + } + } + }, + { + "type": "content_block_start", + "index": 0, + "content_block": { + "type": "text", + "text": "" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "That" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " depends" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " on what you'" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "d like to know" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " or" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " do!" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " Here are some suggestions:\n\n1" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": ". **Check weather" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " for other" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " cities** - I" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " can look" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " up the" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " weather in" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " any" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " other" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " location" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " you're" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " interested in." + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "\n\n2. **Plan" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " activities" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " base" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "d on weather** - Since" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " San" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " Francisco is" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " sunny and " + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "65°F, that" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "'s great for outdoor activities." + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " New York at" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " 45°F an" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "d cloudy might" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " be better for indoor activities.\n\n3" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": ". **Get" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " travel" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " recommendations" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "** - If you're deciding" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " between the" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " two cities, I can help you" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " think" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " through the" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " pros and cons base" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "d on weather" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " and other" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " factors.\n\n4. **Ask" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " me" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " other" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " questions** - I'm happy" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " to help with information or" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " answer" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " questions on" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " other" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " topics." + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "\n\nWhat" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " would be" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " most helpful for you?" + } + }, + { + "type": "content_block_stop", + "index": 0 + }, + { + "type": "message_delta", + "delta": { + "stop_reason": "end_turn", + "stop_sequence": null + }, + "usage": { + "output_tokens": 160 + } + }, + { + "type": "message_stop", + "amazon-bedrock-invocationMetrics": { + "inputTokenCount": 827, + "outputTokenCount": 160, + "invocationLatency": 2244, + "firstByteLatency": 1037 + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-response.json b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-response.json new file mode 100644 index 00000000..732b6339 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/followup-response.json @@ -0,0 +1,24 @@ +{ + "model": "claude-haiku-4-5-20251001", + "id": "msg_bdrk_017za5m5xKHzcfYe9LDtHP4d", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "That depends on what you'd like to do! Here are some suggestions based on the weather:\n\n**If you're in San Francisco:**\n- Enjoy outdoor activities like hiking, visiting parks, or going to the beach\n- Take a walk or have a picnic in the nice sunny weather\n- Explore the city on foot\n\n**If you're in New York:**\n- Visit indoor attractions like museums, galleries, or theaters\n- Go shopping or explore neighborhoods\n- Visit restaurants or cafes\n- The cooler weather is great for walking around the city with a jacket\n\n**General suggestions:**\n- Tell me if you need weather information for other locations\n- Ask me about activities or attractions in either city\n- Let me know if you're planning a trip and need help with information\n\nWhat would you like to do? Are you in one of these cities, planning a trip, or just curious about the weather?" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 827, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 193 + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/request.json b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/request.json new file mode 100644 index 00000000..58ab2b39 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/request.json @@ -0,0 +1,67 @@ +{ + "anthropic_version": "bedrock-2023-05-31", + "max_tokens": 1024, + "messages": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "role": "assistant", + "content": [ + { + "type": "tool_use", + "id": "toolu_sf", + "name": "get_weather", + "input": { + "location": "San Francisco, CA" + } + }, + { + "type": "tool_use", + "id": "toolu_nyc", + "name": "get_weather", + "input": { + "location": "New York, NY" + } + } + ] + }, + { + "role": "user", + "content": [ + { + "type": "tool_result", + "tool_use_id": "toolu_sf", + "content": "65°F and sunny." + }, + { + "type": "tool_result", + "tool_use_id": "toolu_nyc", + "content": "45°F and cloudy." + } + ] + } + ], + "tools": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "input_schema": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ], + "tool_choice": { + "type": "auto" + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/response-streaming.json new file mode 100644 index 00000000..bf5d2ab0 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/response-streaming.json @@ -0,0 +1,175 @@ +[ + { + "type": "message_start", + "message": { + "model": "claude-haiku-4-5-20251001", + "id": "msg_bdrk_01VLZbbfhyq6qKFAFHpDzkFA", + "type": "message", + "role": "assistant", + "content": [], + "stop_reason": null, + "stop_sequence": null, + "usage": { + "input_tokens": 757, + "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 + } + } + }, + { + "type": "content_block_start", + "index": 0, + "content_block": { + "type": "text", + "text": "" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "Here" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "'s the current" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " weather for" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " both cities:\n\n-" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " **San Francisco, CA**: 65" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "°F an" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "d sunny\n- **New York, NY" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "**: 45°F and cloudy" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "\n\nSan" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " Francisco is war" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "mer and enjoying" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " clear" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " skies, while New York is coo" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "ler with clou" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "d cover." + } + }, + { + "type": "content_block_stop", + "index": 0 + }, + { + "type": "message_delta", + "delta": { + "stop_reason": "end_turn", + "stop_sequence": null + }, + "usage": { + "output_tokens": 63 + } + }, + { + "type": "message_stop", + "amazon-bedrock-invocationMetrics": { + "inputTokenCount": 757, + "outputTokenCount": 63, + "invocationLatency": 2033, + "firstByteLatency": 1490 + } + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/response.json b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/response.json new file mode 100644 index 00000000..f6d372de --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/bedrock-anthropic/response.json @@ -0,0 +1,24 @@ +{ + "model": "claude-haiku-4-5-20251001", + "id": "msg_bdrk_016VvGigG1kAA2X9FWQ6hCku", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "Here's the weather for both cities:\n\n**San Francisco, CA:** 65°F and sunny.\n\n**New York, NY:** 45°F and cloudy.\n\nSan Francisco has pleasant, warm weather with sunshine, while New York is cooler with cloud cover." + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 757, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 61 + } +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-request.json b/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-request.json new file mode 100644 index 00000000..20d6454a --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-request.json @@ -0,0 +1,72 @@ +{ + "model": "gpt-5-nano", + "messages": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_sf", + "type": "function", + "function": { + "name": "get_weather", + "arguments": "{\"location\":\"San Francisco, CA\"}" + } + }, + { + "id": "call_nyc", + "type": "function", + "function": { + "name": "get_weather", + "arguments": "{\"location\":\"New York, NY\"}" + } + } + ] + }, + { + "role": "tool", + "tool_call_id": "call_sf", + "content": "65°F and sunny." + }, + { + "role": "tool", + "tool_call_id": "call_nyc", + "content": "45°F and cloudy." + }, + { + "role": "assistant", + "content": "- San Francisco, CA: 65°F and sunny.\n- New York, NY: 45°F and cloudy.\n\nWant a short-term forecast or details like humidity, wind, or precipitation chances?", + "refusal": null, + "annotations": [] + }, + { + "role": "user", + "content": "What should I do next?" + } + ], + "tools": [ + { + "type": "function", + "function": { + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-response-streaming.json new file mode 100644 index 00000000..b8b84b0e --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-response-streaming.json @@ -0,0 +1,2288 @@ +[ + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "role": "assistant", + "content": "", + "refusal": null + }, + "finish_reason": null + } + ], + "obfuscation": "Xe" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "Here" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " are" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " some" + }, + "finish_reason": null + } + ], + "obfuscation": "WAWoUwoknpFVOEY" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " good" + }, + "finish_reason": null + } + ], + "obfuscation": "I8PFmjLNX6y6pKm" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " next" + }, + "finish_reason": null + } + ], + "obfuscation": "0Udt0QRDOnr3b16" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " steps" + }, + "finish_reason": null + } + ], + "obfuscation": "4qfKq73c6QmeAf" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":\n\n" + }, + "finish_reason": null + } + ], + "obfuscation": "PuMJHCNpWQ5GnVo" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-" + }, + "finish_reason": null + } + ], + "obfuscation": "UT1" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " Get" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " more" + }, + "finish_reason": null + } + ], + "obfuscation": "cA7pjYYNkI8ePIb" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " forecast" + }, + "finish_reason": null + } + ], + "obfuscation": "2Rk22f9Jfl1" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " detail" + }, + "finish_reason": null + } + ], + "obfuscation": "OMhrWh7oEnXMn" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":" + }, + "finish_reason": null + } + ], + "obfuscation": "APW" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " hourly" + }, + "finish_reason": null + } + ], + "obfuscation": "Mi7l59QuitTnc" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " for" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " today" + }, + "finish_reason": null + } + ], + "obfuscation": "xKFNID3Gv09L7l" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " or" + }, + "finish_reason": null + } + ], + "obfuscation": "l" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " a" + }, + "finish_reason": null + } + ], + "obfuscation": "zp" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " " + }, + "finish_reason": null + } + ], + "obfuscation": "vys" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "7" + }, + "finish_reason": null + } + ], + "obfuscation": "rXZ" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-day" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " outlook" + }, + "finish_reason": null + } + ], + "obfuscation": "xojvg7rkEmBH" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " for" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " San" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " Francisco" + }, + "finish_reason": null + } + ], + "obfuscation": "UzTtH3Asc2" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " and" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " New" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " York" + }, + "finish_reason": null + } + ], + "obfuscation": "OtodX2Z9kKo8nUc" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".\n" + }, + "finish_reason": null + } + ], + "obfuscation": "m" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-" + }, + "finish_reason": null + } + ], + "obfuscation": "qcg" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " Weather" + }, + "finish_reason": null + } + ], + "obfuscation": "5Ez1PaByGsg1" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " specifics" + }, + "finish_reason": null + } + ], + "obfuscation": "WtubgDmomn" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " for" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " planning" + }, + "finish_reason": null + } + ], + "obfuscation": "kW0lLoORjtI" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":" + }, + "finish_reason": null + } + ], + "obfuscation": "Md5" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " humidity" + }, + "finish_reason": null + } + ], + "obfuscation": "EuvBv1N1QOi" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "," + }, + "finish_reason": null + } + ], + "obfuscation": "Iu1" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " wind" + }, + "finish_reason": null + } + ], + "obfuscation": "Yxs1nrdE0oMJF3p" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "," + }, + "finish_reason": null + } + ], + "obfuscation": "txy" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " rain" + }, + "finish_reason": null + } + ], + "obfuscation": "l1pODHVJOwrvZRE" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " chances" + }, + "finish_reason": null + } + ], + "obfuscation": "ovzGk0R5kxck" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "," + }, + "finish_reason": null + } + ], + "obfuscation": "9s2" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " UV" + }, + "finish_reason": null + } + ], + "obfuscation": "H" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " index" + }, + "finish_reason": null + } + ], + "obfuscation": "CMA1MUtcauL3Cs" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".\n" + }, + "finish_reason": null + } + ], + "obfuscation": "X" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-" + }, + "finish_reason": null + } + ], + "obfuscation": "ZC1" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " Practical" + }, + "finish_reason": null + } + ], + "obfuscation": "LzrabcqdKl" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " tips" + }, + "finish_reason": null + } + ], + "obfuscation": "oWq1KaerUIXbJzT" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":" + }, + "finish_reason": null + } + ], + "obfuscation": "YUq" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " clothing" + }, + "finish_reason": null + } + ], + "obfuscation": "sNbtAN7M8J0" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "/out" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "fit" + }, + "finish_reason": null + } + ], + "obfuscation": "q" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " suggestions" + }, + "finish_reason": null + } + ], + "obfuscation": "AI2DiOq5" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " for" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " each" + }, + "finish_reason": null + } + ], + "obfuscation": "JX2jcuZAYyGWlYV" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " city" + }, + "finish_reason": null + } + ], + "obfuscation": "O8brqSTpPBT1fTm" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " today" + }, + "finish_reason": null + } + ], + "obfuscation": "p3CHQVMOP3UYaz" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".\n" + }, + "finish_reason": null + } + ], + "obfuscation": "N" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-" + }, + "finish_reason": null + } + ], + "obfuscation": "UCv" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " Alerts" + }, + "finish_reason": null + } + ], + "obfuscation": "x3wDZBElTYYpj" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":" + }, + "finish_reason": null + } + ], + "obfuscation": "brZ" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " option" + }, + "finish_reason": null + } + ], + "obfuscation": "M5n21hELDcISm" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " to" + }, + "finish_reason": null + } + ], + "obfuscation": "A" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " set" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " rain" + }, + "finish_reason": null + } + ], + "obfuscation": "6futfsz2eICHKdm" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " or" + }, + "finish_reason": null + } + ], + "obfuscation": "Q" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " severe" + }, + "finish_reason": null + } + ], + "obfuscation": "BPtfxRWe2dEAM" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-weather" + }, + "finish_reason": null + } + ], + "obfuscation": "PDcDuovrvSV2" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " alerts" + }, + "finish_reason": null + } + ], + "obfuscation": "L7Z0Cull4dFpY" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " if" + }, + "finish_reason": null + } + ], + "obfuscation": "0" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " you" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " want" + }, + "finish_reason": null + } + ], + "obfuscation": "z3L8okocIF5jV37" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".\n\n" + }, + "finish_reason": null + } + ], + "obfuscation": "cs3KvcDPfaVUj2D" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "What" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " would" + }, + "finish_reason": null + } + ], + "obfuscation": "IvfwuOn2WbCUfY" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " you" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " like" + }, + "finish_reason": null + } + ], + "obfuscation": "ui626jge9IsqL5L" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " me" + }, + "finish_reason": null + } + ], + "obfuscation": "Q" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " to" + }, + "finish_reason": null + } + ], + "obfuscation": "G" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " pull" + }, + "finish_reason": null + } + ], + "obfuscation": "kCWs3XN6ng7IW2w" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " next" + }, + "finish_reason": null + } + ], + "obfuscation": "bd4X7MTGerOCJ7J" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "?" + }, + "finish_reason": null + } + ], + "obfuscation": "BGq" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " For" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " example" + }, + "finish_reason": null + } + ], + "obfuscation": "RtXu7xKVZZgi" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":\n" + }, + "finish_reason": null + } + ], + "obfuscation": "G" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-" + }, + "finish_reason": null + } + ], + "obfuscation": "qJo" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " “" + }, + "finish_reason": null + } + ], + "obfuscation": "U1" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "Show" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " me" + }, + "finish_reason": null + } + ], + "obfuscation": "m" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " the" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " " + }, + "finish_reason": null + } + ], + "obfuscation": "d6k" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "7" + }, + "finish_reason": null + } + ], + "obfuscation": "f82" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-day" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " forecast" + }, + "finish_reason": null + } + ], + "obfuscation": "LSQFPz9OZKh" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " for" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " San" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " Francisco" + }, + "finish_reason": null + } + ], + "obfuscation": "b4TYX671nX" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " and" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " New" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " York" + }, + "finish_reason": null + } + ], + "obfuscation": "ty8x5spEcAUPKzf" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".”\n" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-" + }, + "finish_reason": null + } + ], + "obfuscation": "xxw" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " “" + }, + "finish_reason": null + } + ], + "obfuscation": "eg" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "Do" + }, + "finish_reason": null + } + ], + "obfuscation": "78" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " I" + }, + "finish_reason": null + } + ], + "obfuscation": "9O" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " need" + }, + "finish_reason": null + } + ], + "obfuscation": "ttjAAOvBbAq1YXR" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " a" + }, + "finish_reason": null + } + ], + "obfuscation": "dc" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " rain" + }, + "finish_reason": null + } + ], + "obfuscation": "tipm58YXHnBGaKG" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " jacket" + }, + "finish_reason": null + } + ], + "obfuscation": "rTSPXnMACTP2m" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " for" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " New" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " York" + }, + "finish_reason": null + } + ], + "obfuscation": "lPhiwkS8ach9Sbd" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " today" + }, + "finish_reason": null + } + ], + "obfuscation": "87bGnj0KwqrQ8p" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "?”\n" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "-" + }, + "finish_reason": null + } + ], + "obfuscation": "opl" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " “" + }, + "finish_reason": null + } + ], + "obfuscation": "qF" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "Give" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " me" + }, + "finish_reason": null + } + ], + "obfuscation": "F" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " hourly" + }, + "finish_reason": null + } + ], + "obfuscation": "3i34hj4NorQon" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " rain" + }, + "finish_reason": null + } + ], + "obfuscation": "88wsMcM1T1ABDsc" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " chances" + }, + "finish_reason": null + } + ], + "obfuscation": "0Cwy45HNwY2B" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " for" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " both" + }, + "finish_reason": null + } + ], + "obfuscation": "pCojM70qniZLrKE" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " cities" + }, + "finish_reason": null + } + ], + "obfuscation": "PvrPs2G1K0T10" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".”" + }, + "finish_reason": null + } + ], + "obfuscation": "h9" + }, + { + "id": "chatcmpl-DPZcqbj0ADC8JLVMUG6U5CbqeyZ5Z", + "object": "chat.completion.chunk", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": {}, + "finish_reason": "stop" + } + ], + "obfuscation": "2WofEZG0MOJ9DA" + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-response.json b/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-response.json new file mode 100644 index 00000000..7fecd22d --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/chat-completions/followup-response.json @@ -0,0 +1,35 @@ +{ + "id": "chatcmpl-DPZcqpEZHfR5SAmQTQQ9vLr5oQlzr", + "object": "chat.completion", + "created": 1774987516, + "model": "gpt-5-nano-2025-08-07", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "Here are a few good next steps. Pick one (or tell me your goal) and I’ll fetch it:\n\n- Get the hourly forecast for the next 24 hours for both cities\n- Get a 7-day outlook for both cities\n- See current conditions plus humidity, wind, and precipitation chances\n- Set weather alerts for rain or temperature changes\n- Quick packing tips based on the forecast (e.g., SF: light jacket and sunglasses; NYC: warm layers and a waterproof coat)\n- If you’re traveling or planning activities, I can tailor recommendations to the forecast\n\nWould you like me to pull the hourly forecast for San Francisco and New York?", + "refusal": null, + "annotations": [] + }, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 285, + "completion_tokens": 974, + "total_tokens": 1259, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 832, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": null +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/chat-completions/request.json b/payloads/snapshots/parallelToolCallsRequest/chat-completions/request.json new file mode 100644 index 00000000..de8d6e2c --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/chat-completions/request.json @@ -0,0 +1,62 @@ +{ + "model": "gpt-5-nano", + "messages": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_sf", + "type": "function", + "function": { + "name": "get_weather", + "arguments": "{\"location\":\"San Francisco, CA\"}" + } + }, + { + "id": "call_nyc", + "type": "function", + "function": { + "name": "get_weather", + "arguments": "{\"location\":\"New York, NY\"}" + } + } + ] + }, + { + "role": "tool", + "tool_call_id": "call_sf", + "content": "65°F and sunny." + }, + { + "role": "tool", + "tool_call_id": "call_nyc", + "content": "45°F and cloudy." + } + ], + "tools": [ + { + "type": "function", + "function": { + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/chat-completions/response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/chat-completions/response-streaming.json new file mode 100644 index 00000000..4c7c7985 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/chat-completions/response-streaming.json @@ -0,0 +1,650 @@ +[ + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "role": "assistant", + "content": "", + "refusal": null + }, + "finish_reason": null + } + ], + "obfuscation": "DD" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "San" + }, + "finish_reason": null + } + ], + "obfuscation": "w" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " Francisco" + }, + "finish_reason": null + } + ], + "obfuscation": "AcqJwJQj2a" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "," + }, + "finish_reason": null + } + ], + "obfuscation": "5HB" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " CA" + }, + "finish_reason": null + } + ], + "obfuscation": "t" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":" + }, + "finish_reason": null + } + ], + "obfuscation": "6NP" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " " + }, + "finish_reason": null + } + ], + "obfuscation": "Zbm" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "65" + }, + "finish_reason": null + } + ], + "obfuscation": "oh" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "°F" + }, + "finish_reason": null + } + ], + "obfuscation": "IL" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " and" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " sunny" + }, + "finish_reason": null + } + ], + "obfuscation": "cev00YTUVVUE6n" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".\n" + }, + "finish_reason": null + } + ], + "obfuscation": "H" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "New" + }, + "finish_reason": null + } + ], + "obfuscation": "m" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " York" + }, + "finish_reason": null + } + ], + "obfuscation": "IrL1SdaM2O5X5B5" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "," + }, + "finish_reason": null + } + ], + "obfuscation": "gYv" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " NY" + }, + "finish_reason": null + } + ], + "obfuscation": "5" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ":" + }, + "finish_reason": null + } + ], + "obfuscation": "hfl" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " " + }, + "finish_reason": null + } + ], + "obfuscation": "AwB" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "45" + }, + "finish_reason": null + } + ], + "obfuscation": "fN" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "°F" + }, + "finish_reason": null + } + ], + "obfuscation": "vN" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " and" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " cloudy" + }, + "finish_reason": null + } + ], + "obfuscation": "Nm7SniYz8MDHi" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": ".\n\n" + }, + "finish_reason": null + } + ], + "obfuscation": "EEXkK8yryRSTDes" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "Want" + }, + "finish_reason": null + } + ], + "obfuscation": "" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " an" + }, + "finish_reason": null + } + ], + "obfuscation": "3" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " hourly" + }, + "finish_reason": null + } + ], + "obfuscation": "Uu4avUkbGDraW" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " forecast" + }, + "finish_reason": null + } + ], + "obfuscation": "jRDOOIrIiEK" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " or" + }, + "finish_reason": null + } + ], + "obfuscation": "o" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " a" + }, + "finish_reason": null + } + ], + "obfuscation": "Qr" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " plan" + }, + "finish_reason": null + } + ], + "obfuscation": "6kh4YY3G99d1k8Y" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " based" + }, + "finish_reason": null + } + ], + "obfuscation": "FxoTIRgVCMMDvu" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " on" + }, + "finish_reason": null + } + ], + "obfuscation": "e" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " this" + }, + "finish_reason": null + } + ], + "obfuscation": "xVCIAQAkICv8sDH" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": " weather" + }, + "finish_reason": null + } + ], + "obfuscation": "Qt8jlVJ9fsAo" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": { + "content": "?" + }, + "finish_reason": null + } + ], + "obfuscation": "y2B" + }, + { + "id": "chatcmpl-DPZclw9gTnNL0n4MagxhA8sSt4G5c", + "object": "chat.completion.chunk", + "created": 1774987511, + "model": "gpt-5-nano-2025-08-07", + "service_tier": "default", + "system_fingerprint": null, + "choices": [ + { + "index": 0, + "delta": {}, + "finish_reason": "stop" + } + ], + "obfuscation": "XCbCelhPncQbih" + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/chat-completions/response.json b/payloads/snapshots/parallelToolCallsRequest/chat-completions/response.json new file mode 100644 index 00000000..d9b7c3e5 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/chat-completions/response.json @@ -0,0 +1,35 @@ +{ + "id": "chatcmpl-DPZcmFNmZaMZ8YXWFU3NcqOvASY9c", + "object": "chat.completion", + "created": 1774987512, + "model": "gpt-5-nano-2025-08-07", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "- San Francisco, CA: 65°F and sunny.\n- New York, NY: 45°F and cloudy.\n\nWant a short-term forecast or details like humidity, wind, or precipitation chances?", + "refusal": null, + "annotations": [] + }, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 229, + "completion_tokens": 241, + "total_tokens": 470, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 192, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": null +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/google/followup-request.json b/payloads/snapshots/parallelToolCallsRequest/google/followup-request.json new file mode 100644 index 00000000..6603bbf3 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/google/followup-request.json @@ -0,0 +1,92 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What's the weather in San Francisco and New York?" + } + ] + }, + { + "role": "model", + "parts": [ + { + "functionCall": { + "name": "get_weather", + "args": { + "location": "San Francisco, CA" + } + } + }, + { + "functionCall": { + "name": "get_weather", + "args": { + "location": "New York, NY" + } + } + } + ] + }, + { + "role": "user", + "parts": [ + { + "functionResponse": { + "name": "get_weather", + "response": { + "result": "65°F and sunny." + } + } + }, + { + "functionResponse": { + "name": "get_weather", + "response": { + "result": "45°F and cloudy." + } + } + } + ] + }, + { + "role": "model", + "parts": [ + { + "text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy." + } + ] + }, + { + "role": "user", + "parts": [ + { + "text": "What should I do next?" + } + ] + } + ], + "tools": [ + { + "functionDeclarations": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "OBJECT", + "properties": { + "location": { + "type": "STRING", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/google/followup-response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/google/followup-response-streaming.json new file mode 100644 index 00000000..0648cdd0 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/google/followup-response-streaming.json @@ -0,0 +1,57 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "I need more information to give you a good recommendation. What kind of activities are you interested in? Where are you located? Do you have any preferences or constraints?", + "thoughtSignature": "Cl0Bvj72+5xa7luvfqcrwT8quOaseVGxSHFiJhdxFEkGJc1MHxzbzA7ZXNGdwJ7lxw7JGzk/ZKQL/Nl5Ilo0ltF/HphuG2p0+eZc/1CjLgHBqHua3Q20dQSc0zB4CsgKnAIBvj72+71aYUJ1PSWgtLNc4YVbDQtFvzXa0Dw2O9lXx9WUlnQhDNuJ7Q/XHvKc/Eaue5kN15r5fYH7X1SZJ/g8B8iKZP/6omQxv3JnoH9NFSdvwgEZPX56iLvfnrBj1jpae6nCe+EObCIx3g5ftPWzmM7gk8L/kWNIGySrgiTqF++IklamHjr+ykM8JAn8S0GQ08gEVkWnx1eiiGPJZLBoJnYr+uSUpMCX41a6z1oVk+2lJevvaWhCj//nR+Ppa2kYQluV8h79X/DeQpAaQVF4S/bv2ESAYOiCDF6eFqmqca00VqbiCz3Z5rCsv0fG6maF42sy2Lukcc1UCU9D5cnS8E34WGg7oAudgNuI+QfhfqbYnnj3wiB5aBKS0Ap0Ab4+9vuOUqLz3DUblZJYhBdtQnnPJcnaiA/u9lwNkJbXBxMFmivu1R9Jj5tLjN+SEJDpHoJw9FZp0jYh7ZOi7N4YzGgAYOukW9E31VvDFkqle6GNY9ziUc1e3PaJTiCV9MH8LdLBrwENoItPf6jcb7I7PyQ=" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 180, + "candidatesTokenCount": 33, + "totalTokenCount": 293, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 180 + } + ], + "thoughtsTokenCount": 80 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "-CjMaeqtHYvK-8YP1JyquQY" + }, + { + "candidates": [ + { + "content": { + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 180, + "candidatesTokenCount": 33, + "totalTokenCount": 293, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 180 + } + ], + "thoughtsTokenCount": 80 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "-CjMaeqtHYvK-8YP1JyquQY" + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/google/followup-response.json b/payloads/snapshots/parallelToolCallsRequest/google/followup-response.json new file mode 100644 index 00000000..e03d83b7 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/google/followup-response.json @@ -0,0 +1,31 @@ +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "I'm sorry, I can't answer that. I need more information about what you're trying to do or what your interests are.", + "thoughtSignature": "Cr4CAb4+9vviV0a7bX4VWVgmW8UxjubOQDiJebj5pO4jrfSDE3X+SSFICCZf7FmkWR4UlhurtehfhAyhoq7htTggasg49Ojx921OgEs4fRRKrgIuUKyOOvSSvJB/WR8u70hNZpHZgcMQlo28GPiDyiSSm1X0UP3dGk2rKcKSq51iONkvnWSpy3Tqf6AB/DX9/b3B6OpztTpjPLzaUs57vzJpIYt6wItyrShhgiVGeGM2xo7yEJ/2eNBxrocNAmuTeUUBjHn++H35gnNNjIbyN80ZB4RcdzROs3sc7cP3J8mcORQGXg4mQGFc3U15DXfLF6yo7aQgp45RRHJ3ADoAnS1PowQpvebvmBwiaWIq/bLMFEiZI4Z6LPBQ9EUYh5oUGbaQcFPpXRp+gExHG75MHOJzi7PJx8o5lIwBIbohJgTB" + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 180, + "candidatesTokenCount": 30, + "totalTokenCount": 264, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 180 + } + ], + "thoughtsTokenCount": 54 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "-CjMacO9HaCrsOIPkNjksQs" +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/google/request.json b/payloads/snapshots/parallelToolCallsRequest/google/request.json new file mode 100644 index 00000000..f116f6be --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/google/request.json @@ -0,0 +1,76 @@ +{ + "contents": [ + { + "role": "user", + "parts": [ + { + "text": "What's the weather in San Francisco and New York?" + } + ] + }, + { + "role": "model", + "parts": [ + { + "functionCall": { + "name": "get_weather", + "args": { + "location": "San Francisco, CA" + } + } + }, + { + "functionCall": { + "name": "get_weather", + "args": { + "location": "New York, NY" + } + } + } + ] + }, + { + "role": "user", + "parts": [ + { + "functionResponse": { + "name": "get_weather", + "response": { + "result": "65°F and sunny." + } + } + }, + { + "functionResponse": { + "name": "get_weather", + "response": { + "result": "45°F and cloudy." + } + } + } + ] + } + ], + "tools": [ + { + "functionDeclarations": [ + { + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "OBJECT", + "properties": { + "location": { + "type": "STRING", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + } + } + ] + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/google/response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/google/response-streaming.json new file mode 100644 index 00000000..d9985c94 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/google/response-streaming.json @@ -0,0 +1,87 @@ +[ + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The weather in San" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 140, + "candidatesTokenCount": 4, + "totalTokenCount": 144, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 140 + } + ] + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "9yjMaZqMKv6tjrEPk-WY6Qw" + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": " Francisco, CA is 65°F and sunny. In New York, NY" + } + ], + "role": "model" + }, + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 140, + "candidatesTokenCount": 21, + "totalTokenCount": 161, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 140 + } + ] + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "9yjMaZqMKv6tjrEPk-WY6Qw" + }, + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": ", it's 45°F and cloudy." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 140, + "candidatesTokenCount": 33, + "totalTokenCount": 173, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 140 + } + ] + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "9yjMaZqMKv6tjrEPk-WY6Qw" + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/google/response.json b/payloads/snapshots/parallelToolCallsRequest/google/response.json new file mode 100644 index 00000000..af2b6679 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/google/response.json @@ -0,0 +1,29 @@ +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 140, + "candidatesTokenCount": 32, + "totalTokenCount": 172, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 140 + } + ] + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "9yjMadCzKpap-8YPgM3q4QE" +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/responses/followup-request.json b/payloads/snapshots/parallelToolCallsRequest/responses/followup-request.json new file mode 100644 index 00000000..205a303d --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/responses/followup-request.json @@ -0,0 +1,76 @@ +{ + "model": "gpt-5-nano", + "input": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "type": "function_call", + "call_id": "call_sf", + "name": "get_weather", + "arguments": "{\"location\":\"San Francisco, CA\"}", + "status": "completed" + }, + { + "type": "function_call", + "call_id": "call_nyc", + "name": "get_weather", + "arguments": "{\"location\":\"New York, NY\"}", + "status": "completed" + }, + { + "type": "function_call_output", + "call_id": "call_sf", + "output": "65°F and sunny." + }, + { + "type": "function_call_output", + "call_id": "call_nyc", + "output": "45°F and cloudy." + }, + { + "id": "rs_0eee38712a6f303d0069ccab5473bc81a3a4fce33a1a42ef08", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_0eee38712a6f303d0069ccab578bc481a390a7e37799de9cbc", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "- San Francisco, CA: 65°F and sunny\n- New York, NY: 45°F and cloudy\n\nWant an hourly forecast or any packing/tips for these conditions?" + } + ], + "role": "assistant" + }, + { + "role": "user", + "content": "What should I do next?" + } + ], + "tools": [ + { + "type": "function", + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/responses/followup-response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/responses/followup-response-streaming.json new file mode 100644 index 00000000..cf738b33 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/responses/followup-response-streaming.json @@ -0,0 +1,1766 @@ +[ + { + "type": "response.created", + "response": { + "id": "resp_0eee38712a6f303d0069ccab5894e081a3905445b40a1b2804", + "object": "response", + "created_at": 1775020888, + "status": "in_progress", + "background": false, + "completed_at": null, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "auto", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + }, + "sequence_number": 0 + }, + { + "type": "response.in_progress", + "response": { + "id": "resp_0eee38712a6f303d0069ccab5894e081a3905445b40a1b2804", + "object": "response", + "created_at": 1775020888, + "status": "in_progress", + "background": false, + "completed_at": null, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "auto", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + }, + "sequence_number": 1 + }, + { + "type": "response.output_item.added", + "item": { + "id": "rs_0eee38712a6f303d0069ccab58cc3881a3a8839d62e21626b5", + "type": "reasoning", + "summary": [] + }, + "output_index": 0, + "sequence_number": 2 + }, + { + "type": "response.output_item.done", + "item": { + "id": "rs_0eee38712a6f303d0069ccab58cc3881a3a8839d62e21626b5", + "type": "reasoning", + "summary": [] + }, + "output_index": 0, + "sequence_number": 3 + }, + { + "type": "response.output_item.added", + "item": { + "id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "type": "message", + "status": "in_progress", + "content": [], + "role": "assistant" + }, + "output_index": 1, + "sequence_number": 4 + }, + { + "type": "response.content_part.added", + "content_index": 0, + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "output_index": 1, + "part": { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "" + }, + "sequence_number": 5 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "Here", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "p21eAIj5Bvh2", + "output_index": 1, + "sequence_number": 6 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " are", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "WGZT8V2NkLQ6", + "output_index": 1, + "sequence_number": 7 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " a", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "FX1Nykf86q6whi", + "output_index": 1, + "sequence_number": 8 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " few", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "HmlxFwJ8ymuc", + "output_index": 1, + "sequence_number": 9 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " quick", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "B4vW8JBgCQ", + "output_index": 1, + "sequence_number": 10 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " next", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "GdULbs1hyZH", + "output_index": 1, + "sequence_number": 11 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " steps", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "qC0rgLXDdT", + "output_index": 1, + "sequence_number": 12 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " based", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "hFnbocrHY8", + "output_index": 1, + "sequence_number": 13 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " on", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "yUjnsYEEyVlqy", + "output_index": 1, + "sequence_number": 14 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " the", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "h7YmR6ITrJ8I", + "output_index": 1, + "sequence_number": 15 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " current", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "KUxH45qT", + "output_index": 1, + "sequence_number": 16 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " conditions", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "i6Yxz", + "output_index": 1, + "sequence_number": 17 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ":\n\n", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "1cBSHinWNtnIt", + "output_index": 1, + "sequence_number": 18 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "-", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "m9PETFpMIp9avSv", + "output_index": 1, + "sequence_number": 19 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " If", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "35AfnymRQFxAo", + "output_index": 1, + "sequence_number": 20 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " you", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "6Z2mJrUohvJv", + "output_index": 1, + "sequence_number": 21 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "’re", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "5M6i5lZpqRw6U", + "output_index": 1, + "sequence_number": 22 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " going", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "V8IHfVgWtb", + "output_index": 1, + "sequence_number": 23 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " out", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "ggjzf7AzNvmg", + "output_index": 1, + "sequence_number": 24 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " right", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "DB1GhFUonW", + "output_index": 1, + "sequence_number": 25 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " now", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "sOABwbPKx97b", + "output_index": 1, + "sequence_number": 26 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ":\n", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "LNvuuzctGOUOA8", + "output_index": 1, + "sequence_number": 27 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " ", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "hYywBgZ4rphMdDt", + "output_index": 1, + "sequence_number": 28 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " -", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "7elOJu72KbO1W8", + "output_index": 1, + "sequence_number": 29 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " San", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "usxkxFkdjtaL", + "output_index": 1, + "sequence_number": 30 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " Francisco", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "ZZB4kA", + "output_index": 1, + "sequence_number": 31 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " (", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "q3d27G4tpr9zkp", + "output_index": 1, + "sequence_number": 32 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "65", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "WYrJBxaPIBJSTD", + "output_index": 1, + "sequence_number": 33 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "°F", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Xchm2QxSHXZSuv", + "output_index": 1, + "sequence_number": 34 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ",", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "8AUdy56VdNeegti", + "output_index": 1, + "sequence_number": 35 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " sunny", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "hs6Cxf0Awb", + "output_index": 1, + "sequence_number": 36 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "):", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "daVQFVOqsdb8qy", + "output_index": 1, + "sequence_number": 37 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " it", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "YfYAJv0t1XxRF", + "output_index": 1, + "sequence_number": 38 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "’s", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "vl0glCIP1SnNH0", + "output_index": 1, + "sequence_number": 39 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " pleasant", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "CReRtdx", + "output_index": 1, + "sequence_number": 40 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ".", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "1UeWM9IfL2qu1Cl", + "output_index": 1, + "sequence_number": 41 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " Light", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Fn864vpPZ7", + "output_index": 1, + "sequence_number": 42 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " layers", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "cw0uDrlYB", + "output_index": 1, + "sequence_number": 43 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " are", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "iYXQv1sbhkRh", + "output_index": 1, + "sequence_number": 44 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " fine", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "RI8746SBjDU", + "output_index": 1, + "sequence_number": 45 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ";", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "0wxV69mwUV0OU8P", + "output_index": 1, + "sequence_number": 46 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " sunscreen", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "JriN86", + "output_index": 1, + "sequence_number": 47 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " and", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "MO15xLn7hMg6", + "output_index": 1, + "sequence_number": 48 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " sunglasses", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "voxG8", + "output_index": 1, + "sequence_number": 49 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " recommended", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "kvxv", + "output_index": 1, + "sequence_number": 50 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ".\n", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "tCRezUUWDxS9kJ", + "output_index": 1, + "sequence_number": 51 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " ", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "VsChcCSrKgm7T7k", + "output_index": 1, + "sequence_number": 52 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " -", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "yW3U4WEfRMBjaH", + "output_index": 1, + "sequence_number": 53 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " New", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "yULAEt8ZobXh", + "output_index": 1, + "sequence_number": 54 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " York", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "IBY8MDDlf7F", + "output_index": 1, + "sequence_number": 55 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " (", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Z0ym19g7MxQTP8", + "output_index": 1, + "sequence_number": 56 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "45", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "48NZ44iN4tREKN", + "output_index": 1, + "sequence_number": 57 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "°F", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "PoHVzmJyaeFeyR", + "output_index": 1, + "sequence_number": 58 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ",", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "0Qa6xWLA2kfII7u", + "output_index": 1, + "sequence_number": 59 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " cloudy", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "tfM7MB0H2", + "output_index": 1, + "sequence_number": 60 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "):", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "hSznl8hVLruNKm", + "output_index": 1, + "sequence_number": 61 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " dress", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "sIk9LxWaoL", + "output_index": 1, + "sequence_number": 62 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " in", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "sPQDbna4ZeRoF", + "output_index": 1, + "sequence_number": 63 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " layers", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "MivBh9frA", + "output_index": 1, + "sequence_number": 64 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " with", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Xk7AQedieqH", + "output_index": 1, + "sequence_number": 65 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " a", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "H2WOoDo6JA8yTd", + "output_index": 1, + "sequence_number": 66 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " warm", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "qsM2AenQwCm", + "output_index": 1, + "sequence_number": 67 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " coat", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "fAMImiWHpZv", + "output_index": 1, + "sequence_number": 68 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ",", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "wkalAYdMO9DIsr8", + "output_index": 1, + "sequence_number": 69 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " hat", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "gKD1abzzTKd2", + "output_index": 1, + "sequence_number": 70 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ",", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "zpNOSORYSS1w7vk", + "output_index": 1, + "sequence_number": 71 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " and", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "hbJez1rm15PD", + "output_index": 1, + "sequence_number": 72 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " gloves", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Z6S7dmuLz", + "output_index": 1, + "sequence_number": 73 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ".", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "6VAObjh1a70EJwr", + "output_index": 1, + "sequence_number": 74 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " You", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "PNzKNPOUcMXJ", + "output_index": 1, + "sequence_number": 75 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " might", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "OnkkhyZKdu", + "output_index": 1, + "sequence_number": 76 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " want", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "NNB1Ku9aegW", + "output_index": 1, + "sequence_number": 77 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " an", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "vp1bg5SqM6a29", + "output_index": 1, + "sequence_number": 78 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " umbrella", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "WhZWAfV", + "output_index": 1, + "sequence_number": 79 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " if", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "toG0Ulv1JkHKc", + "output_index": 1, + "sequence_number": 80 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " rain", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "FHY3nqrQ5ws", + "output_index": 1, + "sequence_number": 81 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " shows", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "e8y6HD6Qic", + "output_index": 1, + "sequence_number": 82 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " up", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "CMMf2cPZd4ZyG", + "output_index": 1, + "sequence_number": 83 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ".\n\n", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "u2APYLRtBBhy7", + "output_index": 1, + "sequence_number": 84 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "-", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "LdbZac6RkdmfzOU", + "output_index": 1, + "sequence_number": 85 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " Plan", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Wm9FnOAE4Wi", + "output_index": 1, + "sequence_number": 86 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " indoor", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "2iAyTDWnZ", + "output_index": 1, + "sequence_number": 87 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " options", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "GtZgjuoY", + "output_index": 1, + "sequence_number": 88 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " for", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "aFZtzkDzpBSX", + "output_index": 1, + "sequence_number": 89 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " NYC", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "B3OeEYPS48Zp", + "output_index": 1, + "sequence_number": 90 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " if", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "U8IUjTCK4BeX5", + "output_index": 1, + "sequence_number": 91 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " you", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "19WPyXzALB7W", + "output_index": 1, + "sequence_number": 92 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "’d", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "DmGNuHwxHcKSYW", + "output_index": 1, + "sequence_number": 93 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " rather", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "ebdHCS6OQ", + "output_index": 1, + "sequence_number": 94 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " skip", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "7RDhXz6SeeA", + "output_index": 1, + "sequence_number": 95 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " the", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "7WoQ4fhJxX7V", + "output_index": 1, + "sequence_number": 96 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " chill", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "42rFB7f63x", + "output_index": 1, + "sequence_number": 97 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ":", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "ZPvQXrgr1juzaEt", + "output_index": 1, + "sequence_number": 98 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " museums", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "OslGf1lQ", + "output_index": 1, + "sequence_number": 99 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ",", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Oy2dMbudVz3PI7b", + "output_index": 1, + "sequence_number": 100 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " cafes", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "EOvluNOHcj", + "output_index": 1, + "sequence_number": 101 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ",", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "usGNI9AvcQXrjfG", + "output_index": 1, + "sequence_number": 102 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " or", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "JO7cqY800Lzpo", + "output_index": 1, + "sequence_number": 103 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " a", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "bksfEYCAAy3zGp", + "output_index": 1, + "sequence_number": 104 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " show", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "KCYGabZwL8T", + "output_index": 1, + "sequence_number": 105 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ".\n\n", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "1JWEjqFjBeXIv", + "output_index": 1, + "sequence_number": 106 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "-", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "AprAygVtwYmvPz8", + "output_index": 1, + "sequence_number": 107 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " Want", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "O0fH7L4ZIzK", + "output_index": 1, + "sequence_number": 108 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " more", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "DrdLoT88Tpr", + "output_index": 1, + "sequence_number": 109 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " detail", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "BddTSzt29", + "output_index": 1, + "sequence_number": 110 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "?", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "VKzR9W8io4xohpi", + "output_index": 1, + "sequence_number": 111 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " I", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "aXhB1i70EntrBW", + "output_index": 1, + "sequence_number": 112 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " can", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "IVKLTxYETtMn", + "output_index": 1, + "sequence_number": 113 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " grab", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "dL6WpGzwJWp", + "output_index": 1, + "sequence_number": 114 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " an", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "osceFoY08MTF3", + "output_index": 1, + "sequence_number": 115 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " hourly", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "QjYg9JQQg", + "output_index": 1, + "sequence_number": 116 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " forecast", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "PprrTz0", + "output_index": 1, + "sequence_number": 117 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " for", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "ZwGqAkynyqh6", + "output_index": 1, + "sequence_number": 118 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " today", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "hEb1xR04kn", + "output_index": 1, + "sequence_number": 119 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " for", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "j71SDcFmz5pf", + "output_index": 1, + "sequence_number": 120 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " both", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "f3ldSsMILRH", + "output_index": 1, + "sequence_number": 121 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " cities", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "sm4L250kV", + "output_index": 1, + "sequence_number": 122 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ",", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Gpi3aEmqWJJLZ6c", + "output_index": 1, + "sequence_number": 123 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " or", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "gorMPOvL3d9eX", + "output_index": 1, + "sequence_number": 124 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " suggest", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "Ak2ANqwg", + "output_index": 1, + "sequence_number": 125 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " a", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "XH9YzChkmsqxvG", + "output_index": 1, + "sequence_number": 126 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " simple", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "84IH2tyui", + "output_index": 1, + "sequence_number": 127 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " activity", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "FwJN38j", + "output_index": 1, + "sequence_number": 128 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " plan", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "gZm7bncCEqf", + "output_index": 1, + "sequence_number": 129 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " (", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "NLAqIs7kxZZQx8", + "output_index": 1, + "sequence_number": 130 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "out", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "noGyDH6lGABza", + "output_index": 1, + "sequence_number": 131 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "door", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "L9KMgQ3yGw6d", + "output_index": 1, + "sequence_number": 132 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " vs", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "eobUQUiLFuhpV", + "output_index": 1, + "sequence_number": 133 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ".", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "6aSsULWZrdCD4Tm", + "output_index": 1, + "sequence_number": 134 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " indoor", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "04Rno0t7E", + "output_index": 1, + "sequence_number": 135 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ")", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "x90Y0hrpHw3SFVO", + "output_index": 1, + "sequence_number": 136 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " tailored", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "ctUxsIh", + "output_index": 1, + "sequence_number": 137 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " to", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "5eKSxR0ZUKSHx", + "output_index": 1, + "sequence_number": 138 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " your", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "UlXSPiJhpkX", + "output_index": 1, + "sequence_number": 139 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " plans", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "jrXQBXE1fL", + "output_index": 1, + "sequence_number": 140 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": ".", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "vuI73iRR9DtE5iM", + "output_index": 1, + "sequence_number": 141 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " What", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "CnMvXJHSjK4", + "output_index": 1, + "sequence_number": 142 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " would", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "A9oJzuzKrF", + "output_index": 1, + "sequence_number": 143 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " you", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "vPeNkIZbNKV4", + "output_index": 1, + "sequence_number": 144 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " like", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "8AfGwiflDSc", + "output_index": 1, + "sequence_number": 145 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " me", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "9JY0hnCPArnly", + "output_index": 1, + "sequence_number": 146 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " to", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "KZnH8eHxUDh6o", + "output_index": 1, + "sequence_number": 147 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " do", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "UchC8VcWW4F99", + "output_index": 1, + "sequence_number": 148 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": " next", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "5fLjQYjT0l8", + "output_index": 1, + "sequence_number": 149 + }, + { + "type": "response.output_text.delta", + "content_index": 0, + "delta": "?", + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "obfuscation": "GEu7JjgGHP4FBKh", + "output_index": 1, + "sequence_number": 150 + }, + { + "type": "response.output_text.done", + "content_index": 0, + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "logprobs": [], + "output_index": 1, + "sequence_number": 151, + "text": "Here are a few quick next steps based on the current conditions:\n\n- If you’re going out right now:\n - San Francisco (65°F, sunny): it’s pleasant. Light layers are fine; sunscreen and sunglasses recommended.\n - New York (45°F, cloudy): dress in layers with a warm coat, hat, and gloves. You might want an umbrella if rain shows up.\n\n- Plan indoor options for NYC if you’d rather skip the chill: museums, cafes, or a show.\n\n- Want more detail? I can grab an hourly forecast for today for both cities, or suggest a simple activity plan (outdoor vs. indoor) tailored to your plans. What would you like me to do next?" + }, + { + "type": "response.content_part.done", + "content_index": 0, + "item_id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "output_index": 1, + "part": { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Here are a few quick next steps based on the current conditions:\n\n- If you’re going out right now:\n - San Francisco (65°F, sunny): it’s pleasant. Light layers are fine; sunscreen and sunglasses recommended.\n - New York (45°F, cloudy): dress in layers with a warm coat, hat, and gloves. You might want an umbrella if rain shows up.\n\n- Plan indoor options for NYC if you’d rather skip the chill: museums, cafes, or a show.\n\n- Want more detail? I can grab an hourly forecast for today for both cities, or suggest a simple activity plan (outdoor vs. indoor) tailored to your plans. What would you like me to do next?" + }, + "sequence_number": 152 + }, + { + "type": "response.output_item.done", + "item": { + "id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Here are a few quick next steps based on the current conditions:\n\n- If you’re going out right now:\n - San Francisco (65°F, sunny): it’s pleasant. Light layers are fine; sunscreen and sunglasses recommended.\n - New York (45°F, cloudy): dress in layers with a warm coat, hat, and gloves. You might want an umbrella if rain shows up.\n\n- Plan indoor options for NYC if you’d rather skip the chill: museums, cafes, or a show.\n\n- Want more detail? I can grab an hourly forecast for today for both cities, or suggest a simple activity plan (outdoor vs. indoor) tailored to your plans. What would you like me to do next?" + } + ], + "role": "assistant" + }, + "output_index": 1, + "sequence_number": 153 + }, + { + "type": "response.completed", + "response": { + "id": "resp_0eee38712a6f303d0069ccab5894e081a3905445b40a1b2804", + "object": "response", + "created_at": 1775020888, + "status": "completed", + "background": false, + "completed_at": 1775020895, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [ + { + "id": "rs_0eee38712a6f303d0069ccab58cc3881a3a8839d62e21626b5", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_0eee38712a6f303d0069ccab5f1efc81a38a53f12ef1f4c2fe", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Here are a few quick next steps based on the current conditions:\n\n- If you’re going out right now:\n - San Francisco (65°F, sunny): it’s pleasant. Light layers are fine; sunscreen and sunglasses recommended.\n - New York (45°F, cloudy): dress in layers with a warm coat, hat, and gloves. You might want an umbrella if rain shows up.\n\n- Plan indoor options for NYC if you’d rather skip the chill: museums, cafes, or a show.\n\n- Want more detail? I can grab an hourly forecast for today for both cities, or suggest a simple activity plan (outdoor vs. indoor) tailored to your plans. What would you like me to do next?" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 189, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 1540, + "output_tokens_details": { + "reasoning_tokens": 1344 + }, + "total_tokens": 1729 + }, + "user": null, + "metadata": {} + }, + "sequence_number": 154 + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/responses/followup-response.json b/payloads/snapshots/parallelToolCallsRequest/responses/followup-response.json new file mode 100644 index 00000000..b86a8168 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/responses/followup-response.json @@ -0,0 +1,96 @@ +{ + "id": "resp_0eee38712a6f303d0069ccab58fc8081a3944567417268082e", + "object": "response", + "created_at": 1775020889, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1775020895, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [ + { + "id": "rs_0eee38712a6f303d0069ccab5977ac81a3925c33ddb7b6368d", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_0eee38712a6f303d0069ccab5e26bc81a3a33ef2dac47b8094", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Here are some practical next steps based on the current conditions:\n\n- Plan clothing today\n - San Francisco (65°F, sunny): light layers, sunglasses, sunscreen. Evenings can be cooler—bring a light jacket.\n - New York (45°F, cloudy): dress in layers with a warm coat, scarf, and possibly gloves. It’ll feel cool and damp.\n\n- Check more details\n - Hourly forecast for today in both cities\n - 7-day outlook (rain chances, highs/lows)\n - Precipitation and wind alerts\n\n- Activity ideas\n - San Francisco: outdoor strolls in sunny weather, then a café stop if it gets chilly.\n - New York: indoor options if clouds/damp persist (museums, coffee shops), or a warm stroll with a coat.\n\nWould you like me to pull the hourly forecast for today in both cities, or fetch the 7-day outlook and any rain/wind alerts?" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 189, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 1250, + "output_tokens_details": { + "reasoning_tokens": 1024 + }, + "total_tokens": 1439 + }, + "user": null, + "metadata": {}, + "output_text": "Here are some practical next steps based on the current conditions:\n\n- Plan clothing today\n - San Francisco (65°F, sunny): light layers, sunglasses, sunscreen. Evenings can be cooler—bring a light jacket.\n - New York (45°F, cloudy): dress in layers with a warm coat, scarf, and possibly gloves. It’ll feel cool and damp.\n\n- Check more details\n - Hourly forecast for today in both cities\n - 7-day outlook (rain chances, highs/lows)\n - Precipitation and wind alerts\n\n- Activity ideas\n - San Francisco: outdoor strolls in sunny weather, then a café stop if it gets chilly.\n - New York: indoor options if clouds/damp persist (museums, coffee shops), or a warm stroll with a coat.\n\nWould you like me to pull the hourly forecast for today in both cities, or fetch the 7-day outlook and any rain/wind alerts?" +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/responses/request.json b/payloads/snapshots/parallelToolCallsRequest/responses/request.json new file mode 100644 index 00000000..8ac13fdb --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/responses/request.json @@ -0,0 +1,53 @@ +{ + "model": "gpt-5-nano", + "input": [ + { + "role": "user", + "content": "What's the weather in San Francisco and New York?" + }, + { + "type": "function_call", + "call_id": "call_sf", + "name": "get_weather", + "arguments": "{\"location\":\"San Francisco, CA\"}", + "status": "completed" + }, + { + "type": "function_call", + "call_id": "call_nyc", + "name": "get_weather", + "arguments": "{\"location\":\"New York, NY\"}", + "status": "completed" + }, + { + "type": "function_call_output", + "call_id": "call_sf", + "output": "65°F and sunny." + }, + { + "type": "function_call_output", + "call_id": "call_nyc", + "output": "45°F and cloudy." + } + ], + "tools": [ + { + "type": "function", + "name": "get_weather", + "description": "Get the current weather for a location", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ] +} \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/responses/response-streaming.json b/payloads/snapshots/parallelToolCallsRequest/responses/response-streaming.json new file mode 100644 index 00000000..ece67133 --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/responses/response-streaming.json @@ -0,0 +1,334 @@ +[ + { + "type": "response.created", + "response": { + "id": "resp_0d873ee6ff271ee50069ccab5472c48190a0df4dbf84547a2a", + "object": "response", + "created_at": 1775020884, + "status": "in_progress", + "background": false, + "completed_at": null, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "auto", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + }, + "sequence_number": 0 + }, + { + "type": "response.in_progress", + "response": { + "id": "resp_0d873ee6ff271ee50069ccab5472c48190a0df4dbf84547a2a", + "object": "response", + "created_at": 1775020884, + "status": "in_progress", + "background": false, + "completed_at": null, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "auto", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": null, + "user": null, + "metadata": {} + }, + "sequence_number": 1 + }, + { + "type": "response.output_item.added", + "item": { + "id": "rs_0d873ee6ff271ee50069ccab54e02c8190aba1973035fd1991", + "type": "reasoning", + "summary": [] + }, + "output_index": 0, + "sequence_number": 2 + }, + { + "type": "response.output_item.done", + "item": { + "id": "rs_0d873ee6ff271ee50069ccab54e02c8190aba1973035fd1991", + "type": "reasoning", + "summary": [] + }, + "output_index": 0, + "sequence_number": 3 + }, + { + "type": "response.output_item.added", + "item": { + "id": "fc_0d873ee6ff271ee50069ccab582f2881909dcb1491a3e7015f", + "type": "function_call", + "status": "in_progress", + "arguments": "", + "call_id": "call_0xi8hXSApey3her10vjUIx0j", + "name": "get_weather" + }, + "output_index": 1, + "sequence_number": 4 + }, + { + "type": "response.function_call_arguments.delta", + "delta": "{\"location\":\"San Francisco, CA\"}", + "item_id": "fc_0d873ee6ff271ee50069ccab582f2881909dcb1491a3e7015f", + "obfuscation": "", + "output_index": 1, + "sequence_number": 5 + }, + { + "type": "response.function_call_arguments.done", + "arguments": "{\"location\":\"San Francisco, CA\"}", + "item_id": "fc_0d873ee6ff271ee50069ccab582f2881909dcb1491a3e7015f", + "output_index": 1, + "sequence_number": 6 + }, + { + "type": "response.output_item.done", + "item": { + "id": "fc_0d873ee6ff271ee50069ccab582f2881909dcb1491a3e7015f", + "type": "function_call", + "status": "completed", + "arguments": "{\"location\":\"San Francisco, CA\"}", + "call_id": "call_0xi8hXSApey3her10vjUIx0j", + "name": "get_weather" + }, + "output_index": 1, + "sequence_number": 7 + }, + { + "type": "response.output_item.added", + "item": { + "id": "fc_0d873ee6ff271ee50069ccab582f3c8190be7856c817e74c8d", + "type": "function_call", + "status": "in_progress", + "arguments": "", + "call_id": "call_8fhPkmx5g5wyqqsTFMvzVtJw", + "name": "get_weather" + }, + "output_index": 2, + "sequence_number": 8 + }, + { + "type": "response.function_call_arguments.delta", + "delta": "{\"location\":\"New York, NY\"}", + "item_id": "fc_0d873ee6ff271ee50069ccab582f3c8190be7856c817e74c8d", + "obfuscation": "YWy0F", + "output_index": 2, + "sequence_number": 9 + }, + { + "type": "response.function_call_arguments.done", + "arguments": "{\"location\":\"New York, NY\"}", + "item_id": "fc_0d873ee6ff271ee50069ccab582f3c8190be7856c817e74c8d", + "output_index": 2, + "sequence_number": 10 + }, + { + "type": "response.output_item.done", + "item": { + "id": "fc_0d873ee6ff271ee50069ccab582f3c8190be7856c817e74c8d", + "type": "function_call", + "status": "completed", + "arguments": "{\"location\":\"New York, NY\"}", + "call_id": "call_8fhPkmx5g5wyqqsTFMvzVtJw", + "name": "get_weather" + }, + "output_index": 2, + "sequence_number": 11 + }, + { + "type": "response.completed", + "response": { + "id": "resp_0d873ee6ff271ee50069ccab5472c48190a0df4dbf84547a2a", + "object": "response", + "created_at": 1775020884, + "status": "completed", + "background": false, + "completed_at": 1775020888, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [ + { + "id": "rs_0d873ee6ff271ee50069ccab54e02c8190aba1973035fd1991", + "type": "reasoning", + "summary": [] + }, + { + "id": "fc_0d873ee6ff271ee50069ccab582f2881909dcb1491a3e7015f", + "type": "function_call", + "status": "completed", + "arguments": "{\"location\":\"San Francisco, CA\"}", + "call_id": "call_0xi8hXSApey3her10vjUIx0j", + "name": "get_weather" + }, + { + "id": "fc_0d873ee6ff271ee50069ccab582f3c8190be7856c817e74c8d", + "type": "function_call", + "status": "completed", + "arguments": "{\"location\":\"New York, NY\"}", + "call_id": "call_8fhPkmx5g5wyqqsTFMvzVtJw", + "name": "get_weather" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 136, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 678, + "output_tokens_details": { + "reasoning_tokens": 576 + }, + "total_tokens": 814 + }, + "user": null, + "metadata": {} + }, + "sequence_number": 12 + } +] \ No newline at end of file diff --git a/payloads/snapshots/parallelToolCallsRequest/responses/response.json b/payloads/snapshots/parallelToolCallsRequest/responses/response.json new file mode 100644 index 00000000..c6c9cb3f --- /dev/null +++ b/payloads/snapshots/parallelToolCallsRequest/responses/response.json @@ -0,0 +1,96 @@ +{ + "id": "resp_0eee38712a6f303d0069ccab53fb4881a3816905c94124b1d9", + "object": "response", + "created_at": 1775020883, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1775020887, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [ + { + "id": "rs_0eee38712a6f303d0069ccab5473bc81a3a4fce33a1a42ef08", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_0eee38712a6f303d0069ccab578bc481a390a7e37799de9cbc", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "- San Francisco, CA: 65°F and sunny\n- New York, NY: 45°F and cloudy\n\nWant an hourly forecast or any packing/tips for these conditions?" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The city and state, e.g. San Francisco, CA" + } + }, + "required": [ + "location" + ] + }, + "strict": false + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 136, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 674, + "output_tokens_details": { + "reasoning_tokens": 576 + }, + "total_tokens": 810 + }, + "user": null, + "metadata": {}, + "output_text": "- San Francisco, CA: 65°F and sunny\n- New York, NY: 45°F and cloudy\n\nWant an hourly forecast or any packing/tips for these conditions?" +} \ No newline at end of file diff --git a/payloads/transforms/anthropic_to_chat-completions/parallelToolCallsRequest.json b/payloads/transforms/anthropic_to_chat-completions/parallelToolCallsRequest.json new file mode 100644 index 00000000..e56dc8af --- /dev/null +++ b/payloads/transforms/anthropic_to_chat-completions/parallelToolCallsRequest.json @@ -0,0 +1,35 @@ +{ + "id": "chatcmpl-DPa8xc2za44wlqKU0Zxmovcyf41bS", + "object": "chat.completion", + "created": 1774989507, + "model": "gpt-5-nano-2025-08-07", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "Here’s the current weather:\n\n- San Francisco, CA: 65°F and sunny\n- New York, NY: 45°F and cloudy\n\nWant hourly details, a 7-day outlook, or a Celsius conversion?", + "refusal": null, + "annotations": [] + }, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 229, + "completion_tokens": 310, + "total_tokens": 539, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 256, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": null +} \ No newline at end of file diff --git a/payloads/transforms/anthropic_to_google/parallelToolCallsDisabledParam.json b/payloads/transforms/anthropic_to_google/parallelToolCallsDisabledParam.json index adcc850b..f152bdc2 100644 --- a/payloads/transforms/anthropic_to_google/parallelToolCallsDisabledParam.json +++ b/payloads/transforms/anthropic_to_google/parallelToolCallsDisabledParam.json @@ -10,7 +10,7 @@ "location": "NYC" } }, - "thoughtSignature": "CsMCAb4+9vvzioTg+JhGonMBupSJcil8frZ7XOCgJlTJ7h6yM2XxxHSM8hDdEbz0igNIK836iSWdTIvfpeJtWgBGBxtG4pPWRJ0yFkLYqhW1Ne16duO61znJzmddlXLvcYNBmc9+56vcuk8UbErJ27IZLcxCsmzIayBnYpGVXtlTeSHeVYt233YKvAwX13+Iq1YSOL3H+gQgaFUoc5WXYn/6xOzwXmmh+TyBappOsDd11/vYKVsJpF6Qez4XQ6lGngqenctDg3YYW33woX0TsVFBTTmTsnS40oIERfvhzLAJ2ZD2SPcJPp+hDbEy4zkub04tgXLkbPjiwfCzLL40BandeIi7QjHWoX8OdhJASGyA+CKpBzcf7PzwOasVXFMj0iGoFMP9NSuPu5lzMqdx/oC2J43i/fhfiwGT0/QDRHtpDI9irmQ=" + "thoughtSignature": "CpsCAb4+9vszqoMosmLPH/n0Z7stEj8j10wM0kS8LPOJQvgBy5b7GbuEccIvwYxfX31AcdugJL7AdBCkTXFtEmC+XPWi7BzY909n0KPensi3eTzvSKDrosR340kMs3dTWr0TsnU2NkeA0yB05dt9MQdLD01yjvoJ5KbVwn1uY3PhExozao2C3husFUff4ru+p5TuOwTiVV1rzgnwQxVStHzGdHYcHrL6ve1LY6DpZr1ZSyrIZafR+mOEXBTjsTeyRpAnHeY0qT7Lt/FqaxErl6mUU/hZRJn6VIsFpmMcDjIq4zGDR5YIAQO2fF16ysg9grrdXcrlKqQ+9AxNvUMHLR1G2n0Nsio+aavpkn7cYWeZXVq5w6TsmtDQoFi1Xw==" }, { "functionCall": { @@ -31,15 +31,15 @@ "usageMetadata": { "promptTokenCount": 39, "candidatesTokenCount": 30, - "totalTokenCount": 136, + "totalTokenCount": 127, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 39 } ], - "thoughtsTokenCount": 67 + "thoughtsTokenCount": 58 }, "modelVersion": "gemini-2.5-flash", - "responseId": "Bu3LaYuYJYaU_uMPuLWn2AU" + "responseId": "DabMadu_NKrP-8YPxu6ugQ8" } \ No newline at end of file diff --git a/payloads/transforms/anthropic_to_google/parallelToolCallsRequest.json b/payloads/transforms/anthropic_to_google/parallelToolCallsRequest.json new file mode 100644 index 00000000..5198a1ab --- /dev/null +++ b/payloads/transforms/anthropic_to_google/parallelToolCallsRequest.json @@ -0,0 +1,29 @@ +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 140, + "candidatesTokenCount": 32, + "totalTokenCount": 172, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 140 + } + ] + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "f57MacDBAZOb-8YP37yX4AE" +} \ No newline at end of file diff --git a/payloads/transforms/anthropic_to_google/toolCallRequest.json b/payloads/transforms/anthropic_to_google/toolCallRequest.json index ce3294ab..efb556e0 100644 --- a/payloads/transforms/anthropic_to_google/toolCallRequest.json +++ b/payloads/transforms/anthropic_to_google/toolCallRequest.json @@ -10,7 +10,7 @@ "location": "San Francisco, CA" } }, - "thoughtSignature": "CusCAb4+9vuq1yEKvOS8ePVJ5GwxyL9B1Kl77vCwcyfHbOkmBW5T0WZ8KkM7eSZJnKdr+YaG3orzsDxpHdVttXJikZXAaOvEJdaLuMibr30gOTc03QvtSozeU3tMP3qYDJqGHF7KzGSlp1BfeBwHT0zl6pnrMm5PxGlZ8qsMHP/4OraQoxXM2tBxsZKCGMuuv1RfGEOm06ldMk95cQaSOcsFC5cdUmXLwJLOvmzftZMvAgR0z4u77I2/hWEfsoZ+N8ii1P8rgmvP+QXPcalKa9Gy4eNxSVDf4zLmHoqAuuUIKpqTy0I1YNx9mzC32pS/oca5Kd3TMxfFX0zvddCGR3XbGj7LQJ8Cn8uQt7JX8/W/QxpHwVUhUgs6F2D8ebjhxJhHKu0Qufvpsv4zZ4aQOn/xsG7AdD4xf5mMgLwkPQmcxJfqQmxJMmb0Wyg3T7DGbgzjLdhxPcyEkmaKYMMiktW5cULq+nr02zOFnU9s" + "thoughtSignature": "CuUCAb4+9vsW9xVTnuRZChc3ngI6aiiWgiiNVxUbQUkFXL9Z85LZc3ras3Mt2TEn6flUazJ9Av84er521yZx1JVes/kbQh8AJ777BEu03tvIfhyw+7dn1dPbXeS8zNQuDpWv/r1dkMUPxnqDSLd2h0BO2Bt0Zen2RqCkWQmUSjo8WgIAoZEpm2TWXpZluE8PULUhrUDvLVXNHe3DDiIdm085WF/RafaRb+f1GBusrFkrjwRjr9XxoEWoec0ZEBkr3H2Pl4WU60oxU+euPWipqt4cJW3oJrVu7Zi49uwGZE4MTAweae0cirSWHAZIZgY/q0dFL7FeNdXxLaAibzNgzo6xUCTC1xixzhYxqMe5N+cMf9MZ6GOtAsN+gDRts395jpKytmwxfs3Lmf+LZ9IIDzbNA57x0xnmXRcuzoiO2orzRZxVsd8supTCkAx2q/7mb0pxlGTLtwhjPRCszKWHX1Mu4d0tlMQu" } ], "role": "model" @@ -23,15 +23,15 @@ "usageMetadata": { "promptTokenCount": 62, "candidatesTokenCount": 18, - "totalTokenCount": 156, + "totalTokenCount": 150, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 62 } ], - "thoughtsTokenCount": 76 + "thoughtsTokenCount": 70 }, "modelVersion": "gemini-2.5-flash", - "responseId": "Ae3LaeTmFpmu_uMP5fr1qQE" + "responseId": "CqbMafGZOvmR-8YP6v3dCQ" } \ No newline at end of file diff --git a/payloads/transforms/anthropic_to_google/toolChoiceAnyParam.json b/payloads/transforms/anthropic_to_google/toolChoiceAnyParam.json index d25eb57d..feb77bdc 100644 --- a/payloads/transforms/anthropic_to_google/toolChoiceAnyParam.json +++ b/payloads/transforms/anthropic_to_google/toolChoiceAnyParam.json @@ -7,10 +7,10 @@ "functionCall": { "name": "get_weather", "args": { - "location": "London" + "location": "" } }, - "thoughtSignature": "Ct0BAb4+9vvpPIBkhqELCI4XN0MPKW07Le8caXKwpLWNVh30N44BiVCF4dTfXfPUuQLZo3U7ZgO/71X+2vdLfUUEuoBpqEwFtk02rxrRtFwU+VuGx6c6OLGupg+YqWye+s0GnkJotLFFJfogr83pWAYgUZ47dzspBj5KN+Zi7qkwIFea7xeOhNSwjABRTyftTwZ1yoPaoK0XMa1hsZw3FeNmmq4u4CZFdVUisWEsrzkvadcQ1jUk7q3//CyPQWWH8Mcd92FMMJhEC0wg7nWbiONQKREemTBAju3dyZx+pI0=" + "thoughtSignature": "CuQEAb4+9vtFmwaJJpvPpEbo/Z0eigRaqxjau+4NbCqO5MMgHFE9u/JYBcd+8okfV1/OQ59R0ekUnb4huezVBSj1a8eslLGz+/xkdcjxYSeh8JtCGcjF+axZ4r3q9fXx43u8+uxYnxb205c1TxAaNuVTmbqiEB9lFKonvPljvmMTJXJCrDAJq96ghYTKYcmOxUIbUWg2Ej/P8he4UBvowsQd/Ab1KJN1AKsI1fPVNGBEY11Y9wnXMFhlcExRCTO0v0/RxdIM+TfG/Sstcomhg+EHik5vyPZgaL8LPw4/nGTYQXKDLK8hIZ89hifE2lvrYHqnhlGoUL/aqtXH5l2f2ZmM6qf5b1ZPNGUmQ/+Tq497Mz93L4zhPzHG2dO9SxMaYRhqFNn0OC4m54QML726TmirgSkm0x2PA34brD3IVNj6+fRJE1EwaGynC9LD9YqFJQSzVpGVwPDjEFNoRSuSv3LEmaf2uIDg38r9f/GCyQUKgVWXu/h8OOcK3H4LsAK+uQY+ZnIG+O94oy/EH6votMMH1S8d/+EA42UgUKkpoIq5KVLZbVdqw57wIZjWLWuekUUBKBOyGA6FRiFqYnt2vx3Pw0VsB5mvCfByzT0lhfL5oFjOrtjAIJig7/pSozsSE31/gcMvn2oOWPr17/4AXzE/IF5iFVetIGftug3AyeWJ/f6KUNwCShaON8OHjQ3Pzp7Y8BnRIz8EroE1xESunySaklUQPbArQnWJRPKqOIhTpEGfzUqLJK00qtxFT9BayW7KU2mFtXcVkY8aXcPTobnoLomy9BoZR5xp+4WwulaBCOKjbD/1" } ], "role": "model" @@ -22,16 +22,16 @@ ], "usageMetadata": { "promptTokenCount": 37, - "candidatesTokenCount": 15, - "totalTokenCount": 94, + "candidatesTokenCount": 13, + "totalTokenCount": 187, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 37 } ], - "thoughtsTokenCount": 42 + "thoughtsTokenCount": 137 }, "modelVersion": "gemini-2.5-flash", - "responseId": "Ee3LafC6G-PP_uMP95Og2Q8" + "responseId": "D6bMae3pE7GR-8YPkuPesA4" } \ No newline at end of file diff --git a/payloads/transforms/anthropic_to_google/toolChoiceRequiredParam.json b/payloads/transforms/anthropic_to_google/toolChoiceRequiredParam.json index 6de9b838..465b8c56 100644 --- a/payloads/transforms/anthropic_to_google/toolChoiceRequiredParam.json +++ b/payloads/transforms/anthropic_to_google/toolChoiceRequiredParam.json @@ -10,7 +10,7 @@ "location": "Tokyo" } }, - "thoughtSignature": "CooCAb4+9vsO2h/A5vHzwHAH3OfMGepiPtS3SJ+Vf4GxEZuy6SEhPAXEu9ei7KDW5qIAHuJTl+kDX2DCZLg/HI89a5rRrXloSaAnUc0ePOYVjACChBbx6O+xYmPkECZtl83mdlz4N9mgaaWgkVpIuGpluvjF7KDD+PI7QQ0yen8zFMaqahSX14gTiBQvJRRyy75MTKQ+oT+Xs51WsZo7j/wcWX3OJa7VK8852HoTslylKhrJCJHk4zxRbadOrvsD0Rz8nh1c9YseHcfqRzJvy5YyXFgQZSz9SI1TGvm3mI6sgg9G/UDpqUopOguYm2jMpdkalEJfmiukhgFPo/YIxxJn5wuX0yIkAH9XoAE=" + "thoughtSignature": "CvwBAb4+9vtv+1yhARGwOJV476dCIXAY7ih7J/QCGnrXkNcwgHQjlhs794kI+V7vhZb1i9NtW0e0EHaUVx7+5zNm8ULmQKPKbLKca0PiNYJsYngEY4TIum2ANIz0M1tQ6XGSCmYt/MgLn3qbIFvwQBu6H2MDzV8GhMhXMB+mYIZebfIgKcmj+A89u1+V+9QTuEBNsO9OlIdTfcHOMeGnzEf57T4sk9dqR1QDImhxvyjOAjypjdZopuORaugAiQmZhAtbIuvuiV+/uHmqoWgCCWxgXdnjHngiiF+yqHhvFSnJrQthKn367xxiooTq9YrtElj3iD5O4FnmKyIOzD11" } ], "role": "model" @@ -23,15 +23,15 @@ "usageMetadata": { "promptTokenCount": 37, "candidatesTokenCount": 15, - "totalTokenCount": 110, + "totalTokenCount": 103, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 37 } ], - "thoughtsTokenCount": 58 + "thoughtsTokenCount": 51 }, "modelVersion": "gemini-2.5-flash", - "responseId": "Bu3Labm6IKeY_uMPna-GGQ" + "responseId": "DKbMabqXIsyJjrEPvNKWYQ" } \ No newline at end of file diff --git a/payloads/transforms/anthropic_to_responses/parallelToolCallsRequest.json b/payloads/transforms/anthropic_to_responses/parallelToolCallsRequest.json new file mode 100644 index 00000000..3870abe2 --- /dev/null +++ b/payloads/transforms/anthropic_to_responses/parallelToolCallsRequest.json @@ -0,0 +1,97 @@ +{ + "id": "resp_03fdbaab3a3d20130069cc2911f00c81a1824d523b8b412a37", + "object": "response", + "created_at": 1774987537, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1774987544, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": 1024, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [ + { + "id": "rs_03fdbaab3a3d20130069cc2912270481a18712000b30d08000", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_03fdbaab3a3d20130069cc29181fac81a18df3effc8134c204", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "- San Francisco, CA: 45°F and cloudy\n- New York, NY: 65°F and sunny\n\nWant a 7-day forecast or hourly details for either city?" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string" + } + }, + "required": [ + "location" + ], + "type": "object", + "additionalProperties": false + }, + "strict": true + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 136, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 750, + "output_tokens_details": { + "reasoning_tokens": 704 + }, + "total_tokens": 886 + }, + "user": null, + "metadata": {}, + "output_text": "- San Francisco, CA: 45°F and cloudy\n- New York, NY: 65°F and sunny\n\nWant a 7-day forecast or hourly details for either city?" +} \ No newline at end of file diff --git a/payloads/transforms/chat-completions_to_anthropic/parallelToolCallsRequest-streaming.json b/payloads/transforms/chat-completions_to_anthropic/parallelToolCallsRequest-streaming.json new file mode 100644 index 00000000..7b17487f --- /dev/null +++ b/payloads/transforms/chat-completions_to_anthropic/parallelToolCallsRequest-streaming.json @@ -0,0 +1,102 @@ +[ + { + "type": "message_start", + "message": { + "model": "claude-sonnet-4-5-20250929", + "id": "msg_017Mz48zyAZe8gbsFHEkhZaY", + "type": "message", + "role": "assistant", + "content": [], + "stop_reason": null, + "stop_sequence": null, + "usage": { + "input_tokens": 757, + "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" + } + } + }, + { + "type": "content_block_start", + "index": 0, + "content_block": { + "type": "text", + "text": "" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "The" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " weather in **" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "San Francisco** is 65°F" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " and sunny, while" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": " **New York** is 45°" + } + }, + { + "type": "content_block_delta", + "index": 0, + "delta": { + "type": "text_delta", + "text": "F and cloudy." + } + }, + { + "type": "content_block_stop", + "index": 0 + }, + { + "type": "message_delta", + "delta": { + "stop_reason": "end_turn", + "stop_sequence": null + }, + "usage": { + "input_tokens": 757, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "output_tokens": 32 + } + }, + { + "type": "message_stop" + } +] \ No newline at end of file diff --git a/payloads/transforms/chat-completions_to_anthropic/parallelToolCallsRequest.json b/payloads/transforms/chat-completions_to_anthropic/parallelToolCallsRequest.json new file mode 100644 index 00000000..37fc7ced --- /dev/null +++ b/payloads/transforms/chat-completions_to_anthropic/parallelToolCallsRequest.json @@ -0,0 +1,26 @@ +{ + "model": "claude-sonnet-4-5-20250929", + "id": "msg_01MDqB6KBXsDSfpibhzDMYYU", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "The current weather is:\n\n- **San Francisco, CA**: 65°F and sunny\n- **New York, NY**: 45°F and cloudy" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 757, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 37, + "service_tier": "standard", + "inference_geo": "not_available" + } +} \ No newline at end of file diff --git a/payloads/transforms/chat-completions_to_google/parallelToolCallsDisabledParam.json b/payloads/transforms/chat-completions_to_google/parallelToolCallsDisabledParam.json index 2e3d6a4a..8fc90783 100644 --- a/payloads/transforms/chat-completions_to_google/parallelToolCallsDisabledParam.json +++ b/payloads/transforms/chat-completions_to_google/parallelToolCallsDisabledParam.json @@ -10,7 +10,7 @@ "location": "NYC" } }, - "thoughtSignature": "CqYCAb4+9vumAOD//1NkRlCIr4EpqOWbXBRctMg5RiQ5ytJQKu6u2bBoz7PzDBLQCSr6fMOhLlutPjvq0LfWsELJgzZUIBFzY7GdxzFoHd3ZKvxFmfBnqz6kFjHIxTgUXGMrA7c1ttMPmuMvdP3QfFUxDh4m7XPQksqwgDbdknJcEEX3ZisZO40eSFuUGgruG7k5BnPrJTiZAjdD2HTeOEX9aoZNjyNeJtfyEqVXOEk4wEd8kqjI7kFNR856iI/hZqYbRvf3FdOL7Mex9t45K76ogIbEe0g7Tvm2LXSxwAhDUfNwKApuDNxXLNi1zrO6dcRYsJL8c9eWHQ5XSjtFwn2FFnmDHgcv7GhAvOVV1bjcvYcA6cpE2c7dRvOny/awVj6ZurN1miZs" + "thoughtSignature": "CoQCAb4+9vsZLZBZClmxBgaHNtTauUi3lKai7dwaC7SSTYxuGDJBT95LEogTdUW2OacVT9P8kv0p5U1O2/FL3ue1kRlg0Y9i7UdNtDBRVo0vYANrHAqDZv70t7fRUPMwYWnLgPYGb478EimjKH0q5eRfBBj1V95//TOZ/Y6ENK9fWpmzDgp0mBiuIsFzLHyDjYc3w/jnwAUDKJ6n/cipjq2PxN0Ml7DJnA2sXwy1TV2uUzB8ElTpcyqMuVXicrgeTKjbnFhapiJTOoG2iNE8uX8I7v6g19LW62L4EqxM79pJorubztmFVNQNk5NO7MWdyCL83jAC1bIE69ojOPakz3zwstgO3u4=" }, { "functionCall": { @@ -31,15 +31,15 @@ "usageMetadata": { "promptTokenCount": 41, "candidatesTokenCount": 30, - "totalTokenCount": 135, + "totalTokenCount": 122, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 41 } ], - "thoughtsTokenCount": 64 + "thoughtsTokenCount": 51 }, "modelVersion": "gemini-2.5-flash", - "responseId": "w3mWafHhLtGI-sAP_L3NuAY" + "responseId": "CabMaaC2F6eijrEPtI-JyA4" } \ No newline at end of file diff --git a/payloads/transforms/chat-completions_to_google/parallelToolCallsRequest.json b/payloads/transforms/chat-completions_to_google/parallelToolCallsRequest.json new file mode 100644 index 00000000..094ff422 --- /dev/null +++ b/payloads/transforms/chat-completions_to_google/parallelToolCallsRequest.json @@ -0,0 +1,29 @@ +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 140, + "candidatesTokenCount": 32, + "totalTokenCount": 172, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 140 + } + ] + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "TarMaYyfM9uD-8YPyLrg0AI" +} \ No newline at end of file diff --git a/payloads/transforms/chat-completions_to_google/toolCallRequest.json b/payloads/transforms/chat-completions_to_google/toolCallRequest.json index cf40effe..56eca8fa 100644 --- a/payloads/transforms/chat-completions_to_google/toolCallRequest.json +++ b/payloads/transforms/chat-completions_to_google/toolCallRequest.json @@ -4,34 +4,28 @@ "content": { "parts": [ { - "functionCall": { - "name": "get_weather", - "args": { - "location": "San Francisco, CA" - } - }, - "thoughtSignature": "CrwDAb4+9vtget04bgK+Z0e/3MzKyVnTizt5/K6kuwV6DoSExDiwDzpspiGjz7lhc8hNQrUNtdN18IW0Be3vPe2PamT8PQ7mBXDE1CJA5tVVYlw3seRoUQXP2pkNzVbbl6v2Z4+b0hjifrk+qY+veGDZc18iNtSOpzUb0LT3XHiZRyTFhc8PGZ9Rio3EUnKcMp/j9xNzl2WoqHTN6c91QZfFgVRzZdK+wWkqOvms7o6s/dBVnF/ntTUmF0E21dxlXeo2T6/KBaOtjBF8zBLlbebklVCyfMVtYwQVvX/qpKIdB3PaiwR74NOJaJznDbkWUp7AVBf9o8ONakV6n7OoMAC6sLH5fIsXSeShr9dMZ1WgOF5GJgQavWQLPE3sa6Ci3BTBoVopUvNE+BA6NkGyMwO2eLIy6FDPo/XR5pAHrnMA2EfNATtNnC7NwXLE8p1o8h7LxmAR12RleH6H4XNx8YtvlVOFMcNCKb+hn0J0TaJgNtss0naWdnokzR1YMjNGGALeNEKt4sWMkq68rAReykPwgTTt4zfIQoOz58ut0IzAqs1kD7Si+UjwaTC9Op5Z2E9eM5F4I0OyUL1QGYhR" + "text": "I need to know the state. Can you tell me what state San Francisco is in?", + "thoughtSignature": "CqgDAb4+9vsq530e+k4c1A7FkQjD6y1k8aEcZtMQZnEmNdBrGrCodvgdKNcqgkw84ckVWjLs7w0k3Gca/JQCRij1GsMhR0bVqQsna/Wly+X+5KFEMW92qaTcYgMeAdjzL7YP5fiA5olbBP4GWFqYL2CTFjecquXDLdls7u2T8og+afkkus8j3hFO4a7RZTcD84DSFfUwlwanAEpZzAiLD53YO6tWbToruSRABndnQ/HZ6Z6t66jSk38UdX4AFdaIjlcBeJfTFQgLrl3oBWfdMPj7L6ymQGfPdqLPwQ1WCS3sNn6saKbx8ELIOiRPe1sjV2+UFd3kGtTZZ+QOrv2azYxyoVF0sg70RulHyoNocneDgKtrd3MPR3EVE1e4AJ6DBMc8DCHHbMX9My3uN9EKBKrhopRIKEo5zT4VwUJwSlOr+/T7Ach572B38h95hrNVQSbTqnSMIW2eqjTtTDw3e+kkdDhJXs+t6NHEZE/lwRkKTo5CghSx5zFO6MxG/B5KIqVzgASMq5Tfq/hYb6epG1leL3EPHXcqUO8Z71T97taAucGCtEi9R2vJrg==" } ], "role": "model" }, "finishReason": "STOP", - "index": 0, - "finishMessage": "Model generated function call(s)." + "index": 0 } ], "usageMetadata": { "promptTokenCount": 62, "candidatesTokenCount": 18, - "totalTokenCount": 176, + "totalTokenCount": 164, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 62 } ], - "thoughtsTokenCount": 96 + "thoughtsTokenCount": 84 }, "modelVersion": "gemini-2.5-flash", - "responseId": "koGWaYWiL-LCjMcPxszQ0Qc" + "responseId": "A6bMafvFBaHwjrEPs-qv6AE" } \ No newline at end of file diff --git a/payloads/transforms/chat-completions_to_google/toolChoiceRequiredParam.json b/payloads/transforms/chat-completions_to_google/toolChoiceRequiredParam.json index 26c9ad1a..4334b1f8 100644 --- a/payloads/transforms/chat-completions_to_google/toolChoiceRequiredParam.json +++ b/payloads/transforms/chat-completions_to_google/toolChoiceRequiredParam.json @@ -10,7 +10,7 @@ "location": "Tokyo" } }, - "thoughtSignature": "Ct0BAb4+9vtRZlUwK+KMvOLq+3YvDr1zL7vGQtuviEA2LahBOJdvrYmIHCvXzDa815x9DCfkKA2QBfKQUeE2WGyr6wE3ezY3Auq0JaSmahL+tQrceLvwh+6l2P1GrxJzPUEpew5FXoy4XQ/Mr8g7fm83AgCkBz7wvK0nNcj7XwFN8XaRNzMnbGi8WfXGfzJefp6DHMbQSDqGtlh+bjnlfGtscfAQ4Us9JO7R9XnDmdZZO4g4QyA6vsQuB0JzMv/TFptJUgy/gejcpkKsRSQKKpOU2wBn7/XwmjfHzrshBhk=" + "thoughtSignature": "CucBAb4+9vs+L8b5DWxZLf3YrtyE8jaiRvH3+WfoYiFe+3UsTHFrh6yby+drplwgFn9zcIL7y6DA1G/RT7Xdo489paNL+GTgzaqw0vV0Xj0wdOOsrVkgGfJLhdGpxtFTsaCC3XD+Py7LoBV2qQ14IZmtfdXvHvyQISbziF3U9el7zQj7ksoPMudDWHE7tA6aCsU63lJbAoEtvdIyImcxvT9ikCONlFXlNKi1fhKgmqlaiSthawjVpRH3yNNQRWsfILjR09Z4F6noiN5v4m25/GoVOxwGfo5QaqtF1vXeVHD1fa5NMyLlTsHy" } ], "role": "model" @@ -23,15 +23,15 @@ "usageMetadata": { "promptTokenCount": 37, "candidatesTokenCount": 15, - "totalTokenCount": 99, + "totalTokenCount": 98, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 37 } ], - "thoughtsTokenCount": 47 + "thoughtsTokenCount": 46 }, "modelVersion": "gemini-2.5-flash", - "responseId": "wnmWaZOTHK-ojMcP-NChsAU" + "responseId": "BabMaYn6Mq-v-8YPy67WqAE" } \ No newline at end of file diff --git a/payloads/transforms/chat-completions_to_google/toolChoiceRequiredWithReasoningParam.json b/payloads/transforms/chat-completions_to_google/toolChoiceRequiredWithReasoningParam.json index 0a203fcb..dd846a99 100644 --- a/payloads/transforms/chat-completions_to_google/toolChoiceRequiredWithReasoningParam.json +++ b/payloads/transforms/chat-completions_to_google/toolChoiceRequiredWithReasoningParam.json @@ -4,7 +4,7 @@ "content": { "parts": [ { - "text": "**My Immediate Task: Weather in Tokyo**\n\nOkay, the user wants the weather for Tokyo. That's straightforward enough. I have a `get_weather` tool at my disposal, which is exactly what it's designed for. So, I need to use that tool. My plan is simple: I'll call the `get_weather` tool. The input I need to provide is the location, and in this case, the location is \"Tokyo\". I'll pass that to the tool and wait for the results. Easy peasy. Let's get them the information they're requesting.\n", + "text": "**My Approach to the Tokyo Weather Request**\n\nOkay, here's the situation: the user needs the weather for Tokyo. Thankfully, I have the `get_weather` tool at my disposal! This tool is specifically designed to provide weather information, and it takes a location as input. So, the path forward is clear. I need to call the `get_weather` tool. The key piece of information needed to get the job done is \"Tokyo.\" I'll feed \"Tokyo\" to the `get_weather` tool, and hopefully, I'll return the user with the meteorological insights they require.\n", "thought": true }, { @@ -14,7 +14,7 @@ "location": "Tokyo" } }, - "thoughtSignature": "CoUCAb4+9vsPi6plLx+hUrVtqvQefpV5ZdGpmi1Eh5d8Ztzq56MaXbHV0ba1yRyocTMqFi7MIrvdruFmbf8LmovFjuFUQf24dWNqCSMV8cFfijwcmT95bfQ0PukyikyoiKvAZSNfCmWGQ64gjwrEBVhpkVMwn2GWP/1ay4Kn/gE1CCYJhSn3jiytZwIz+HMXf9kun45179tmCyE3QG06oyJxsCoDQlYbPIfP+Bt+4kCSnVLmM6p8XPppAB2DP1jSedW55FSGyLF908tsOrxH7PriOrGq5ZxfIkOFDOJINp4Ht+iACXrA766NfmTjnrptJtH4F49siaeKzhN7KxlDpjCmF8G9B162" + "thoughtSignature": "CvUBAb4+9vvbHYYDxRU+GMpl6jV1aX39BlEBVrnr13g03xCinYCWIH9Y0VT1bdLVQIRGR0fylIRuhSQ670AxC+5nVEoPUWm9lQ2qf88khbkpAJjKU1e1fVZlKqx2Zyt/2vjX8da5CC3pRLDG+GW7/3JxZmQiZMsmgyiOSrJw3gM4LN983UyoKFDR19zVywnySpo30MZGToMDR+/CKXddu43tqpE/5Hwxy92pUEjGX/sFIoKqR2oiI7Y9ThytQBxvHnIORZzO8+vEg1VZWq1dOour0qbyuOfVJTIpfDVrU1AFJiGLlU3q/f7m8RKvqQM3kD1RX3IY2l8=" } ], "role": "model" @@ -27,15 +27,15 @@ "usageMetadata": { "promptTokenCount": 37, "candidatesTokenCount": 15, - "totalTokenCount": 104, + "totalTokenCount": 100, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 37 } ], - "thoughtsTokenCount": 52 + "thoughtsTokenCount": 48 }, "modelVersion": "gemini-2.5-flash", - "responseId": "SPmdaeToMoHRjMcP5bzoiQk" + "responseId": "B6bMaYmpEfmFjrEPxrye6QQ" } \ No newline at end of file diff --git a/payloads/transforms/google_to_anthropic/parallelToolCallsRequest.json b/payloads/transforms/google_to_anthropic/parallelToolCallsRequest.json new file mode 100644 index 00000000..2d21fb67 --- /dev/null +++ b/payloads/transforms/google_to_anthropic/parallelToolCallsRequest.json @@ -0,0 +1,27 @@ +{ + "model": "claude-sonnet-4-5-20250929", + "id": "msg_014Y1k4Z6VLTEn64tdaWFxT4", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "The current weather is:\n\n**San Francisco, CA:** 65°F and sunny\n\n**New York, NY:** 45°F and cloudy" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "stop_details": null, + "usage": { + "input_tokens": 765, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 35, + "service_tier": "standard", + "inference_geo": "not_available" + } +} \ No newline at end of file diff --git a/payloads/transforms/google_to_chat-completions/parallelToolCallsRequest.json b/payloads/transforms/google_to_chat-completions/parallelToolCallsRequest.json new file mode 100644 index 00000000..24612e32 --- /dev/null +++ b/payloads/transforms/google_to_chat-completions/parallelToolCallsRequest.json @@ -0,0 +1,35 @@ +{ + "id": "chatcmpl-DPhxRZYizw4KwBX8uwKES8EggUUSw", + "object": "chat.completion", + "created": 1775019545, + "model": "gpt-5-nano-2025-08-07", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "- San Francisco, CA: 65°F and sunny.\n- New York, NY: 45°F and cloudy.\n\nWant a forecast for the next few days or a switch to Celsius?", + "refusal": null, + "annotations": [] + }, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 237, + "completion_tokens": 303, + "total_tokens": 540, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 256, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": null +} \ No newline at end of file diff --git a/payloads/transforms/google_to_responses/parallelToolCallsRequest.json b/payloads/transforms/google_to_responses/parallelToolCallsRequest.json new file mode 100644 index 00000000..568a930f --- /dev/null +++ b/payloads/transforms/google_to_responses/parallelToolCallsRequest.json @@ -0,0 +1,97 @@ +{ + "id": "resp_0fbe3992586a62f50069cca61d975c81a2bad7d1bca841977d", + "object": "response", + "created_at": 1775019549, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1775019553, + "error": null, + "frequency_penalty": 0, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-5-nano-2025-08-07", + "output": [ + { + "id": "rs_0fbe3992586a62f50069cca61e12b881a2af30784568f073d7", + "type": "reasoning", + "summary": [] + }, + { + "id": "msg_0fbe3992586a62f50069cca6212d4c81a2bdf7f862c8965ad9", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "Here’s the current weather:\n\n- San Francisco, CA: 45°F and cloudy\n- New York, NY: 65°F and sunny\n\nWant a 7-day forecast or a weather alert for either city?" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": "medium", + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "function", + "description": "Get the current weather for a location", + "name": "get_weather", + "parameters": { + "properties": { + "location": { + "description": "The city and state, e.g. San Francisco, CA", + "type": "string" + } + }, + "required": [ + "location" + ], + "type": "object", + "additionalProperties": false + }, + "strict": true + } + ], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 144, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 580, + "output_tokens_details": { + "reasoning_tokens": 512 + }, + "total_tokens": 724 + }, + "user": null, + "metadata": {}, + "output_text": "Here’s the current weather:\n\n- San Francisco, CA: 45°F and cloudy\n- New York, NY: 65°F and sunny\n\nWant a 7-day forecast or a weather alert for either city?" +} \ No newline at end of file diff --git a/payloads/transforms/responses_to_anthropic/parallelToolCallsRequest.json b/payloads/transforms/responses_to_anthropic/parallelToolCallsRequest.json new file mode 100644 index 00000000..d284d2bb --- /dev/null +++ b/payloads/transforms/responses_to_anthropic/parallelToolCallsRequest.json @@ -0,0 +1,26 @@ +{ + "model": "claude-sonnet-4-5-20250929", + "id": "msg_01NiJR1LmktwTyh3v6idQFoK", + "type": "message", + "role": "assistant", + "content": [ + { + "type": "text", + "text": "The current weather is:\n\n- **San Francisco, CA**: 65°F and sunny\n- **New York, NY**: 45°F and cloudy" + } + ], + "stop_reason": "end_turn", + "stop_sequence": null, + "usage": { + "input_tokens": 757, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 0, + "cache_creation": { + "ephemeral_5m_input_tokens": 0, + "ephemeral_1h_input_tokens": 0 + }, + "output_tokens": 37, + "service_tier": "standard", + "inference_geo": "not_available" + } +} \ No newline at end of file diff --git a/payloads/transforms/responses_to_google/parallelToolCallsDisabledParam.json b/payloads/transforms/responses_to_google/parallelToolCallsDisabledParam.json index 4849c400..ca233099 100644 --- a/payloads/transforms/responses_to_google/parallelToolCallsDisabledParam.json +++ b/payloads/transforms/responses_to_google/parallelToolCallsDisabledParam.json @@ -10,7 +10,7 @@ "location": "NYC" } }, - "thoughtSignature": "CpwCAb4+9vsdPRHCDVO9MqdveI4XFL3XCGnxBSFE56v1NwlHM2h4KIEnIhftelRne19LjuKxCXv8E75VIC1nM2PnSpKczsY76IGH49FGNG9xjRFJG4tYLMDALC640elR6a3DnAjfFSFYjx3m7hdezt3YNKs8ceER9rkSOYjhIikWP7iSjuCa8xmIIWWv57bSpEhaba29XUW6wnS/zXtM/3IExmikQP1JydHc5juVbrhj4y9Ke8cloy5AO2TjxnbjK9Awte4bra6cRw6FGn7757Y8Q/WusEoe9HWm8qRT5VNNOU4oaj8/sAaCoraoBy+W6VlyflSVv2V8wg1wMS6ffAQWdTCMQWtPX7EQcJzyo0+flN4e5EbYSKWEZH2jZ0Y=" + "thoughtSignature": "Co8CAb4+9vuKsYgWhnMjs3MbgnVXTDivlb+I0Mq5dZa4cw31+l8QIDEA0T+9RdlYIkZJZ+JwzNTd1AJ0SpnM+YBA5+/7hH2Qh9ldN3qLeCdlDezmdvyD/iPyva0P3OkqaqClC/QSXvRS/fD8CyPEO1FBdMUwAhFCB6odVn7zxT3inzvz8g6MOcqY52VsIXnYv+p00CE4MPd6Mv64O8rOKoG5act05z7dRKpJxfG+O/xqA72gBVs5SonFl+eC6M6MeIRsdkTuPZOpkWMb7cc2EZcdcERIQ96z6U2W6JS3gVwTtmGwyE1PDEBczpKnbdNgkXRM9jccm6Y4dq3u0YNzf+b54qt7gVLlPCb7gA27U+uBYA==" }, { "functionCall": { @@ -31,15 +31,15 @@ "usageMetadata": { "promptTokenCount": 39, "candidatesTokenCount": 30, - "totalTokenCount": 128, + "totalTokenCount": 124, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 39 } ], - "thoughtsTokenCount": 59 + "thoughtsTokenCount": 55 }, "modelVersion": "gemini-2.5-flash", - "responseId": "Ie3LacTnHtSM_PUP_oD9sAY" + "responseId": "FabMaYG8G_LajrEPqtTMiAU" } \ No newline at end of file diff --git a/payloads/transforms/responses_to_google/parallelToolCallsRequest.json b/payloads/transforms/responses_to_google/parallelToolCallsRequest.json new file mode 100644 index 00000000..56081d7b --- /dev/null +++ b/payloads/transforms/responses_to_google/parallelToolCallsRequest.json @@ -0,0 +1,29 @@ +{ + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The weather in San Francisco, CA is 65°F and sunny. In New York, NY, it is 45°F and cloudy." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0 + } + ], + "usageMetadata": { + "promptTokenCount": 140, + "candidatesTokenCount": 32, + "totalTokenCount": 172, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 140 + } + ] + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "T6rMaZLHBZvwjrEPysPtgQI" +} \ No newline at end of file diff --git a/payloads/transforms/responses_to_google/toolCallRequest.json b/payloads/transforms/responses_to_google/toolCallRequest.json index 60df9961..b971c00f 100644 --- a/payloads/transforms/responses_to_google/toolCallRequest.json +++ b/payloads/transforms/responses_to_google/toolCallRequest.json @@ -10,7 +10,7 @@ "location": "San Francisco, CA" } }, - "thoughtSignature": "CvYCAb4+9vu7/zSgO7yd3eSnClUz8sCMR9PlbTL9RTvh5GfLiA9DG+PABl+QdRuPF7Sv+AV0Jed0g2c1MiM80ZNG6MLisM3hKxQmYiebGcWoRYmu8JuAcciENKueQhFEaCvDz1ftMYVFn3YHdJbjTnbHwXD/ut6LnPB3CXtyIul/7nWlJjOmjAPl7AVv0Hde5McQIqy+9ES872+SauOI7ixTl893UR21v582Gyqz7JeCWYYUgsWBYjgMDbo9GpHRtLzxsrbXmt97OarxQoB1Xvt68V8YQQdJ4px2cs+9qFM2gidJeuOntT/1d6jJOI6wxEF8+o3CS1L/cnZ5fKE/x3dG4Eb8/MnxsN1vbRUlKDCU+wpw6dBk7PefY6+x8jLhSz50BJdud+y9Xd0KNqhZrRyFeq2UO/2k0scU5ecivcwcRgosJcDtTaFNq2PhnzT+Cyn6s8o1USkYAft9V7WzvsmAGToZPu9bG6iCgJ5FZDY1W4CweYShjAA=" + "thoughtSignature": "CvYDAb4+9vvZ9/uX5IrnwySBgXK51SnxIr552yjSS1IO2tMBDkMFhkZkalk5/wGT9q5NJm2OKTzrbOqkNI3CLtX3NfSt2roWTjidZgvr+GUQ0nAOXmTtCtgV8iKxSn9n2/SROSkhIbkOuLTH+3/dAWHvkmihHgg8PMi1qItIdGYlsZ3trClJDd8bRtx2Yf6mYe08K8qrTUNQwbggwge045jWyJB6VskEIVNeu2X6kMdX5CQSf2OVj1alhMV9MBKpfLdzSFl7YyIlPqjHHPE3RsCq/DYycaNGMMgmpbfqXtQ3aiUcN5P3ygYmbOYMxduEOZAJpSoLCS6VZAaB1DM8kodHtPvKCTcdmrHVznVcezQTuWKxn85jfe+FjNz/pCR4NIuwsLSNoF1PzSzaLDvz6pRETySv2Fyn7bn2PVvJyO/W4C+aasNmO6p5ioxsilaDQ5Uiw7+42f9cBAtyqZpM6r0fw/J8L7jJL+CWIbLV9oztrzm5HYcd0vOkZKrz0/4ERf6+vcmbrFYpsYNAjVb4DSxdjGrQGxrDdJj29PcZQ+L47U0e6XWIT9mNZSvfy2ZtgXsTbZhZPlD2NZkluFJHewCFh2HSgEM5NJ7mVTYrGyc2Hyaqg5HqaaM+Z08mKwWmLcsUvZE/aCkUG3PSkhGBniSxGmQeVOKdeA==" } ], "role": "model" @@ -23,15 +23,15 @@ "usageMetadata": { "promptTokenCount": 62, "candidatesTokenCount": 18, - "totalTokenCount": 161, + "totalTokenCount": 185, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 62 } ], - "thoughtsTokenCount": 81 + "thoughtsTokenCount": 105 }, "modelVersion": "gemini-2.5-flash", - "responseId": "F-3LaY3aNe6__uMPleDdoQw" + "responseId": "EabMaduKBJarsOIP--6qmAw" } \ No newline at end of file diff --git a/payloads/transforms/responses_to_google/toolChoiceRequiredParam.json b/payloads/transforms/responses_to_google/toolChoiceRequiredParam.json index e3488a35..2f25063c 100644 --- a/payloads/transforms/responses_to_google/toolChoiceRequiredParam.json +++ b/payloads/transforms/responses_to_google/toolChoiceRequiredParam.json @@ -10,7 +10,7 @@ "location": "Tokyo" } }, - "thoughtSignature": "CtgBAb4+9vsE15cb/42iOH3Z12H5PpcnfYkEtiZOV1L9NU3B8u3ZuWHNA5RAuIRwfx4L0oIrS5Lk0WishEEy+Um3pRohsyDEw57VwkvNdnKLVpaoai8M0u6Dvb5RdklN+6iZQuglNX9/0uRaA2RiqQvLPV/3ZM5vMz8UUDJiFJC2GYVvDt0gxzUmnok8jzNVjW6kMgg+UHhCN5X6diTYHG0Rd0nt73JoB8+6hKDfNFygyerrG+QN2AA+brjVjxrZWd8vfoSeijV0YGgQcaOnmmOd0WkRHxwKIuIZ" + "thoughtSignature": "Ct0BAb4+9vtyw84CZ8YPjokAxD6J8bocjMKDfZafJwqn+AEKs6AD8hsDfGeF5uILyN0rfr4HRx80sRl/1nNO78C4E+urwy2ICrltNcVXnQR21D/y3aLjNWi2Egn0P4ywHRfHnOUYESCxY8fMjQxl11EFlYTZfkn1O4m/gn408kAMwHSS5FXJqD/FPlfH/UIG6MH2Zsk2MxunKwFf+jLLl1alc2Wn9yMOACAWtirIAj6wZ7riPUf+K2epqeF0hQmuUUok+OmSauXH14aYyI2hUHrX6IxM9QpINSkn4JIimXU=" } ], "role": "model" @@ -23,15 +23,15 @@ "usageMetadata": { "promptTokenCount": 37, "candidatesTokenCount": 15, - "totalTokenCount": 97, + "totalTokenCount": 99, "promptTokensDetails": [ { "modality": "TEXT", "tokenCount": 37 } ], - "thoughtsTokenCount": 45 + "thoughtsTokenCount": 47 }, "modelVersion": "gemini-2.5-flash", - "responseId": "Ie3LaeFEwJT-4w-XzcjxBg" + "responseId": "FKbMaZ2EArGD-8YP6tHc6Q0" } \ No newline at end of file