Merge remote-tracking branch 'origin/main' into hooks-updates

Kujtim Hoxha created

Change summary

agent.go                                                                                                       |   30 
agent_test.go                                                                                                  |    8 
content.go                                                                                                     |   49 
content_json.go                                                                                                | 1062 
crush.json                                                                                                     |    6 
errors.go                                                                                                      |   28 
examples/structured-outputs/go.mod                                                                             |   26 
examples/structured-outputs/go.sum                                                                             |   44 
examples/structured-outputs/main.go                                                                            |   99 
go.mod                                                                                                         |   25 
go.sum                                                                                                         |   48 
json_test.go                                                                                                   |  647 
model.go                                                                                                       |    4 
model_json.go                                                                                                  |  152 
object.go                                                                                                      |  233 
object/object.go                                                                                               |  616 
provider_registry.go                                                                                           |  106 
providers/anthropic/anthropic.go                                                                               |   37 
providers/anthropic/provider_options.go                                                                        |   89 
providers/google/google.go                                                                                     |  284 
providers/google/provider_options.go                                                                           |   64 
providers/openai/language_model.go                                                                             |  301 
providers/openai/openai.go                                                                                     |   21 
providers/openai/provider_options.go                                                                           |   85 
providers/openai/responses_language_model.go                                                                   |  309 
providers/openai/responses_options.go                                                                          |   65 
providers/openaicompat/language_model_hooks.go                                                                 |  285 
providers/openaicompat/openaicompat.go                                                                         |   21 
providers/openaicompat/openaicompat_test.go                                                                    |  275 
providers/openaicompat/provider_options.go                                                                     |   35 
providers/openrouter/openrouter.go                                                                             |   25 
providers/openrouter/provider_options.go                                                                       |   64 
providertests/anthropic_test.go                                                                                |   12 
providertests/azure_responses_test.go                                                                          |    4 
providertests/azure_test.go                                                                                    |    8 
providertests/bedrock_test.go                                                                                  |   10 
providertests/common_test.go                                                                                   |   20 
providertests/google_test.go                                                                                   |   22 
providertests/image_upload_test.go                                                                             |   12 
providertests/object_test.go                                                                                   |  422 
providertests/openai_responses_test.go                                                                         |   12 
providertests/openai_test.go                                                                                   |   12 
providertests/openaicompat_test.go                                                                             |   26 
providertests/openrouter_test.go                                                                               |    4 
providertests/provider_registry_test.go                                                                        |  421 
providertests/recorder_test.go                                                                                 |  104 
providertests/testdata/TestAnthropicObjectGeneration/claude-sonnet-4/complex_object.yaml                       |   33 
providertests/testdata/TestAnthropicObjectGeneration/claude-sonnet-4/complex_object_streaming.yaml             |   10 
providertests/testdata/TestAnthropicObjectGeneration/claude-sonnet-4/simple_object.yaml                        |   33 
providertests/testdata/TestAnthropicObjectGeneration/claude-sonnet-4/simple_object_streaming.yaml              |   89 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/complex_object.yaml                         |   62 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/complex_object_streaming.yaml               |   27 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/simple_object.yaml                          |   62 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/simple_object_streaming.yaml                |   34 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/complex_object.yaml                           |   62 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/complex_object_streaming.yaml                 |   27 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/simple_object.yaml                            |   62 
providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/simple_object_streaming.yaml                  |   34 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-claude-3-7-sonnet/complex_object.yaml           |   33 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-claude-3-7-sonnet/complex_object_streaming.yaml |   10 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-claude-3-7-sonnet/simple_object.yaml            |   33 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-claude-3-7-sonnet/simple_object_streaming.yaml  |   81 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/complex_object.yaml            |   70 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/complex_object_streaming.yaml  |   27 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/simple_object.yaml             |   70 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/simple_object_streaming.yaml   |   34 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/complex_object.yaml              |   70 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/complex_object_streaming.yaml    |   27 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/simple_object.yaml               |   70 
providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/simple_object_streaming.yaml     |   34 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-4-fast/complex_object.yaml                    |   33 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-4-fast/complex_object_streaming.yaml          |   10 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-4-fast/simple_object.yaml                     |   33 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-4-fast/simple_object_streaming.yaml           |  378 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-code-fast/complex_object.yaml                 |   33 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-code-fast/complex_object_streaming.yaml       |   10 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-code-fast/simple_object.yaml                  |   33 
providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-code-fast/simple_object_streaming.yaml        |  338 
providertests/testdata/TestOpenAICompatObjectGeneration/zai-glm-4.5/complex_object.yaml                        |   26 
providertests/testdata/TestOpenAICompatObjectGeneration/zai-glm-4.5/complex_object_streaming.yaml              |   10 
providertests/testdata/TestOpenAICompatObjectGeneration/zai-glm-4.5/simple_object.yaml                         |   33 
providertests/testdata/TestOpenAICompatObjectGeneration/zai-glm-4.5/simple_object_streaming.yaml               |  200 
providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/multi_tool.yaml                                 |    8 
providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/multi_tool_streaming.yaml                       |   48 
providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/simple.yaml                                     |    6 
providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/simple_streaming.yaml                           |   16 
providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/tool.yaml                                       |   16 
providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/tool_streaming.yaml                             |   66 
providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/multi_tool.yaml                      |    5 
providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/multi_tool_streaming.yaml            |   32 
providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/simple.yaml                          |    5 
providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/simple_streaming.yaml                |  710 
providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/tool.yaml                            |    5 
providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/tool_streaming.yaml                  |  180 
providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/simple.yaml                                |    6 
providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/simple_streaming.yaml                      |  112 
providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/tool.yaml                                  |   11 
providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/tool_streaming.yaml                        |  184 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/multi_tool.yaml                              |    6 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/multi_tool_streaming.yaml                    |  300 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/simple.yaml                                  |    6 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/simple_streaming.yaml                        |  290 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/tool.yaml                                    |   14 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/tool_streaming.yaml                          |  616 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/multi_tool.yaml                           |    6 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/multi_tool_streaming.yaml                 |  642 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/simple.yaml                               |    6 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/simple_streaming.yaml                     |  428 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/tool.yaml                                 |   14 
providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/tool_streaming.yaml                       |  540 
providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/multi_tool.yaml                                  |    2 
providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/multi_tool_streaming.yaml                        |  280 
providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/simple.yaml                                      |    6 
providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/simple_streaming.yaml                            |  406 
providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/tool.yaml                                        |   16 
providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/tool_streaming.yaml                              |  129 
providertests/testdata/TestOpenAICompatibleThinking/llama-cpp-gpt-oss/thinking-streaming.yaml                  |  282 
providertests/testdata/TestOpenAICompatibleThinking/llama-cpp-gpt-oss/thinking.yaml                            |   11 
providertests/testdata/TestOpenAICompatibleThinking/xai-grok-3-mini/thinking-streaming.yaml                    |  559 
providertests/testdata/TestOpenAICompatibleThinking/xai-grok-3-mini/thinking.yaml                              |    2 
providertests/testdata/TestOpenAICompatibleThinking/zai-glm-4.5/thinking-streaming.yaml                        |  143 
providertests/testdata/TestOpenAICompatibleThinking/zai-glm-4.5/thinking.yaml                                  |    9 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o-mini/complex_object.yaml                       |   69 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o-mini/complex_object_streaming.yaml             |   10 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o-mini/simple_object.yaml                        |   69 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o-mini/simple_object_streaming.yaml              |   66 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o/complex_object.yaml                            |   69 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o/complex_object_streaming.yaml                  |   10 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o/simple_object.yaml                             |   69 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o/simple_object_streaming.yaml                   |   66 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-5/complex_object.yaml                             |   68 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-5/complex_object_streaming.yaml                   |   10 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-5/simple_object.yaml                              |   68 
providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-5/simple_object_streaming.yaml                    |   66 
providertests/testdata/TestOpenAIObjectGeneration/openai-o4-mini/complex_object.yaml                           |   68 
providertests/testdata/TestOpenAIObjectGeneration/openai-o4-mini/complex_object_streaming.yaml                 |   10 
providertests/testdata/TestOpenAIObjectGeneration/openai-o4-mini/simple_object.yaml                            |   68 
providertests/testdata/TestOpenAIObjectGeneration/openai-o4-mini/simple_object_streaming.yaml                  |   66 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/complex_object.yaml              |  149 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/complex_object_streaming.yaml    |   27 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/simple_object.yaml               |  127 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/simple_object_streaming.yaml     |   27 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/complex_object.yaml                   |  149 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/complex_object_streaming.yaml         |   27 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/simple_object.yaml                    |  127 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/simple_object_streaming.yaml          |   27 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/complex_object.yaml                    |  154 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/complex_object_streaming.yaml          |   27 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/simple_object.yaml                     |  132 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/simple_object_streaming.yaml           |   27 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/complex_object.yaml                  |  154 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/complex_object_streaming.yaml        |   27 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/simple_object.yaml                   |  132 
providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/simple_object_streaming.yaml         |   27 
schema/schema.go                                                                                               |  403 
schema/schema_test.go                                                                                          |  534 
tool.go                                                                                                        |  228 
tool_test.go                                                                                                   |  528 
158 files changed, 14,572 insertions(+), 3,899 deletions(-)

Detailed changes

agent.go 🔗

@@ -425,6 +425,9 @@ func (a *agent) Generate(ctx context.Context, opts AgentCall) (*AgentResult, err
 		preparedTools := a.prepareTools(a.settings.tools, stepActiveTools, disableAllTools)
 
 		retryOptions := DefaultRetryOptions()
+		if opts.MaxRetries != nil {
+			retryOptions.MaxRetries = *opts.MaxRetries
+		}
 		retryOptions.OnRetry = opts.OnRetry
 		retry := RetryWithExponentialBackoffRespectingRetryHeaders[*Response](retryOptions)
 
@@ -884,8 +887,17 @@ func (a *agent) Stream(ctx context.Context, opts AgentStreamCall) (*AgentResult,
 			ProviderOptions:  call.ProviderOptions,
 		}
 
-		// Get streaming response
-		stream, err := stepModel.Stream(ctx, streamCall)
+		// Get streaming response with retry logic
+		retryOptions := DefaultRetryOptions()
+		if call.MaxRetries != nil {
+			retryOptions.MaxRetries = *call.MaxRetries
+		}
+		retryOptions.OnRetry = call.OnRetry
+		retry := RetryWithExponentialBackoffRespectingRetryHeaders[StreamResponse](retryOptions)
+
+		stream, err := retry(ctx, func() (StreamResponse, error) {
+			return stepModel.Stream(ctx, streamCall)
+		})
 		if err != nil {
 			if opts.OnError != nil {
 				opts.OnError(err)
@@ -1119,6 +1131,20 @@ func WithRepairToolCall(fn RepairToolCallFunction) AgentOption {
 	}
 }
 
+// WithMaxRetries sets the maximum number of retries for the agent.
+func WithMaxRetries(maxRetries int) AgentOption {
+	return func(s *agentSettings) {
+		s.maxRetries = &maxRetries
+	}
+}
+
+// WithOnRetry sets the retry callback for the agent.
+func WithOnRetry(callback OnRetryCallback) AgentOption {
+	return func(s *agentSettings) {
+		s.onRetry = callback
+	}
+}
+
 // processStepStream processes a single step's stream and returns the step result.
 func (a *agent) processStepStream(ctx context.Context, stream StreamResponse, opts AgentStreamCall, _ []StepResult) (StepResult, bool, error) {
 	var stepContent []Content

agent_test.go 🔗

@@ -82,6 +82,14 @@ func (m *mockLanguageModel) Model() string {
 	return "mock-model"
 }
 
+func (m *mockLanguageModel) GenerateObject(ctx context.Context, call ObjectCall) (*ObjectResponse, error) {
+	return nil, fmt.Errorf("mock GenerateObject not implemented")
+}
+
+func (m *mockLanguageModel) StreamObject(ctx context.Context, call ObjectCall) (ObjectStreamResponse, error) {
+	return nil, fmt.Errorf("mock StreamObject not implemented")
+}
+
 // Test result.content - comprehensive content types (matches TS test)
 func TestAgent_Generate_ResultContent_AllTypes(t *testing.T) {
 	t.Parallel()

content.go 🔗

@@ -1,8 +1,57 @@
 package fantasy
 
+import "encoding/json"
+
 // ProviderOptionsData is an interface for provider-specific options data.
+// All implementations MUST also implement encoding/json.Marshaler and
+// encoding/json.Unmarshaler interfaces to ensure proper JSON serialization
+// with the provider registry system.
+//
+// Recommended implementation pattern using generic helpers:
+//
+//	// Define type constants at the top of your file
+//	const TypeMyProviderOptions = "myprovider.options"
+//
+//	type MyProviderOptions struct {
+//	    Field string `json:"field"`
+//	}
+//
+//	// Register the type in init() - place at top of file after constants
+//	func init() {
+//	    fantasy.RegisterProviderType(TypeMyProviderOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+//	        var opts MyProviderOptions
+//	        if err := json.Unmarshal(data, &opts); err != nil {
+//	            return nil, err
+//	        }
+//	        return &opts, nil
+//	    })
+//	}
+//
+//	// Implement ProviderOptionsData interface
+//	func (*MyProviderOptions) Options() {}
+//
+//	// Implement json.Marshaler using the generic helper
+//	func (m MyProviderOptions) MarshalJSON() ([]byte, error) {
+//	    type plain MyProviderOptions
+//	    return fantasy.MarshalProviderType(TypeMyProviderOptions, plain(m))
+//	}
+//
+//	// Implement json.Unmarshaler using the generic helper
+//	// Note: Receives inner data after type routing by the registry.
+//	func (m *MyProviderOptions) UnmarshalJSON(data []byte) error {
+//	    type plain MyProviderOptions
+//	    var p plain
+//	    if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+//	        return err
+//	    }
+//	    *m = MyProviderOptions(p)
+//	    return nil
+//	}
 type ProviderOptionsData interface {
+	// Options is a marker method that identifies types implementing this interface.
 	Options()
+	json.Marshaler
+	json.Unmarshaler
 }
 
 // ProviderMetadata represents additional provider-specific metadata.

content_json.go 🔗

@@ -0,0 +1,1062 @@
+package fantasy
+
+import (
+	"encoding/json"
+	"errors"
+	"fmt"
+)
+
+// contentJSON is a helper type for JSON serialization of Content in Response.
+type contentJSON struct {
+	Type string          `json:"type"`
+	Data json.RawMessage `json:"data"`
+}
+
+// messagePartJSON is a helper type for JSON serialization of MessagePart.
+type messagePartJSON struct {
+	Type string          `json:"type"`
+	Data json.RawMessage `json:"data"`
+}
+
+// toolResultOutputJSON is a helper type for JSON serialization of ToolResultOutputContent.
+type toolResultOutputJSON struct {
+	Type string          `json:"type"`
+	Data json.RawMessage `json:"data"`
+}
+
+// toolJSON is a helper type for JSON serialization of Tool.
+type toolJSON struct {
+	Type string          `json:"type"`
+	Data json.RawMessage `json:"data"`
+}
+
+// MarshalJSON implements json.Marshaler for TextContent.
+func (t TextContent) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Text             string           `json:"text"`
+		ProviderMetadata ProviderMetadata `json:"provider_metadata,omitempty"`
+	}{
+		Text:             t.Text,
+		ProviderMetadata: t.ProviderMetadata,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(contentJSON{
+		Type: string(ContentTypeText),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for TextContent.
+func (t *TextContent) UnmarshalJSON(data []byte) error {
+	var cj contentJSON
+	if err := json.Unmarshal(data, &cj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		Text             string                     `json:"text"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata,omitempty"`
+	}
+
+	if err := json.Unmarshal(cj.Data, &aux); err != nil {
+		return err
+	}
+
+	t.Text = aux.Text
+
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		t.ProviderMetadata = metadata
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ReasoningContent.
+func (r ReasoningContent) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Text             string           `json:"text"`
+		ProviderMetadata ProviderMetadata `json:"provider_metadata,omitempty"`
+	}{
+		Text:             r.Text,
+		ProviderMetadata: r.ProviderMetadata,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(contentJSON{
+		Type: string(ContentTypeReasoning),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ReasoningContent.
+func (r *ReasoningContent) UnmarshalJSON(data []byte) error {
+	var cj contentJSON
+	if err := json.Unmarshal(data, &cj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		Text             string                     `json:"text"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata,omitempty"`
+	}
+
+	if err := json.Unmarshal(cj.Data, &aux); err != nil {
+		return err
+	}
+
+	r.Text = aux.Text
+
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		r.ProviderMetadata = metadata
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for FileContent.
+func (f FileContent) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		MediaType        string           `json:"media_type"`
+		Data             []byte           `json:"data"`
+		ProviderMetadata ProviderMetadata `json:"provider_metadata,omitempty"`
+	}{
+		MediaType:        f.MediaType,
+		Data:             f.Data,
+		ProviderMetadata: f.ProviderMetadata,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(contentJSON{
+		Type: string(ContentTypeFile),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for FileContent.
+func (f *FileContent) UnmarshalJSON(data []byte) error {
+	var cj contentJSON
+	if err := json.Unmarshal(data, &cj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		MediaType        string                     `json:"media_type"`
+		Data             []byte                     `json:"data"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata,omitempty"`
+	}
+
+	if err := json.Unmarshal(cj.Data, &aux); err != nil {
+		return err
+	}
+
+	f.MediaType = aux.MediaType
+	f.Data = aux.Data
+
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		f.ProviderMetadata = metadata
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for SourceContent.
+func (s SourceContent) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		SourceType       SourceType       `json:"source_type"`
+		ID               string           `json:"id"`
+		URL              string           `json:"url,omitempty"`
+		Title            string           `json:"title,omitempty"`
+		MediaType        string           `json:"media_type,omitempty"`
+		Filename         string           `json:"filename,omitempty"`
+		ProviderMetadata ProviderMetadata `json:"provider_metadata,omitempty"`
+	}{
+		SourceType:       s.SourceType,
+		ID:               s.ID,
+		URL:              s.URL,
+		Title:            s.Title,
+		MediaType:        s.MediaType,
+		Filename:         s.Filename,
+		ProviderMetadata: s.ProviderMetadata,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(contentJSON{
+		Type: string(ContentTypeSource),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for SourceContent.
+func (s *SourceContent) UnmarshalJSON(data []byte) error {
+	var cj contentJSON
+	if err := json.Unmarshal(data, &cj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		SourceType       SourceType                 `json:"source_type"`
+		ID               string                     `json:"id"`
+		URL              string                     `json:"url,omitempty"`
+		Title            string                     `json:"title,omitempty"`
+		MediaType        string                     `json:"media_type,omitempty"`
+		Filename         string                     `json:"filename,omitempty"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata,omitempty"`
+	}
+
+	if err := json.Unmarshal(cj.Data, &aux); err != nil {
+		return err
+	}
+
+	s.SourceType = aux.SourceType
+	s.ID = aux.ID
+	s.URL = aux.URL
+	s.Title = aux.Title
+	s.MediaType = aux.MediaType
+	s.Filename = aux.Filename
+
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		s.ProviderMetadata = metadata
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ToolCallContent.
+func (t ToolCallContent) MarshalJSON() ([]byte, error) {
+	var validationErrMsg *string
+	if t.ValidationError != nil {
+		msg := t.ValidationError.Error()
+		validationErrMsg = &msg
+	}
+	dataBytes, err := json.Marshal(struct {
+		ToolCallID       string           `json:"tool_call_id"`
+		ToolName         string           `json:"tool_name"`
+		Input            string           `json:"input"`
+		ProviderExecuted bool             `json:"provider_executed"`
+		ProviderMetadata ProviderMetadata `json:"provider_metadata,omitempty"`
+		Invalid          bool             `json:"invalid,omitempty"`
+		ValidationError  *string          `json:"validation_error,omitempty"`
+	}{
+		ToolCallID:       t.ToolCallID,
+		ToolName:         t.ToolName,
+		Input:            t.Input,
+		ProviderExecuted: t.ProviderExecuted,
+		ProviderMetadata: t.ProviderMetadata,
+		Invalid:          t.Invalid,
+		ValidationError:  validationErrMsg,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(contentJSON{
+		Type: string(ContentTypeToolCall),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ToolCallContent.
+func (t *ToolCallContent) UnmarshalJSON(data []byte) error {
+	var cj contentJSON
+	if err := json.Unmarshal(data, &cj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		ToolCallID       string                     `json:"tool_call_id"`
+		ToolName         string                     `json:"tool_name"`
+		Input            string                     `json:"input"`
+		ProviderExecuted bool                       `json:"provider_executed"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata,omitempty"`
+		Invalid          bool                       `json:"invalid,omitempty"`
+		ValidationError  *string                    `json:"validation_error,omitempty"`
+	}
+
+	if err := json.Unmarshal(cj.Data, &aux); err != nil {
+		return err
+	}
+
+	t.ToolCallID = aux.ToolCallID
+	t.ToolName = aux.ToolName
+	t.Input = aux.Input
+	t.ProviderExecuted = aux.ProviderExecuted
+	t.Invalid = aux.Invalid
+	if aux.ValidationError != nil {
+		t.ValidationError = errors.New(*aux.ValidationError)
+	}
+
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		t.ProviderMetadata = metadata
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ToolResultContent.
+func (t ToolResultContent) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		ToolCallID       string                  `json:"tool_call_id"`
+		ToolName         string                  `json:"tool_name"`
+		Result           ToolResultOutputContent `json:"result"`
+		ClientMetadata   string                  `json:"client_metadata,omitempty"`
+		ProviderExecuted bool                    `json:"provider_executed"`
+		ProviderMetadata ProviderMetadata        `json:"provider_metadata,omitempty"`
+	}{
+		ToolCallID:       t.ToolCallID,
+		ToolName:         t.ToolName,
+		Result:           t.Result,
+		ClientMetadata:   t.ClientMetadata,
+		ProviderExecuted: t.ProviderExecuted,
+		ProviderMetadata: t.ProviderMetadata,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(contentJSON{
+		Type: string(ContentTypeToolResult),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ToolResultContent.
+func (t *ToolResultContent) UnmarshalJSON(data []byte) error {
+	var cj contentJSON
+	if err := json.Unmarshal(data, &cj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		ToolCallID       string                     `json:"tool_call_id"`
+		ToolName         string                     `json:"tool_name"`
+		Result           json.RawMessage            `json:"result"`
+		ClientMetadata   string                     `json:"client_metadata,omitempty"`
+		ProviderExecuted bool                       `json:"provider_executed"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata,omitempty"`
+	}
+
+	if err := json.Unmarshal(cj.Data, &aux); err != nil {
+		return err
+	}
+
+	t.ToolCallID = aux.ToolCallID
+	t.ToolName = aux.ToolName
+	t.ClientMetadata = aux.ClientMetadata
+	t.ProviderExecuted = aux.ProviderExecuted
+
+	// Unmarshal the Result field
+	result, err := UnmarshalToolResultOutputContent(aux.Result)
+	if err != nil {
+		return fmt.Errorf("failed to unmarshal tool result output: %w", err)
+	}
+	t.Result = result
+
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		t.ProviderMetadata = metadata
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ToolResultOutputContentText.
+func (t ToolResultOutputContentText) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Text string `json:"text"`
+	}{
+		Text: t.Text,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(toolResultOutputJSON{
+		Type: string(ToolResultContentTypeText),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ToolResultOutputContentText.
+func (t *ToolResultOutputContentText) UnmarshalJSON(data []byte) error {
+	var tr toolResultOutputJSON
+	if err := json.Unmarshal(data, &tr); err != nil {
+		return err
+	}
+
+	var temp struct {
+		Text string `json:"text"`
+	}
+
+	if err := json.Unmarshal(tr.Data, &temp); err != nil {
+		return err
+	}
+
+	t.Text = temp.Text
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ToolResultOutputContentError.
+func (t ToolResultOutputContentError) MarshalJSON() ([]byte, error) {
+	errMsg := ""
+	if t.Error != nil {
+		errMsg = t.Error.Error()
+	}
+	dataBytes, err := json.Marshal(struct {
+		Error string `json:"error"`
+	}{
+		Error: errMsg,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(toolResultOutputJSON{
+		Type: string(ToolResultContentTypeError),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ToolResultOutputContentError.
+func (t *ToolResultOutputContentError) UnmarshalJSON(data []byte) error {
+	var tr toolResultOutputJSON
+	if err := json.Unmarshal(data, &tr); err != nil {
+		return err
+	}
+
+	var temp struct {
+		Error string `json:"error"`
+	}
+
+	if err := json.Unmarshal(tr.Data, &temp); err != nil {
+		return err
+	}
+	if temp.Error != "" {
+		t.Error = errors.New(temp.Error)
+	}
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ToolResultOutputContentMedia.
+func (t ToolResultOutputContentMedia) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Data      string `json:"data"`
+		MediaType string `json:"media_type"`
+	}{
+		Data:      t.Data,
+		MediaType: t.MediaType,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(toolResultOutputJSON{
+		Type: string(ToolResultContentTypeMedia),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ToolResultOutputContentMedia.
+func (t *ToolResultOutputContentMedia) UnmarshalJSON(data []byte) error {
+	var tr toolResultOutputJSON
+	if err := json.Unmarshal(data, &tr); err != nil {
+		return err
+	}
+
+	var temp struct {
+		Data      string `json:"data"`
+		MediaType string `json:"media_type"`
+	}
+
+	if err := json.Unmarshal(tr.Data, &temp); err != nil {
+		return err
+	}
+
+	t.Data = temp.Data
+	t.MediaType = temp.MediaType
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for TextPart.
+func (t TextPart) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Text            string          `json:"text"`
+		ProviderOptions ProviderOptions `json:"provider_options,omitempty"`
+	}{
+		Text:            t.Text,
+		ProviderOptions: t.ProviderOptions,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(messagePartJSON{
+		Type: string(ContentTypeText),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for TextPart.
+func (t *TextPart) UnmarshalJSON(data []byte) error {
+	var mpj messagePartJSON
+	if err := json.Unmarshal(data, &mpj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		Text            string                     `json:"text"`
+		ProviderOptions map[string]json.RawMessage `json:"provider_options,omitempty"`
+	}
+
+	if err := json.Unmarshal(mpj.Data, &aux); err != nil {
+		return err
+	}
+
+	t.Text = aux.Text
+
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		t.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ReasoningPart.
+func (r ReasoningPart) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Text            string          `json:"text"`
+		ProviderOptions ProviderOptions `json:"provider_options,omitempty"`
+	}{
+		Text:            r.Text,
+		ProviderOptions: r.ProviderOptions,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(messagePartJSON{
+		Type: string(ContentTypeReasoning),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ReasoningPart.
+func (r *ReasoningPart) UnmarshalJSON(data []byte) error {
+	var mpj messagePartJSON
+	if err := json.Unmarshal(data, &mpj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		Text            string                     `json:"text"`
+		ProviderOptions map[string]json.RawMessage `json:"provider_options,omitempty"`
+	}
+
+	if err := json.Unmarshal(mpj.Data, &aux); err != nil {
+		return err
+	}
+
+	r.Text = aux.Text
+
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		r.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for FilePart.
+func (f FilePart) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Filename        string          `json:"filename"`
+		Data            []byte          `json:"data"`
+		MediaType       string          `json:"media_type"`
+		ProviderOptions ProviderOptions `json:"provider_options,omitempty"`
+	}{
+		Filename:        f.Filename,
+		Data:            f.Data,
+		MediaType:       f.MediaType,
+		ProviderOptions: f.ProviderOptions,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(messagePartJSON{
+		Type: string(ContentTypeFile),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for FilePart.
+func (f *FilePart) UnmarshalJSON(data []byte) error {
+	var mpj messagePartJSON
+	if err := json.Unmarshal(data, &mpj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		Filename        string                     `json:"filename"`
+		Data            []byte                     `json:"data"`
+		MediaType       string                     `json:"media_type"`
+		ProviderOptions map[string]json.RawMessage `json:"provider_options,omitempty"`
+	}
+
+	if err := json.Unmarshal(mpj.Data, &aux); err != nil {
+		return err
+	}
+
+	f.Filename = aux.Filename
+	f.Data = aux.Data
+	f.MediaType = aux.MediaType
+
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		f.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ToolCallPart.
+func (t ToolCallPart) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		ToolCallID       string          `json:"tool_call_id"`
+		ToolName         string          `json:"tool_name"`
+		Input            string          `json:"input"`
+		ProviderExecuted bool            `json:"provider_executed"`
+		ProviderOptions  ProviderOptions `json:"provider_options,omitempty"`
+	}{
+		ToolCallID:       t.ToolCallID,
+		ToolName:         t.ToolName,
+		Input:            t.Input,
+		ProviderExecuted: t.ProviderExecuted,
+		ProviderOptions:  t.ProviderOptions,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(messagePartJSON{
+		Type: string(ContentTypeToolCall),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ToolCallPart.
+func (t *ToolCallPart) UnmarshalJSON(data []byte) error {
+	var mpj messagePartJSON
+	if err := json.Unmarshal(data, &mpj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		ToolCallID       string                     `json:"tool_call_id"`
+		ToolName         string                     `json:"tool_name"`
+		Input            string                     `json:"input"`
+		ProviderExecuted bool                       `json:"provider_executed"`
+		ProviderOptions  map[string]json.RawMessage `json:"provider_options,omitempty"`
+	}
+
+	if err := json.Unmarshal(mpj.Data, &aux); err != nil {
+		return err
+	}
+
+	t.ToolCallID = aux.ToolCallID
+	t.ToolName = aux.ToolName
+	t.Input = aux.Input
+	t.ProviderExecuted = aux.ProviderExecuted
+
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		t.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ToolResultPart.
+func (t ToolResultPart) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		ToolCallID      string                  `json:"tool_call_id"`
+		Output          ToolResultOutputContent `json:"output"`
+		ProviderOptions ProviderOptions         `json:"provider_options,omitempty"`
+	}{
+		ToolCallID:      t.ToolCallID,
+		Output:          t.Output,
+		ProviderOptions: t.ProviderOptions,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(messagePartJSON{
+		Type: string(ContentTypeToolResult),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ToolResultPart.
+func (t *ToolResultPart) UnmarshalJSON(data []byte) error {
+	var mpj messagePartJSON
+	if err := json.Unmarshal(data, &mpj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		ToolCallID      string                     `json:"tool_call_id"`
+		Output          json.RawMessage            `json:"output"`
+		ProviderOptions map[string]json.RawMessage `json:"provider_options,omitempty"`
+	}
+
+	if err := json.Unmarshal(mpj.Data, &aux); err != nil {
+		return err
+	}
+
+	t.ToolCallID = aux.ToolCallID
+
+	// Unmarshal the Output field
+	output, err := UnmarshalToolResultOutputContent(aux.Output)
+	if err != nil {
+		return fmt.Errorf("failed to unmarshal tool result output: %w", err)
+	}
+	t.Output = output
+
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		t.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// UnmarshalJSON implements json.Unmarshaler for Message.
+func (m *Message) UnmarshalJSON(data []byte) error {
+	var aux struct {
+		Role            MessageRole                `json:"role"`
+		Content         []json.RawMessage          `json:"content"`
+		ProviderOptions map[string]json.RawMessage `json:"provider_options"`
+	}
+
+	if err := json.Unmarshal(data, &aux); err != nil {
+		return err
+	}
+
+	m.Role = aux.Role
+
+	m.Content = make([]MessagePart, len(aux.Content))
+	for i, rawPart := range aux.Content {
+		part, err := UnmarshalMessagePart(rawPart)
+		if err != nil {
+			return fmt.Errorf("failed to unmarshal message part at index %d: %w", i, err)
+		}
+		m.Content[i] = part
+	}
+
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		m.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for FunctionTool.
+func (f FunctionTool) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		Name            string          `json:"name"`
+		Description     string          `json:"description"`
+		InputSchema     map[string]any  `json:"input_schema"`
+		ProviderOptions ProviderOptions `json:"provider_options,omitempty"`
+	}{
+		Name:            f.Name,
+		Description:     f.Description,
+		InputSchema:     f.InputSchema,
+		ProviderOptions: f.ProviderOptions,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(toolJSON{
+		Type: string(ToolTypeFunction),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for FunctionTool.
+func (f *FunctionTool) UnmarshalJSON(data []byte) error {
+	var tj toolJSON
+	if err := json.Unmarshal(data, &tj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		Name            string                     `json:"name"`
+		Description     string                     `json:"description"`
+		InputSchema     map[string]any             `json:"input_schema"`
+		ProviderOptions map[string]json.RawMessage `json:"provider_options,omitempty"`
+	}
+
+	if err := json.Unmarshal(tj.Data, &aux); err != nil {
+		return err
+	}
+
+	f.Name = aux.Name
+	f.Description = aux.Description
+	f.InputSchema = aux.InputSchema
+
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		f.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// MarshalJSON implements json.Marshaler for ProviderDefinedTool.
+func (p ProviderDefinedTool) MarshalJSON() ([]byte, error) {
+	dataBytes, err := json.Marshal(struct {
+		ID   string         `json:"id"`
+		Name string         `json:"name"`
+		Args map[string]any `json:"args"`
+	}{
+		ID:   p.ID,
+		Name: p.Name,
+		Args: p.Args,
+	})
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(toolJSON{
+		Type: string(ToolTypeProviderDefined),
+		Data: json.RawMessage(dataBytes),
+	})
+}
+
+// UnmarshalJSON implements json.Unmarshaler for ProviderDefinedTool.
+func (p *ProviderDefinedTool) UnmarshalJSON(data []byte) error {
+	var tj toolJSON
+	if err := json.Unmarshal(data, &tj); err != nil {
+		return err
+	}
+
+	var aux struct {
+		ID   string         `json:"id"`
+		Name string         `json:"name"`
+		Args map[string]any `json:"args"`
+	}
+
+	if err := json.Unmarshal(tj.Data, &aux); err != nil {
+		return err
+	}
+
+	p.ID = aux.ID
+	p.Name = aux.Name
+	p.Args = aux.Args
+
+	return nil
+}
+
+// UnmarshalTool unmarshals JSON into the appropriate Tool type.
+func UnmarshalTool(data []byte) (Tool, error) {
+	var tj toolJSON
+	if err := json.Unmarshal(data, &tj); err != nil {
+		return nil, err
+	}
+
+	switch ToolType(tj.Type) {
+	case ToolTypeFunction:
+		var tool FunctionTool
+		if err := tool.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return tool, nil
+	case ToolTypeProviderDefined:
+		var tool ProviderDefinedTool
+		if err := tool.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return tool, nil
+	default:
+		return nil, fmt.Errorf("unknown tool type: %s", tj.Type)
+	}
+}
+
+// UnmarshalContent unmarshals JSON into the appropriate Content type.
+func UnmarshalContent(data []byte) (Content, error) {
+	var cj contentJSON
+	if err := json.Unmarshal(data, &cj); err != nil {
+		return nil, err
+	}
+
+	switch ContentType(cj.Type) {
+	case ContentTypeText:
+		var content TextContent
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	case ContentTypeReasoning:
+		var content ReasoningContent
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	case ContentTypeFile:
+		var content FileContent
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	case ContentTypeSource:
+		var content SourceContent
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	case ContentTypeToolCall:
+		var content ToolCallContent
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	case ContentTypeToolResult:
+		var content ToolResultContent
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	default:
+		return nil, fmt.Errorf("unknown content type: %s", cj.Type)
+	}
+}
+
+// UnmarshalMessagePart unmarshals JSON into the appropriate MessagePart type.
+func UnmarshalMessagePart(data []byte) (MessagePart, error) {
+	var mpj messagePartJSON
+	if err := json.Unmarshal(data, &mpj); err != nil {
+		return nil, err
+	}
+
+	switch ContentType(mpj.Type) {
+	case ContentTypeText:
+		var part TextPart
+		if err := part.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return part, nil
+	case ContentTypeReasoning:
+		var part ReasoningPart
+		if err := part.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return part, nil
+	case ContentTypeFile:
+		var part FilePart
+		if err := part.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return part, nil
+	case ContentTypeToolCall:
+		var part ToolCallPart
+		if err := part.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return part, nil
+	case ContentTypeToolResult:
+		var part ToolResultPart
+		if err := part.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return part, nil
+	default:
+		return nil, fmt.Errorf("unknown message part type: %s", mpj.Type)
+	}
+}
+
+// UnmarshalToolResultOutputContent unmarshals JSON into the appropriate ToolResultOutputContent type.
+func UnmarshalToolResultOutputContent(data []byte) (ToolResultOutputContent, error) {
+	var troj toolResultOutputJSON
+	if err := json.Unmarshal(data, &troj); err != nil {
+		return nil, err
+	}
+
+	switch ToolResultContentType(troj.Type) {
+	case ToolResultContentTypeText:
+		var content ToolResultOutputContentText
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	case ToolResultContentTypeError:
+		var content ToolResultOutputContentError
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	case ToolResultContentTypeMedia:
+		var content ToolResultOutputContentMedia
+		if err := content.UnmarshalJSON(data); err != nil {
+			return nil, err
+		}
+		return content, nil
+	default:
+		return nil, fmt.Errorf("unknown tool result output content type: %s", troj.Type)
+	}
+}

crush.json 🔗

@@ -0,0 +1,6 @@
+{
+  "$schema": "https://charm.land/crush.json",
+  "lsp": {
+    "gopls": {}
+  }
+}

errors.go 🔗

@@ -1,6 +1,7 @@
 package fantasy
 
 import (
+	"errors"
 	"fmt"
 	"net/http"
 	"strings"
@@ -74,3 +75,30 @@ func (e RetryError) Unwrap() error {
 func ErrorTitleForStatusCode(statusCode int) string {
 	return strings.ToLower(http.StatusText(statusCode))
 }
+
+// NoObjectGeneratedError is returned when object generation fails
+// due to parsing errors, validation errors, or model failures.
+type NoObjectGeneratedError struct {
+	RawText         string
+	ParseError      error
+	ValidationError error
+	Usage           Usage
+	FinishReason    FinishReason
+}
+
+// Error implements the error interface.
+func (e *NoObjectGeneratedError) Error() string {
+	if e.ValidationError != nil {
+		return fmt.Sprintf("object validation failed: %v", e.ValidationError)
+	}
+	if e.ParseError != nil {
+		return fmt.Sprintf("failed to parse object: %v", e.ParseError)
+	}
+	return "failed to generate object"
+}
+
+// IsNoObjectGeneratedError checks if an error is of type NoObjectGeneratedError.
+func IsNoObjectGeneratedError(err error) bool {
+	var target *NoObjectGeneratedError
+	return errors.As(err, &target)
+}

examples/structured-outputs/go.mod 🔗

@@ -0,0 +1,26 @@
+module structured-outputs
+
+go 1.25.2
+
+replace charm.land/fantasy => ../..
+
+require charm.land/fantasy v0.0.0-00010101000000-000000000000
+
+require (
+	github.com/RealAlexandreAI/json-repair v0.0.14 // indirect
+	github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5 // indirect
+	github.com/charmbracelet/x/json v0.2.0 // indirect
+	github.com/go-json-experiment/json v0.0.0-20250910080747-cc2cfa0554c3 // indirect
+	github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
+	github.com/goccy/go-yaml v1.18.0 // indirect
+	github.com/google/uuid v1.6.0 // indirect
+	github.com/kaptinlin/go-i18n v0.2.0 // indirect
+	github.com/kaptinlin/jsonschema v0.5.2 // indirect
+	github.com/kaptinlin/messageformat-go v0.4.5 // indirect
+	github.com/openai/openai-go/v2 v2.7.1 // indirect
+	github.com/tidwall/gjson v1.18.0 // indirect
+	github.com/tidwall/match v1.1.1 // indirect
+	github.com/tidwall/pretty v1.2.1 // indirect
+	github.com/tidwall/sjson v1.2.5 // indirect
+	golang.org/x/text v0.29.0 // indirect
+)

examples/structured-outputs/go.sum 🔗

@@ -0,0 +1,44 @@
+github.com/RealAlexandreAI/json-repair v0.0.14 h1:4kTqotVonDVTio5n2yweRUELVcNe2x518wl0bCsw0t0=
+github.com/RealAlexandreAI/json-repair v0.0.14/go.mod h1:GKJi5borR78O8c7HCVbgqjhoiVibZ6hJldxbc6dGrAI=
+github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5 h1:DTSZxdV9qQagD4iGcAt9RgaRBZtJl01bfKgdLzUzUPI=
+github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5/go.mod h1:vI5nDVMWi6veaYH+0Fmvpbe/+cv/iJfMntdh+N0+Tms=
+github.com/charmbracelet/x/json v0.2.0 h1:DqB+ZGx2h+Z+1s98HOuOyli+i97wsFQIxP2ZQANTPrQ=
+github.com/charmbracelet/x/json v0.2.0/go.mod h1:opFIflx2YgXgi49xVUu8gEQ21teFAxyMwvOiZhIvWNM=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/go-json-experiment/json v0.0.0-20250910080747-cc2cfa0554c3 h1:02WINGfSX5w0Mn+F28UyRoSt9uvMhKguwWMlOAh6U/0=
+github.com/go-json-experiment/json v0.0.0-20250910080747-cc2cfa0554c3/go.mod h1:uNVvRXArCGbZ508SxYYTC5v1JWoz2voff5pm25jU1Ok=
+github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
+github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
+github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
+github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/kaptinlin/go-i18n v0.2.0 h1:8iwjAERQbCVF78c3HxC4MxUDxDRFvQVQlMDvlsO43hU=
+github.com/kaptinlin/go-i18n v0.2.0/go.mod h1:gRHEMrTHtQLsAFwulPbJG71TwHjXxkagn88O8FI8FuA=
+github.com/kaptinlin/jsonschema v0.5.2 h1:ipUBEv1/RnT+ErwdqXZ3Xtwkwp6uqp/Q9lFILrwhUfc=
+github.com/kaptinlin/jsonschema v0.5.2/go.mod h1:HuWb90460GwFxRe0i9Ni3Z7YXwkjpqjeccWTB9gTZZE=
+github.com/kaptinlin/messageformat-go v0.4.5 h1:Y1CTf38O6lKKXX/UZTwb2Xw7c6DPk7kjQEHPJW6qxTI=
+github.com/kaptinlin/messageformat-go v0.4.5/go.mod h1:r0PH7FsxJX8jS/n6LAYZon5w3X+yfCLUrquqYd2H7ks=
+github.com/openai/openai-go/v2 v2.7.1 h1:/tfvTJhfv7hTSL8mWwc5VL4WLLSDL5yn9VqVykdu9r8=
+github.com/openai/openai-go/v2 v2.7.1/go.mod h1:jrJs23apqJKKbT+pqtFgNKpRju/KP9zpUTZhz3GElQE=
+github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
+github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
+github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
+github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
+github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
+github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk=
+github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA=
+github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM=
+github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
+github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4=
+github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
+github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY=
+github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=
+golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
+golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

examples/structured-outputs/main.go 🔗

@@ -0,0 +1,99 @@
+package main
+
+// This example demonstrates how to get structured, type-safe outputs from an
+// LLM. Here we're getting a recipe with validated fields that we can use
+// directly in our code.
+
+import (
+	"context"
+	"fmt"
+	"os"
+
+	"charm.land/fantasy"
+	"charm.land/fantasy/object"
+	"charm.land/fantasy/providers/openai"
+)
+
+// Here's what we want the LLM to fill out. The struct tags tell the model
+// what each field is for.
+type Recipe struct {
+	Name        string   `json:"name" description:"The name of the recipe"`
+	Ingredients []string `json:"ingredients" description:"List of ingredients needed"`
+	Steps       []string `json:"steps" description:"Step-by-step cooking instructions"`
+	PrepTime    int      `json:"prep_time" description:"Preparation time in minutes"`
+}
+
+func main() {
+	// We'll use OpenAI for this one.
+	apiKey := os.Getenv("OPENAI_API_KEY")
+	if apiKey == "" {
+		fmt.Println("Please set OPENAI_API_KEY environment variable")
+		os.Exit(1)
+	}
+
+	ctx := context.Background()
+
+	// Set up the provider.
+	provider, err := openai.New(openai.WithAPIKey(apiKey))
+	if err != nil {
+		fmt.Fprintf(os.Stderr, "Whoops: %v\n", err)
+		os.Exit(1)
+	}
+
+	// Pick the model.
+	model, err := provider.LanguageModel(ctx, "gpt-4o-mini")
+	if err != nil {
+		fmt.Fprintf(os.Stderr, "Dang: %v\n", err)
+		os.Exit(1)
+	}
+
+	fmt.Println("\n🍪 Generating a recipe...")
+
+	// Ask for a structured recipe. The model will return a Recipe struct
+	// that's been validated against our schema.
+	result, err := object.Generate[Recipe](ctx, model, fantasy.ObjectCall{
+		Prompt: fantasy.Prompt{
+			fantasy.NewUserMessage("Give me a recipe for chocolate chip cookies"),
+		},
+	})
+	if err != nil {
+		fmt.Fprintf(os.Stderr, "Oof: %v\n", err)
+		os.Exit(1)
+	}
+
+	// Now we have a type-safe Recipe we can use directly.
+	fmt.Printf("Recipe: %s\n", result.Object.Name)
+	fmt.Printf("Prep time: %d minutes\n", result.Object.PrepTime)
+	fmt.Printf("Ingredients: %d\n", len(result.Object.Ingredients))
+	for i, ing := range result.Object.Ingredients {
+		fmt.Printf("  %d. %s\n", i+1, ing)
+	}
+	fmt.Printf("Steps: %d\n", len(result.Object.Steps))
+	for i, step := range result.Object.Steps {
+		fmt.Printf("  %d. %s\n", i+1, step)
+	}
+	fmt.Printf("\nTokens used: %d\n\n", result.Usage.TotalTokens)
+
+	// Want to see progressive updates as the object builds? Use streaming!
+	fmt.Println("🌊 Now let's try streaming...")
+
+	stream, err := object.Stream[Recipe](ctx, model, fantasy.ObjectCall{
+		Prompt: fantasy.Prompt{
+			fantasy.NewUserMessage("Give me a recipe for banana bread"),
+		},
+	})
+	if err != nil {
+		fmt.Fprintf(os.Stderr, "Oof: %v\n", err)
+		os.Exit(1)
+	}
+
+	// Watch the recipe build in real-time!
+	updateCount := 0
+	for partial := range stream.PartialObjectStream() {
+		updateCount++
+		fmt.Printf("  Update %d: %s (%d ingredients, %d steps)\n",
+			updateCount, partial.Name, len(partial.Ingredients), len(partial.Steps))
+	}
+
+	fmt.Println()
+}

go.mod 🔗

@@ -1,23 +1,24 @@
 module charm.land/fantasy
 
-go 1.24.5
+go 1.25
 
 require (
+	charm.land/x/vcr v0.1.0
 	cloud.google.com/go/auth v0.17.0
-	github.com/aws/aws-sdk-go-v2 v1.39.5
-	github.com/aws/smithy-go v1.23.1
+	github.com/RealAlexandreAI/json-repair v0.0.14
+	github.com/aws/aws-sdk-go-v2 v1.39.6
+	github.com/aws/smithy-go v1.23.2
 	github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904
 	github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5
 	github.com/charmbracelet/x/json v0.2.0
 	github.com/go-viper/mapstructure/v2 v2.4.0
 	github.com/google/uuid v1.6.0
 	github.com/joho/godotenv v1.5.1
+	github.com/kaptinlin/jsonschema v0.5.2
 	github.com/openai/openai-go/v2 v2.7.1
 	github.com/stretchr/testify v1.11.1
-	go.yaml.in/yaml/v4 v4.0.0-rc.2
-	golang.org/x/oauth2 v0.32.0
-	google.golang.org/genai v1.33.1-0.20251103191629-d15baab4f79e
-	gopkg.in/dnaeon/go-vcr.v4 v4.0.6-0.20250923044825-7b4892dd3117
+	golang.org/x/oauth2 v0.33.0
+	google.golang.org/genai v1.34.0
 )
 
 require (
@@ -40,13 +41,17 @@ require (
 	github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 // indirect
 	github.com/davecgh/go-spew v1.1.1 // indirect
 	github.com/felixge/httpsnoop v1.0.4 // indirect
+	github.com/go-json-experiment/json v0.0.0-20250910080747-cc2cfa0554c3 // indirect
 	github.com/go-logr/logr v1.4.3 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
+	github.com/goccy/go-yaml v1.18.0 // indirect
 	github.com/google/go-cmp v0.7.0 // indirect
 	github.com/google/s2a-go v0.1.9 // indirect
 	github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
 	github.com/googleapis/gax-go/v2 v2.15.0 // indirect
 	github.com/gorilla/websocket v1.5.3 // indirect
+	github.com/kaptinlin/go-i18n v0.2.0 // indirect
+	github.com/kaptinlin/messageformat-go v0.4.5 // indirect
 	github.com/pmezard/go-difflib v1.0.0 // indirect
 	github.com/tidwall/gjson v1.18.0 // indirect
 	github.com/tidwall/match v1.1.1 // indirect
@@ -58,15 +63,17 @@ require (
 	go.opentelemetry.io/otel v1.36.0 // indirect
 	go.opentelemetry.io/otel/metric v1.36.0 // indirect
 	go.opentelemetry.io/otel/trace v1.36.0 // indirect
+	go.yaml.in/yaml/v4 v4.0.0-rc.3 // indirect
 	golang.org/x/crypto v0.41.0 // indirect
 	golang.org/x/net v0.43.0 // indirect
-	golang.org/x/sync v0.16.0 // indirect
+	golang.org/x/sync v0.17.0 // indirect
 	golang.org/x/sys v0.35.0 // indirect
-	golang.org/x/text v0.28.0 // indirect
+	golang.org/x/text v0.29.0 // indirect
 	golang.org/x/time v0.12.0 // indirect
 	google.golang.org/api v0.239.0 // indirect
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
 	google.golang.org/grpc v1.74.2 // indirect
 	google.golang.org/protobuf v1.36.7 // indirect
+	gopkg.in/dnaeon/go-vcr.v4 v4.0.6-0.20251110073552-01de4eb40290 // indirect
 	gopkg.in/yaml.v3 v3.0.1 // indirect
 )

go.sum 🔗

@@ -1,3 +1,5 @@
+charm.land/x/vcr v0.1.0 h1:XhCUVij6Ss6+xJuAb2n4mNRGSS/SrnNoUmEwJziy+Dg=
+charm.land/x/vcr v0.1.0/go.mod h1:eByq2gqzWvcct/8XE2XO5KznoWEBiXH56+y2gphbltM=
 cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
 cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
 cloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4=
@@ -14,8 +16,10 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xP
 github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY=
 github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mxXfQidrMEnLlPk9UMeRtyBTnEFtxkV0kU=
 github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
-github.com/aws/aws-sdk-go-v2 v1.39.5 h1:e/SXuia3rkFtapghJROrydtQpfQaaUgd1cUvyO1mp2w=
-github.com/aws/aws-sdk-go-v2 v1.39.5/go.mod h1:yWSxrnioGUZ4WVv9TgMrNUeLV3PFESn/v+6T/Su8gnM=
+github.com/RealAlexandreAI/json-repair v0.0.14 h1:4kTqotVonDVTio5n2yweRUELVcNe2x518wl0bCsw0t0=
+github.com/RealAlexandreAI/json-repair v0.0.14/go.mod h1:GKJi5borR78O8c7HCVbgqjhoiVibZ6hJldxbc6dGrAI=
+github.com/aws/aws-sdk-go-v2 v1.39.6 h1:2JrPCVgWJm7bm83BDwY5z8ietmeJUbh3O2ACnn+Xsqk=
+github.com/aws/aws-sdk-go-v2 v1.39.6/go.mod h1:c9pm7VwuW0UPxAEYGyTmyurVcNrbF6Rt/wixFqDhcjE=
 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg=
 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM=
 github.com/aws/aws-sdk-go-v2/config v1.27.27 h1:HdqgGt1OAP0HkEDDShEl0oSYa9ZZBSOmKpdpsDMdO90=
@@ -40,8 +44,8 @@ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4 h1:yiwVzJW2ZxZTurVbYWA7QOrA
 github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.4/go.mod h1:0oxfLkpz3rQ/CHlx5hB7H69YUpFiI1tql6Q6Ne+1bCw=
 github.com/aws/aws-sdk-go-v2/service/sts v1.30.3 h1:ZsDKRLXGWHk8WdtyYMoGNO7bTudrvuKpDKgMVRlepGE=
 github.com/aws/aws-sdk-go-v2/service/sts v1.30.3/go.mod h1:zwySh8fpFyXp9yOr/KVzxOl8SRqgf/IDw5aUt9UKFcQ=
-github.com/aws/smithy-go v1.23.1 h1:sLvcH6dfAFwGkHLZ7dGiYF7aK6mg4CgKA/iDKjLDt9M=
-github.com/aws/smithy-go v1.23.1/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=
+github.com/aws/smithy-go v1.23.2 h1:Crv0eatJUQhaManss33hS5r40CG3ZFH+21XSkqMrIUM=
+github.com/aws/smithy-go v1.23.2/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=
 github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904 h1:rwLdEpG9wE6kL69KkEKDiWprO8pQOZHZXeod6+9K+mw=
 github.com/charmbracelet/anthropic-sdk-go v0.0.0-20251024181547-21d6f3d9a904/go.mod h1:8TIYxZxsuCqqeJ0lga/b91tBwrbjoHDC66Sq5t8N2R4=
 github.com/charmbracelet/x/exp/slice v0.0.0-20250904123553-b4e2667e5ad5 h1:DTSZxdV9qQagD4iGcAt9RgaRBZtJl01bfKgdLzUzUPI=
@@ -52,6 +56,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/go-json-experiment/json v0.0.0-20250910080747-cc2cfa0554c3 h1:02WINGfSX5w0Mn+F28UyRoSt9uvMhKguwWMlOAh6U/0=
+github.com/go-json-experiment/json v0.0.0-20250910080747-cc2cfa0554c3/go.mod h1:uNVvRXArCGbZ508SxYYTC5v1JWoz2voff5pm25jU1Ok=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
 github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
@@ -59,6 +65,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
 github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
+github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
+github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
 github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=
 github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
 github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
@@ -77,6 +85,12 @@ github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aN
 github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
 github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
 github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
+github.com/kaptinlin/go-i18n v0.2.0 h1:8iwjAERQbCVF78c3HxC4MxUDxDRFvQVQlMDvlsO43hU=
+github.com/kaptinlin/go-i18n v0.2.0/go.mod h1:gRHEMrTHtQLsAFwulPbJG71TwHjXxkagn88O8FI8FuA=
+github.com/kaptinlin/jsonschema v0.5.2 h1:ipUBEv1/RnT+ErwdqXZ3Xtwkwp6uqp/Q9lFILrwhUfc=
+github.com/kaptinlin/jsonschema v0.5.2/go.mod h1:HuWb90460GwFxRe0i9Ni3Z7YXwkjpqjeccWTB9gTZZE=
+github.com/kaptinlin/messageformat-go v0.4.5 h1:Y1CTf38O6lKKXX/UZTwb2Xw7c6DPk7kjQEHPJW6qxTI=
+github.com/kaptinlin/messageformat-go v0.4.5/go.mod h1:r0PH7FsxJX8jS/n6LAYZon5w3X+yfCLUrquqYd2H7ks=
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -85,6 +99,8 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
 github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
 github.com/openai/openai-go/v2 v2.7.1 h1:/tfvTJhfv7hTSL8mWwc5VL4WLLSDL5yn9VqVykdu9r8=
 github.com/openai/openai-go/v2 v2.7.1/go.mod h1:jrJs23apqJKKbT+pqtFgNKpRju/KP9zpUTZhz3GElQE=
+github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
+github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
 github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
@@ -119,26 +135,26 @@ go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFw
 go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
 go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
 go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
-go.yaml.in/yaml/v4 v4.0.0-rc.2 h1:/FrI8D64VSr4HtGIlUtlFMGsm7H7pWTbj6vOLVZcA6s=
-go.yaml.in/yaml/v4 v4.0.0-rc.2/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
+go.yaml.in/yaml/v4 v4.0.0-rc.3 h1:3h1fjsh1CTAPjW7q/EMe+C8shx5d8ctzZTrLcs/j8Go=
+go.yaml.in/yaml/v4 v4.0.0-rc.3/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0=
 golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
 golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
 golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
 golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
-golang.org/x/oauth2 v0.32.0 h1:jsCblLleRMDrxMN29H3z/k1KliIvpLgCkE6R8FXXNgY=
-golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
-golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
-golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
+golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
+golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
+golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
+golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
 golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
 golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
-golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
-golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
+golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
+golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
 golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
 golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
 google.golang.org/api v0.239.0 h1:2hZKUnFZEy81eugPs4e2XzIJ5SOwQg0G82bpXD65Puo=
 google.golang.org/api v0.239.0/go.mod h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50=
-google.golang.org/genai v1.33.1-0.20251103191629-d15baab4f79e h1:pGBT6ptC4ENtN9wA4dGhvjwrYpVZ6X9Lnpwu4Y+jozk=
-google.golang.org/genai v1.33.1-0.20251103191629-d15baab4f79e/go.mod h1:7pAilaICJlQBonjKKJNhftDFv3SREhZcTe9F6nRcjbg=
+google.golang.org/genai v1.34.0 h1:lPRJRO+HqRX1SwFo1Xb/22nZ5MBEPUbXDl61OoDxlbY=
+google.golang.org/genai v1.34.0/go.mod h1:7pAilaICJlQBonjKKJNhftDFv3SREhZcTe9F6nRcjbg=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
 google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
 google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
@@ -148,7 +164,7 @@ google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/dnaeon/go-vcr.v4 v4.0.6-0.20250923044825-7b4892dd3117 h1:fbE/sTnBb9UNfE8cJsOzrYYPqVWVHb7jWH4SI1W//cM=
-gopkg.in/dnaeon/go-vcr.v4 v4.0.6-0.20250923044825-7b4892dd3117/go.mod h1:YuVT9NPq7t3oT2WpUemB0DbNL7djIjgajZycxoDLnqs=
+gopkg.in/dnaeon/go-vcr.v4 v4.0.6-0.20251110073552-01de4eb40290 h1:g3ah7zaWmw41EtOgBNXpx8zk4HYuH3OMwB+qh1Dt834=
+gopkg.in/dnaeon/go-vcr.v4 v4.0.6-0.20251110073552-01de4eb40290/go.mod h1:sbq5oMEcM4PXngbcNbHhzfCP9OdZodLhrbRYoyg09HY=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

json_test.go 🔗

@@ -0,0 +1,647 @@
+package fantasy
+
+import (
+	"encoding/json"
+	"errors"
+	"reflect"
+	"testing"
+)
+
+func TestMessageJSONSerialization(t *testing.T) {
+	tests := []struct {
+		name    string
+		message Message
+	}{
+		{
+			name: "simple text message",
+			message: Message{
+				Role: MessageRoleUser,
+				Content: []MessagePart{
+					TextPart{Text: "Hello, world!"},
+				},
+			},
+		},
+		{
+			name: "message with multiple text parts",
+			message: Message{
+				Role: MessageRoleAssistant,
+				Content: []MessagePart{
+					TextPart{Text: "First part"},
+					TextPart{Text: "Second part"},
+					TextPart{Text: "Third part"},
+				},
+			},
+		},
+		{
+			name: "message with reasoning part",
+			message: Message{
+				Role: MessageRoleAssistant,
+				Content: []MessagePart{
+					ReasoningPart{Text: "Let me think about this..."},
+					TextPart{Text: "Here's my answer"},
+				},
+			},
+		},
+		{
+			name: "message with file part",
+			message: Message{
+				Role: MessageRoleUser,
+				Content: []MessagePart{
+					TextPart{Text: "Here's an image:"},
+					FilePart{
+						Filename:  "test.png",
+						Data:      []byte{0x89, 0x50, 0x4E, 0x47}, // PNG header
+						MediaType: "image/png",
+					},
+				},
+			},
+		},
+		{
+			name: "message with tool call",
+			message: Message{
+				Role: MessageRoleAssistant,
+				Content: []MessagePart{
+					ToolCallPart{
+						ToolCallID:       "call_123",
+						ToolName:         "get_weather",
+						Input:            `{"location": "San Francisco"}`,
+						ProviderExecuted: false,
+					},
+				},
+			},
+		},
+		{
+			name: "message with tool result - text output",
+			message: Message{
+				Role: MessageRoleTool,
+				Content: []MessagePart{
+					ToolResultPart{
+						ToolCallID: "call_123",
+						Output: ToolResultOutputContentText{
+							Text: "The weather is sunny, 72°F",
+						},
+					},
+				},
+			},
+		},
+		{
+			name: "message with tool result - error output",
+			message: Message{
+				Role: MessageRoleTool,
+				Content: []MessagePart{
+					ToolResultPart{
+						ToolCallID: "call_456",
+						Output: ToolResultOutputContentError{
+							Error: errors.New("API rate limit exceeded"),
+						},
+					},
+				},
+			},
+		},
+		{
+			name: "message with tool result - media output",
+			message: Message{
+				Role: MessageRoleTool,
+				Content: []MessagePart{
+					ToolResultPart{
+						ToolCallID: "call_789",
+						Output: ToolResultOutputContentMedia{
+							Data:      "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
+							MediaType: "image/png",
+						},
+					},
+				},
+			},
+		},
+		{
+			name: "complex message with mixed content",
+			message: Message{
+				Role: MessageRoleAssistant,
+				Content: []MessagePart{
+					TextPart{Text: "I'll analyze this image and call some tools."},
+					ReasoningPart{Text: "First, I need to identify the objects..."},
+					ToolCallPart{
+						ToolCallID:       "call_001",
+						ToolName:         "analyze_image",
+						Input:            `{"image_id": "img_123"}`,
+						ProviderExecuted: false,
+					},
+					ToolCallPart{
+						ToolCallID:       "call_002",
+						ToolName:         "get_context",
+						Input:            `{"query": "similar images"}`,
+						ProviderExecuted: true,
+					},
+				},
+			},
+		},
+		{
+			name: "system message",
+			message: Message{
+				Role: MessageRoleSystem,
+				Content: []MessagePart{
+					TextPart{Text: "You are a helpful assistant."},
+				},
+			},
+		},
+		{
+			name: "empty content",
+			message: Message{
+				Role:    MessageRoleUser,
+				Content: []MessagePart{},
+			},
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			// Marshal the message
+			data, err := json.Marshal(tt.message)
+			if err != nil {
+				t.Fatalf("failed to marshal message: %v", err)
+			}
+
+			// Unmarshal back
+			var decoded Message
+			err = json.Unmarshal(data, &decoded)
+			if err != nil {
+				t.Fatalf("failed to unmarshal message: %v", err)
+			}
+
+			// Compare roles
+			if decoded.Role != tt.message.Role {
+				t.Errorf("role mismatch: got %v, want %v", decoded.Role, tt.message.Role)
+			}
+
+			// Compare content length
+			if len(decoded.Content) != len(tt.message.Content) {
+				t.Fatalf("content length mismatch: got %d, want %d", len(decoded.Content), len(tt.message.Content))
+			}
+
+			// Compare each content part
+			for i := range tt.message.Content {
+				original := tt.message.Content[i]
+				decodedPart := decoded.Content[i]
+
+				if original.GetType() != decodedPart.GetType() {
+					t.Errorf("content[%d] type mismatch: got %v, want %v", i, decodedPart.GetType(), original.GetType())
+					continue
+				}
+
+				compareMessagePart(t, i, original, decodedPart)
+			}
+		})
+	}
+}
+
+func compareMessagePart(t *testing.T, index int, original, decoded MessagePart) {
+	switch original.GetType() {
+	case ContentTypeText:
+		orig := original.(TextPart)
+		dec := decoded.(TextPart)
+		if orig.Text != dec.Text {
+			t.Errorf("content[%d] text mismatch: got %q, want %q", index, dec.Text, orig.Text)
+		}
+
+	case ContentTypeReasoning:
+		orig := original.(ReasoningPart)
+		dec := decoded.(ReasoningPart)
+		if orig.Text != dec.Text {
+			t.Errorf("content[%d] reasoning text mismatch: got %q, want %q", index, dec.Text, orig.Text)
+		}
+
+	case ContentTypeFile:
+		orig := original.(FilePart)
+		dec := decoded.(FilePart)
+		if orig.Filename != dec.Filename {
+			t.Errorf("content[%d] filename mismatch: got %q, want %q", index, dec.Filename, orig.Filename)
+		}
+		if orig.MediaType != dec.MediaType {
+			t.Errorf("content[%d] media type mismatch: got %q, want %q", index, dec.MediaType, orig.MediaType)
+		}
+		if !reflect.DeepEqual(orig.Data, dec.Data) {
+			t.Errorf("content[%d] file data mismatch", index)
+		}
+
+	case ContentTypeToolCall:
+		orig := original.(ToolCallPart)
+		dec := decoded.(ToolCallPart)
+		if orig.ToolCallID != dec.ToolCallID {
+			t.Errorf("content[%d] tool call id mismatch: got %q, want %q", index, dec.ToolCallID, orig.ToolCallID)
+		}
+		if orig.ToolName != dec.ToolName {
+			t.Errorf("content[%d] tool name mismatch: got %q, want %q", index, dec.ToolName, orig.ToolName)
+		}
+		if orig.Input != dec.Input {
+			t.Errorf("content[%d] tool input mismatch: got %q, want %q", index, dec.Input, orig.Input)
+		}
+		if orig.ProviderExecuted != dec.ProviderExecuted {
+			t.Errorf("content[%d] provider executed mismatch: got %v, want %v", index, dec.ProviderExecuted, orig.ProviderExecuted)
+		}
+
+	case ContentTypeToolResult:
+		orig := original.(ToolResultPart)
+		dec := decoded.(ToolResultPart)
+		if orig.ToolCallID != dec.ToolCallID {
+			t.Errorf("content[%d] tool result call id mismatch: got %q, want %q", index, dec.ToolCallID, orig.ToolCallID)
+		}
+		compareToolResultOutput(t, index, orig.Output, dec.Output)
+	}
+}
+
+func compareToolResultOutput(t *testing.T, index int, original, decoded ToolResultOutputContent) {
+	if original.GetType() != decoded.GetType() {
+		t.Errorf("content[%d] tool result output type mismatch: got %v, want %v", index, decoded.GetType(), original.GetType())
+		return
+	}
+
+	switch original.GetType() {
+	case ToolResultContentTypeText:
+		orig := original.(ToolResultOutputContentText)
+		dec := decoded.(ToolResultOutputContentText)
+		if orig.Text != dec.Text {
+			t.Errorf("content[%d] tool result text mismatch: got %q, want %q", index, dec.Text, orig.Text)
+		}
+
+	case ToolResultContentTypeError:
+		orig := original.(ToolResultOutputContentError)
+		dec := decoded.(ToolResultOutputContentError)
+		if orig.Error.Error() != dec.Error.Error() {
+			t.Errorf("content[%d] tool result error mismatch: got %q, want %q", index, dec.Error.Error(), orig.Error.Error())
+		}
+
+	case ToolResultContentTypeMedia:
+		orig := original.(ToolResultOutputContentMedia)
+		dec := decoded.(ToolResultOutputContentMedia)
+		if orig.Data != dec.Data {
+			t.Errorf("content[%d] tool result media data mismatch", index)
+		}
+		if orig.MediaType != dec.MediaType {
+			t.Errorf("content[%d] tool result media type mismatch: got %q, want %q", index, dec.MediaType, orig.MediaType)
+		}
+	}
+}
+
+func TestHelperFunctions(t *testing.T) {
+	t.Run("NewUserMessage - text only", func(t *testing.T) {
+		msg := NewUserMessage("Hello")
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		if decoded.Role != MessageRoleUser {
+			t.Errorf("role mismatch: got %v, want %v", decoded.Role, MessageRoleUser)
+		}
+
+		if len(decoded.Content) != 1 {
+			t.Fatalf("expected 1 content part, got %d", len(decoded.Content))
+		}
+
+		textPart := decoded.Content[0].(TextPart)
+		if textPart.Text != "Hello" {
+			t.Errorf("text mismatch: got %q, want %q", textPart.Text, "Hello")
+		}
+	})
+
+	t.Run("NewUserMessage - with files", func(t *testing.T) {
+		msg := NewUserMessage("Check this image",
+			FilePart{
+				Filename:  "image1.jpg",
+				Data:      []byte{0xFF, 0xD8, 0xFF},
+				MediaType: "image/jpeg",
+			},
+			FilePart{
+				Filename:  "image2.png",
+				Data:      []byte{0x89, 0x50, 0x4E, 0x47},
+				MediaType: "image/png",
+			},
+		)
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		if len(decoded.Content) != 3 {
+			t.Fatalf("expected 3 content parts, got %d", len(decoded.Content))
+		}
+
+		// Check text part
+		textPart := decoded.Content[0].(TextPart)
+		if textPart.Text != "Check this image" {
+			t.Errorf("text mismatch: got %q, want %q", textPart.Text, "Check this image")
+		}
+
+		// Check first file
+		file1 := decoded.Content[1].(FilePart)
+		if file1.Filename != "image1.jpg" {
+			t.Errorf("file1 name mismatch: got %q, want %q", file1.Filename, "image1.jpg")
+		}
+
+		// Check second file
+		file2 := decoded.Content[2].(FilePart)
+		if file2.Filename != "image2.png" {
+			t.Errorf("file2 name mismatch: got %q, want %q", file2.Filename, "image2.png")
+		}
+	})
+
+	t.Run("NewSystemMessage - single prompt", func(t *testing.T) {
+		msg := NewSystemMessage("You are a helpful assistant.")
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		if decoded.Role != MessageRoleSystem {
+			t.Errorf("role mismatch: got %v, want %v", decoded.Role, MessageRoleSystem)
+		}
+
+		if len(decoded.Content) != 1 {
+			t.Fatalf("expected 1 content part, got %d", len(decoded.Content))
+		}
+
+		textPart := decoded.Content[0].(TextPart)
+		if textPart.Text != "You are a helpful assistant." {
+			t.Errorf("text mismatch: got %q, want %q", textPart.Text, "You are a helpful assistant.")
+		}
+	})
+
+	t.Run("NewSystemMessage - multiple prompts", func(t *testing.T) {
+		msg := NewSystemMessage("First instruction", "Second instruction", "Third instruction")
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		if len(decoded.Content) != 3 {
+			t.Fatalf("expected 3 content parts, got %d", len(decoded.Content))
+		}
+
+		expected := []string{"First instruction", "Second instruction", "Third instruction"}
+		for i, exp := range expected {
+			textPart := decoded.Content[i].(TextPart)
+			if textPart.Text != exp {
+				t.Errorf("content[%d] text mismatch: got %q, want %q", i, textPart.Text, exp)
+			}
+		}
+	})
+}
+
+func TestEdgeCases(t *testing.T) {
+	t.Run("empty text part", func(t *testing.T) {
+		msg := Message{
+			Role: MessageRoleUser,
+			Content: []MessagePart{
+				TextPart{Text: ""},
+			},
+		}
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		textPart := decoded.Content[0].(TextPart)
+		if textPart.Text != "" {
+			t.Errorf("expected empty text, got %q", textPart.Text)
+		}
+	})
+
+	t.Run("nil error in tool result", func(t *testing.T) {
+		msg := Message{
+			Role: MessageRoleTool,
+			Content: []MessagePart{
+				ToolResultPart{
+					ToolCallID: "call_123",
+					Output: ToolResultOutputContentError{
+						Error: nil,
+					},
+				},
+			},
+		}
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		toolResult := decoded.Content[0].(ToolResultPart)
+		errorOutput := toolResult.Output.(ToolResultOutputContentError)
+		if errorOutput.Error != nil {
+			t.Errorf("expected nil error, got %v", errorOutput.Error)
+		}
+	})
+
+	t.Run("empty file data", func(t *testing.T) {
+		msg := Message{
+			Role: MessageRoleUser,
+			Content: []MessagePart{
+				FilePart{
+					Filename:  "empty.txt",
+					Data:      []byte{},
+					MediaType: "text/plain",
+				},
+			},
+		}
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		filePart := decoded.Content[0].(FilePart)
+		if len(filePart.Data) != 0 {
+			t.Errorf("expected empty data, got %d bytes", len(filePart.Data))
+		}
+	})
+
+	t.Run("unicode in text", func(t *testing.T) {
+		msg := Message{
+			Role: MessageRoleUser,
+			Content: []MessagePart{
+				TextPart{Text: "Hello 世界! 🌍 Привет"},
+			},
+		}
+
+		data, err := json.Marshal(msg)
+		if err != nil {
+			t.Fatalf("failed to marshal: %v", err)
+		}
+
+		var decoded Message
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal: %v", err)
+		}
+
+		textPart := decoded.Content[0].(TextPart)
+		if textPart.Text != "Hello 世界! 🌍 Привет" {
+			t.Errorf("unicode text mismatch: got %q, want %q", textPart.Text, "Hello 世界! 🌍 Привет")
+		}
+	})
+}
+
+func TestInvalidJSONHandling(t *testing.T) {
+	t.Run("unknown message part type", func(t *testing.T) {
+		invalidJSON := `{
+			"role": "user",
+			"content": [
+				{
+					"type": "unknown-type",
+					"data": {}
+				}
+			],
+			"provider_options": null
+		}`
+
+		var msg Message
+		err := json.Unmarshal([]byte(invalidJSON), &msg)
+		if err == nil {
+			t.Error("expected error for unknown message part type, got nil")
+		}
+	})
+
+	t.Run("unknown tool result output type", func(t *testing.T) {
+		invalidJSON := `{
+			"role": "tool",
+			"content": [
+				{
+					"type": "tool-result",
+					"data": {
+						"tool_call_id": "call_123",
+						"output": {
+							"type": "unknown-output-type",
+							"data": {}
+						},
+						"provider_options": null
+					}
+				}
+			],
+			"provider_options": null
+		}`
+
+		var msg Message
+		err := json.Unmarshal([]byte(invalidJSON), &msg)
+		if err == nil {
+			t.Error("expected error for unknown tool result output type, got nil")
+		}
+	})
+
+	t.Run("malformed JSON", func(t *testing.T) {
+		invalidJSON := `{"role": "user", "content": [`
+
+		var msg Message
+		err := json.Unmarshal([]byte(invalidJSON), &msg)
+		if err == nil {
+			t.Error("expected error for malformed JSON, got nil")
+		}
+	})
+}
+
+// Mock provider data for testing provider options
+type mockProviderData struct {
+	Key string `json:"key"`
+}
+
+func (m mockProviderData) Options()     {}
+func (m mockProviderData) Type() string { return "mock" }
+func (m mockProviderData) MarshalJSON() ([]byte, error) {
+	return json.Marshal(struct {
+		Type string `json:"type"`
+		mockProviderData
+	}{
+		Type:             "mock",
+		mockProviderData: m,
+	})
+}
+
+func (m *mockProviderData) UnmarshalJSON(data []byte) error {
+	var aux struct {
+		Type string `json:"type"`
+		mockProviderData
+	}
+	if err := json.Unmarshal(data, &aux); err != nil {
+		return err
+	}
+	*m = aux.mockProviderData
+	return nil
+}
+
+func TestPromptSerialization(t *testing.T) {
+	t.Run("serialize prompt (message slice)", func(t *testing.T) {
+		prompt := Prompt{
+			NewSystemMessage("You are helpful"),
+			NewUserMessage("Hello"),
+			Message{
+				Role: MessageRoleAssistant,
+				Content: []MessagePart{
+					TextPart{Text: "Hi there!"},
+				},
+			},
+		}
+
+		data, err := json.Marshal(prompt)
+		if err != nil {
+			t.Fatalf("failed to marshal prompt: %v", err)
+		}
+
+		var decoded Prompt
+		if err := json.Unmarshal(data, &decoded); err != nil {
+			t.Fatalf("failed to unmarshal prompt: %v", err)
+		}
+
+		if len(decoded) != 3 {
+			t.Fatalf("expected 3 messages, got %d", len(decoded))
+		}
+
+		if decoded[0].Role != MessageRoleSystem {
+			t.Errorf("message 0 role mismatch: got %v, want %v", decoded[0].Role, MessageRoleSystem)
+		}
+
+		if decoded[1].Role != MessageRoleUser {
+			t.Errorf("message 1 role mismatch: got %v, want %v", decoded[1].Role, MessageRoleUser)
+		}
+
+		if decoded[2].Role != MessageRoleAssistant {
+			t.Errorf("message 2 role mismatch: got %v, want %v", decoded[2].Role, MessageRoleAssistant)
+		}
+	})
+}

model.go 🔗

@@ -219,7 +219,6 @@ type Call struct {
 	ProviderOptions ProviderOptions `json:"provider_options"`
 }
 
-// CallWarningType represents the type of call warning.
 // CallWarningType represents the type of call warning.
 type CallWarningType string
 
@@ -248,6 +247,9 @@ type LanguageModel interface {
 	Generate(context.Context, Call) (*Response, error)
 	Stream(context.Context, Call) (StreamResponse, error)
 
+	GenerateObject(context.Context, ObjectCall) (*ObjectResponse, error)
+	StreamObject(context.Context, ObjectCall) (ObjectStreamResponse, error)
+
 	Provider() string
 	Model() string
 }

model_json.go 🔗

@@ -0,0 +1,152 @@
+package fantasy
+
+import (
+	"encoding/json"
+	"fmt"
+)
+
+// UnmarshalJSON implements json.Unmarshaler for Call.
+func (c *Call) UnmarshalJSON(data []byte) error {
+	var aux struct {
+		Prompt           Prompt                     `json:"prompt"`
+		MaxOutputTokens  *int64                     `json:"max_output_tokens"`
+		Temperature      *float64                   `json:"temperature"`
+		TopP             *float64                   `json:"top_p"`
+		TopK             *int64                     `json:"top_k"`
+		PresencePenalty  *float64                   `json:"presence_penalty"`
+		FrequencyPenalty *float64                   `json:"frequency_penalty"`
+		Tools            []json.RawMessage          `json:"tools"`
+		ToolChoice       *ToolChoice                `json:"tool_choice"`
+		ProviderOptions  map[string]json.RawMessage `json:"provider_options"`
+	}
+
+	if err := json.Unmarshal(data, &aux); err != nil {
+		return err
+	}
+
+	c.Prompt = aux.Prompt
+	c.MaxOutputTokens = aux.MaxOutputTokens
+	c.Temperature = aux.Temperature
+	c.TopP = aux.TopP
+	c.TopK = aux.TopK
+	c.PresencePenalty = aux.PresencePenalty
+	c.FrequencyPenalty = aux.FrequencyPenalty
+	c.ToolChoice = aux.ToolChoice
+
+	// Unmarshal Tools slice
+	c.Tools = make([]Tool, len(aux.Tools))
+	for i, rawTool := range aux.Tools {
+		tool, err := UnmarshalTool(rawTool)
+		if err != nil {
+			return fmt.Errorf("failed to unmarshal tool at index %d: %w", i, err)
+		}
+		c.Tools[i] = tool
+	}
+
+	// Unmarshal ProviderOptions
+	if len(aux.ProviderOptions) > 0 {
+		options, err := UnmarshalProviderOptions(aux.ProviderOptions)
+		if err != nil {
+			return err
+		}
+		c.ProviderOptions = options
+	}
+
+	return nil
+}
+
+// UnmarshalJSON implements json.Unmarshaler for Response.
+func (r *Response) UnmarshalJSON(data []byte) error {
+	var aux struct {
+		Content          json.RawMessage            `json:"content"`
+		FinishReason     FinishReason               `json:"finish_reason"`
+		Usage            Usage                      `json:"usage"`
+		Warnings         []CallWarning              `json:"warnings"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata"`
+	}
+
+	if err := json.Unmarshal(data, &aux); err != nil {
+		return err
+	}
+
+	r.FinishReason = aux.FinishReason
+	r.Usage = aux.Usage
+	r.Warnings = aux.Warnings
+
+	// Unmarshal ResponseContent (need to know the type definition)
+	// If ResponseContent is []Content:
+	var rawContent []json.RawMessage
+	if err := json.Unmarshal(aux.Content, &rawContent); err != nil {
+		return err
+	}
+
+	content := make([]Content, len(rawContent))
+	for i, rawItem := range rawContent {
+		item, err := UnmarshalContent(rawItem)
+		if err != nil {
+			return fmt.Errorf("failed to unmarshal content at index %d: %w", i, err)
+		}
+		content[i] = item
+	}
+	r.Content = content
+
+	// Unmarshal ProviderMetadata
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		r.ProviderMetadata = metadata
+	}
+
+	return nil
+}
+
+// UnmarshalJSON implements json.Unmarshaler for StreamPart.
+func (s *StreamPart) UnmarshalJSON(data []byte) error {
+	var aux struct {
+		Type             StreamPartType             `json:"type"`
+		ID               string                     `json:"id"`
+		ToolCallName     string                     `json:"tool_call_name"`
+		ToolCallInput    string                     `json:"tool_call_input"`
+		Delta            string                     `json:"delta"`
+		ProviderExecuted bool                       `json:"provider_executed"`
+		Usage            Usage                      `json:"usage"`
+		FinishReason     FinishReason               `json:"finish_reason"`
+		Error            error                      `json:"error"`
+		Warnings         []CallWarning              `json:"warnings"`
+		SourceType       SourceType                 `json:"source_type"`
+		URL              string                     `json:"url"`
+		Title            string                     `json:"title"`
+		ProviderMetadata map[string]json.RawMessage `json:"provider_metadata"`
+	}
+
+	if err := json.Unmarshal(data, &aux); err != nil {
+		return err
+	}
+
+	s.Type = aux.Type
+	s.ID = aux.ID
+	s.ToolCallName = aux.ToolCallName
+	s.ToolCallInput = aux.ToolCallInput
+	s.Delta = aux.Delta
+	s.ProviderExecuted = aux.ProviderExecuted
+	s.Usage = aux.Usage
+	s.FinishReason = aux.FinishReason
+	s.Error = aux.Error
+	s.Warnings = aux.Warnings
+	s.SourceType = aux.SourceType
+	s.URL = aux.URL
+	s.Title = aux.Title
+
+	// Unmarshal ProviderMetadata
+	if len(aux.ProviderMetadata) > 0 {
+		metadata, err := UnmarshalProviderMetadata(aux.ProviderMetadata)
+		if err != nil {
+			return err
+		}
+		s.ProviderMetadata = metadata
+	}
+
+	return nil
+}

object.go 🔗

@@ -0,0 +1,233 @@
+package fantasy
+
+import (
+	"context"
+	"encoding/json"
+	"fmt"
+	"iter"
+	"reflect"
+
+	"charm.land/fantasy/schema"
+)
+
+// ObjectMode specifies how structured output should be generated.
+type ObjectMode string
+
+const (
+	// ObjectModeAuto lets the provider choose the best approach.
+	ObjectModeAuto ObjectMode = "auto"
+
+	// ObjectModeJSON forces the use of native JSON mode (if supported).
+	ObjectModeJSON ObjectMode = "json"
+
+	// ObjectModeTool forces the use of tool-based approach.
+	ObjectModeTool ObjectMode = "tool"
+
+	// ObjectModeText uses text generation with schema in prompt (fallback for models without tool/JSON support).
+	ObjectModeText ObjectMode = "text"
+)
+
+// ObjectCall represents a request to generate a structured object.
+type ObjectCall struct {
+	Prompt            Prompt
+	Schema            Schema
+	SchemaName        string
+	SchemaDescription string
+
+	MaxOutputTokens  *int64
+	Temperature      *float64
+	TopP             *float64
+	TopK             *int64
+	PresencePenalty  *float64
+	FrequencyPenalty *float64
+
+	ProviderOptions ProviderOptions
+
+	RepairText schema.ObjectRepairFunc
+}
+
+// ObjectResponse represents the response from a structured object generation.
+type ObjectResponse struct {
+	Object           any
+	RawText          string
+	Usage            Usage
+	FinishReason     FinishReason
+	Warnings         []CallWarning
+	ProviderMetadata ProviderMetadata
+}
+
+// ObjectStreamPartType indicates the type of stream part.
+type ObjectStreamPartType string
+
+const (
+	// ObjectStreamPartTypeObject is emitted when a new partial object is available.
+	ObjectStreamPartTypeObject ObjectStreamPartType = "object"
+
+	// ObjectStreamPartTypeTextDelta is emitted for text deltas (if model generates text).
+	ObjectStreamPartTypeTextDelta ObjectStreamPartType = "text-delta"
+
+	// ObjectStreamPartTypeError is emitted when an error occurs.
+	ObjectStreamPartTypeError ObjectStreamPartType = "error"
+
+	// ObjectStreamPartTypeFinish is emitted when streaming completes.
+	ObjectStreamPartTypeFinish ObjectStreamPartType = "finish"
+)
+
+// ObjectStreamPart represents a single chunk in the object stream.
+type ObjectStreamPart struct {
+	Type             ObjectStreamPartType
+	Object           any
+	Delta            string
+	Error            error
+	Usage            Usage
+	FinishReason     FinishReason
+	Warnings         []CallWarning
+	ProviderMetadata ProviderMetadata
+}
+
+// ObjectStreamResponse is an iterator over ObjectStreamPart.
+type ObjectStreamResponse = iter.Seq[ObjectStreamPart]
+
+// ObjectResult is a typed result wrapper returned by GenerateObject[T].
+type ObjectResult[T any] struct {
+	Object           T
+	RawText          string
+	Usage            Usage
+	FinishReason     FinishReason
+	Warnings         []CallWarning
+	ProviderMetadata ProviderMetadata
+}
+
+// StreamObjectResult provides typed access to a streaming object generation result.
+type StreamObjectResult[T any] struct {
+	stream ObjectStreamResponse
+	ctx    context.Context
+}
+
+// NewStreamObjectResult creates a typed stream result from an untyped stream.
+func NewStreamObjectResult[T any](ctx context.Context, stream ObjectStreamResponse) *StreamObjectResult[T] {
+	return &StreamObjectResult[T]{
+		stream: stream,
+		ctx:    ctx,
+	}
+}
+
+// PartialObjectStream returns an iterator that yields progressively more complete objects.
+// Only emits when the object actually changes (deduplication).
+func (s *StreamObjectResult[T]) PartialObjectStream() iter.Seq[T] {
+	return func(yield func(T) bool) {
+		var lastObject T
+		var hasEmitted bool
+
+		for part := range s.stream {
+			if part.Type == ObjectStreamPartTypeObject && part.Object != nil {
+				var current T
+				if err := unmarshalObject(part.Object, &current); err != nil {
+					continue
+				}
+
+				if !hasEmitted || !reflect.DeepEqual(current, lastObject) {
+					if !yield(current) {
+						return
+					}
+					lastObject = current
+					hasEmitted = true
+				}
+			}
+		}
+	}
+}
+
+// TextStream returns an iterator that yields text deltas.
+// Useful if the model generates explanatory text alongside the object.
+func (s *StreamObjectResult[T]) TextStream() iter.Seq[string] {
+	return func(yield func(string) bool) {
+		for part := range s.stream {
+			if part.Type == ObjectStreamPartTypeTextDelta && part.Delta != "" {
+				if !yield(part.Delta) {
+					return
+				}
+			}
+		}
+	}
+}
+
+// FullStream returns an iterator that yields all stream parts including errors and metadata.
+func (s *StreamObjectResult[T]) FullStream() iter.Seq[ObjectStreamPart] {
+	return s.stream
+}
+
+// Object waits for the stream to complete and returns the final object.
+// Returns an error if streaming fails or no valid object was generated.
+func (s *StreamObjectResult[T]) Object() (*ObjectResult[T], error) {
+	var finalObject T
+	var usage Usage
+	var finishReason FinishReason
+	var warnings []CallWarning
+	var providerMetadata ProviderMetadata
+	var rawText string
+	var lastError error
+	hasObject := false
+
+	for part := range s.stream {
+		switch part.Type {
+		case ObjectStreamPartTypeObject:
+			if part.Object != nil {
+				if err := unmarshalObject(part.Object, &finalObject); err == nil {
+					hasObject = true
+					if jsonBytes, err := json.Marshal(part.Object); err == nil {
+						rawText = string(jsonBytes)
+					}
+				}
+			}
+
+		case ObjectStreamPartTypeError:
+			lastError = part.Error
+
+		case ObjectStreamPartTypeFinish:
+			usage = part.Usage
+			finishReason = part.FinishReason
+			if len(part.Warnings) > 0 {
+				warnings = part.Warnings
+			}
+			if len(part.ProviderMetadata) > 0 {
+				providerMetadata = part.ProviderMetadata
+			}
+		}
+	}
+
+	if lastError != nil {
+		return nil, lastError
+	}
+
+	if !hasObject {
+		return nil, &NoObjectGeneratedError{
+			RawText:      rawText,
+			ParseError:   fmt.Errorf("no valid object generated in stream"),
+			Usage:        usage,
+			FinishReason: finishReason,
+		}
+	}
+
+	return &ObjectResult[T]{
+		Object:           finalObject,
+		RawText:          rawText,
+		Usage:            usage,
+		FinishReason:     finishReason,
+		Warnings:         warnings,
+		ProviderMetadata: providerMetadata,
+	}, nil
+}
+
+func unmarshalObject(obj any, target any) error {
+	jsonBytes, err := json.Marshal(obj)
+	if err != nil {
+		return fmt.Errorf("failed to marshal object: %w", err)
+	}
+
+	if err := json.Unmarshal(jsonBytes, target); err != nil {
+		return fmt.Errorf("failed to unmarshal into target type: %w", err)
+	}
+
+	return nil
+}

object/object.go 🔗

@@ -0,0 +1,616 @@
+// Package object provides utilities for generating structured objects with automatic schema generation.
+// It simplifies working with typed structured outputs by handling schema reflection and unmarshaling.
+package object
+
+import (
+	"context"
+	"encoding/json"
+	"fmt"
+	"reflect"
+
+	"charm.land/fantasy"
+	"charm.land/fantasy/schema"
+)
+
+// Generate generates a structured object that matches the given type T.
+// The schema is automatically generated from T using reflection.
+//
+// Example:
+//
+//	type Recipe struct {
+//	    Name        string   `json:"name"`
+//	    Ingredients []string `json:"ingredients"`
+//	}
+//
+//	result, err := object.Generate[Recipe](ctx, model, fantasy.ObjectCall{
+//	    Prompt: fantasy.Prompt{fantasy.NewUserMessage("Generate a lasagna recipe")},
+//	})
+func Generate[T any](
+	ctx context.Context,
+	model fantasy.LanguageModel,
+	opts fantasy.ObjectCall,
+) (*fantasy.ObjectResult[T], error) {
+	var zero T
+	s := schema.Generate(reflect.TypeOf(zero))
+	opts.Schema = s
+
+	resp, err := model.GenerateObject(ctx, opts)
+	if err != nil {
+		return nil, err
+	}
+
+	var result T
+	if err := unmarshal(resp.Object, &result); err != nil {
+		return nil, fmt.Errorf("failed to unmarshal to %T: %w", result, err)
+	}
+
+	return &fantasy.ObjectResult[T]{
+		Object:           result,
+		RawText:          resp.RawText,
+		Usage:            resp.Usage,
+		FinishReason:     resp.FinishReason,
+		Warnings:         resp.Warnings,
+		ProviderMetadata: resp.ProviderMetadata,
+	}, nil
+}
+
+// Stream streams a structured object that matches the given type T.
+// Returns a StreamObjectResult[T] with progressive updates and deduplication.
+//
+// Example:
+//
+//	stream, err := object.Stream[Recipe](ctx, model, fantasy.ObjectCall{
+//	    Prompt: fantasy.Prompt{fantasy.NewUserMessage("Generate a lasagna recipe")},
+//	})
+//
+//	for partial := range stream.PartialObjectStream() {
+//	    fmt.Printf("Progress: %s\n", partial.Name)
+//	}
+//
+//	result, err := stream.Object()  // Wait for final result
+func Stream[T any](
+	ctx context.Context,
+	model fantasy.LanguageModel,
+	opts fantasy.ObjectCall,
+) (*fantasy.StreamObjectResult[T], error) {
+	var zero T
+	s := schema.Generate(reflect.TypeOf(zero))
+	opts.Schema = s
+
+	stream, err := model.StreamObject(ctx, opts)
+	if err != nil {
+		return nil, err
+	}
+
+	return fantasy.NewStreamObjectResult[T](ctx, stream), nil
+}
+
+// GenerateWithTool is a helper for providers without native JSON mode.
+// It converts the schema to a tool definition, forces the model to call it,
+// and extracts the tool's input as the structured output.
+func GenerateWithTool(
+	ctx context.Context,
+	model fantasy.LanguageModel,
+	call fantasy.ObjectCall,
+) (*fantasy.ObjectResponse, error) {
+	toolName := call.SchemaName
+	if toolName == "" {
+		toolName = "generate_object"
+	}
+
+	toolDescription := call.SchemaDescription
+	if toolDescription == "" {
+		toolDescription = "Generate a structured object matching the schema"
+	}
+
+	tool := fantasy.FunctionTool{
+		Name:        toolName,
+		Description: toolDescription,
+		InputSchema: schema.ToMap(call.Schema),
+	}
+
+	toolChoice := fantasy.SpecificToolChoice(tool.Name)
+	resp, err := model.Generate(ctx, fantasy.Call{
+		Prompt:           call.Prompt,
+		Tools:            []fantasy.Tool{tool},
+		ToolChoice:       &toolChoice,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		TopK:             call.TopK,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	})
+	if err != nil {
+		return nil, fmt.Errorf("tool-based generation failed: %w", err)
+	}
+
+	toolCalls := resp.Content.ToolCalls()
+	if len(toolCalls) == 0 {
+		return nil, &fantasy.NoObjectGeneratedError{
+			RawText:      resp.Content.Text(),
+			ParseError:   fmt.Errorf("no tool call generated"),
+			Usage:        resp.Usage,
+			FinishReason: resp.FinishReason,
+		}
+	}
+
+	toolCall := toolCalls[0]
+
+	var obj any
+	if call.RepairText != nil {
+		obj, err = schema.ParseAndValidateWithRepair(ctx, toolCall.Input, call.Schema, call.RepairText)
+	} else {
+		obj, err = schema.ParseAndValidate(toolCall.Input, call.Schema)
+	}
+
+	if err != nil {
+		if nogErr, ok := err.(*fantasy.NoObjectGeneratedError); ok {
+			nogErr.Usage = resp.Usage
+			nogErr.FinishReason = resp.FinishReason
+		}
+		return nil, err
+	}
+
+	return &fantasy.ObjectResponse{
+		Object:           obj,
+		RawText:          toolCall.Input,
+		Usage:            resp.Usage,
+		FinishReason:     resp.FinishReason,
+		Warnings:         resp.Warnings,
+		ProviderMetadata: resp.ProviderMetadata,
+	}, nil
+}
+
+// GenerateWithText is a helper for providers without tool or JSON mode support.
+// It adds the schema to the system prompt and parses the text response as JSON.
+// This is a fallback for older models or simple providers.
+func GenerateWithText(
+	ctx context.Context,
+	model fantasy.LanguageModel,
+	call fantasy.ObjectCall,
+) (*fantasy.ObjectResponse, error) {
+	jsonSchemaBytes, err := json.Marshal(call.Schema)
+	if err != nil {
+		return nil, fmt.Errorf("failed to marshal schema: %w", err)
+	}
+
+	schemaInstruction := fmt.Sprintf(
+		"You must respond with valid JSON that matches this schema: %s\n"+
+			"Respond ONLY with the JSON object, no additional text or explanation.",
+		string(jsonSchemaBytes),
+	)
+
+	enhancedPrompt := make(fantasy.Prompt, 0, len(call.Prompt)+1)
+
+	hasSystem := false
+	for _, msg := range call.Prompt {
+		if msg.Role == fantasy.MessageRoleSystem {
+			hasSystem = true
+			existingText := ""
+			if len(msg.Content) > 0 {
+				if textPart, ok := msg.Content[0].(fantasy.TextPart); ok {
+					existingText = textPart.Text
+				}
+			}
+			enhancedPrompt = append(enhancedPrompt, fantasy.NewSystemMessage(existingText+"\n\n"+schemaInstruction))
+		} else {
+			enhancedPrompt = append(enhancedPrompt, msg)
+		}
+	}
+
+	if !hasSystem {
+		enhancedPrompt = append(fantasy.Prompt{fantasy.NewSystemMessage(schemaInstruction)}, call.Prompt...)
+	}
+
+	resp, err := model.Generate(ctx, fantasy.Call{
+		Prompt:           enhancedPrompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		TopK:             call.TopK,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	})
+	if err != nil {
+		return nil, fmt.Errorf("text-based generation failed: %w", err)
+	}
+
+	textContent := resp.Content.Text()
+	if textContent == "" {
+		return nil, &fantasy.NoObjectGeneratedError{
+			RawText:      "",
+			ParseError:   fmt.Errorf("no text content in response"),
+			Usage:        resp.Usage,
+			FinishReason: resp.FinishReason,
+		}
+	}
+
+	var obj any
+	if call.RepairText != nil {
+		obj, err = schema.ParseAndValidateWithRepair(ctx, textContent, call.Schema, call.RepairText)
+	} else {
+		obj, err = schema.ParseAndValidate(textContent, call.Schema)
+	}
+
+	if err != nil {
+		if nogErr, ok := err.(*schema.ParseError); ok {
+			return nil, &fantasy.NoObjectGeneratedError{
+				RawText:         nogErr.RawText,
+				ParseError:      nogErr.ParseError,
+				ValidationError: nogErr.ValidationError,
+				Usage:           resp.Usage,
+				FinishReason:    resp.FinishReason,
+			}
+		}
+		return nil, err
+	}
+
+	return &fantasy.ObjectResponse{
+		Object:           obj,
+		RawText:          textContent,
+		Usage:            resp.Usage,
+		FinishReason:     resp.FinishReason,
+		Warnings:         resp.Warnings,
+		ProviderMetadata: resp.ProviderMetadata,
+	}, nil
+}
+
+// StreamWithTool is a helper for providers without native JSON streaming.
+// It uses streaming tool calls to extract and parse the structured output progressively.
+func StreamWithTool(
+	ctx context.Context,
+	model fantasy.LanguageModel,
+	call fantasy.ObjectCall,
+) (fantasy.ObjectStreamResponse, error) {
+	// Create a tool from the schema
+	toolName := call.SchemaName
+	if toolName == "" {
+		toolName = "generate_object"
+	}
+
+	toolDescription := call.SchemaDescription
+	if toolDescription == "" {
+		toolDescription = "Generate a structured object matching the schema"
+	}
+
+	tool := fantasy.FunctionTool{
+		Name:        toolName,
+		Description: toolDescription,
+		InputSchema: schema.ToMap(call.Schema),
+	}
+
+	// Make a streaming Generate call with forced tool choice
+	toolChoice := fantasy.SpecificToolChoice(tool.Name)
+	stream, err := model.Stream(ctx, fantasy.Call{
+		Prompt:           call.Prompt,
+		Tools:            []fantasy.Tool{tool},
+		ToolChoice:       &toolChoice,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		TopK:             call.TopK,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	})
+	if err != nil {
+		return nil, fmt.Errorf("tool-based streaming failed: %w", err)
+	}
+
+	// Convert the text stream to object stream parts
+	return func(yield func(fantasy.ObjectStreamPart) bool) {
+		var accumulated string
+		var lastParsedObject any
+		var usage fantasy.Usage
+		var finishReason fantasy.FinishReason
+		var warnings []fantasy.CallWarning
+		var providerMetadata fantasy.ProviderMetadata
+		var streamErr error
+
+		for part := range stream {
+			switch part.Type {
+			case fantasy.StreamPartTypeTextDelta:
+				accumulated += part.Delta
+
+				obj, state, parseErr := schema.ParsePartialJSON(accumulated)
+
+				if state == schema.ParseStateSuccessful || state == schema.ParseStateRepaired {
+					if err := schema.ValidateAgainstSchema(obj, call.Schema); err == nil {
+						if !reflect.DeepEqual(obj, lastParsedObject) {
+							if !yield(fantasy.ObjectStreamPart{
+								Type:   fantasy.ObjectStreamPartTypeObject,
+								Object: obj,
+							}) {
+								return
+							}
+							lastParsedObject = obj
+						}
+					}
+				}
+
+				if state == schema.ParseStateFailed && call.RepairText != nil {
+					repairedText, repairErr := call.RepairText(ctx, accumulated, parseErr)
+					if repairErr == nil {
+						obj2, state2, _ := schema.ParsePartialJSON(repairedText)
+						if (state2 == schema.ParseStateSuccessful || state2 == schema.ParseStateRepaired) &&
+							schema.ValidateAgainstSchema(obj2, call.Schema) == nil {
+							if !reflect.DeepEqual(obj2, lastParsedObject) {
+								if !yield(fantasy.ObjectStreamPart{
+									Type:   fantasy.ObjectStreamPartTypeObject,
+									Object: obj2,
+								}) {
+									return
+								}
+								lastParsedObject = obj2
+							}
+						}
+					}
+				}
+
+			case fantasy.StreamPartTypeToolInputDelta:
+				accumulated += part.Delta
+
+				obj, state, parseErr := schema.ParsePartialJSON(accumulated)
+				if state == schema.ParseStateSuccessful || state == schema.ParseStateRepaired {
+					if err := schema.ValidateAgainstSchema(obj, call.Schema); err == nil {
+						if !reflect.DeepEqual(obj, lastParsedObject) {
+							if !yield(fantasy.ObjectStreamPart{
+								Type:   fantasy.ObjectStreamPartTypeObject,
+								Object: obj,
+							}) {
+								return
+							}
+							lastParsedObject = obj
+						}
+					}
+				}
+
+				if state == schema.ParseStateFailed && call.RepairText != nil {
+					repairedText, repairErr := call.RepairText(ctx, accumulated, parseErr)
+					if repairErr == nil {
+						obj2, state2, _ := schema.ParsePartialJSON(repairedText)
+						if (state2 == schema.ParseStateSuccessful || state2 == schema.ParseStateRepaired) &&
+							schema.ValidateAgainstSchema(obj2, call.Schema) == nil {
+							if !reflect.DeepEqual(obj2, lastParsedObject) {
+								if !yield(fantasy.ObjectStreamPart{
+									Type:   fantasy.ObjectStreamPartTypeObject,
+									Object: obj2,
+								}) {
+									return
+								}
+								lastParsedObject = obj2
+							}
+						}
+					}
+				}
+
+			case fantasy.StreamPartTypeToolCall:
+				toolInput := part.ToolCallInput
+
+				var obj any
+				var err error
+				if call.RepairText != nil {
+					obj, err = schema.ParseAndValidateWithRepair(ctx, toolInput, call.Schema, call.RepairText)
+				} else {
+					obj, err = schema.ParseAndValidate(toolInput, call.Schema)
+				}
+
+				if err == nil {
+					if !reflect.DeepEqual(obj, lastParsedObject) {
+						if !yield(fantasy.ObjectStreamPart{
+							Type:   fantasy.ObjectStreamPartTypeObject,
+							Object: obj,
+						}) {
+							return
+						}
+						lastParsedObject = obj
+					}
+				}
+
+			case fantasy.StreamPartTypeError:
+				streamErr = part.Error
+				if !yield(fantasy.ObjectStreamPart{
+					Type:  fantasy.ObjectStreamPartTypeError,
+					Error: part.Error,
+				}) {
+					return
+				}
+
+			case fantasy.StreamPartTypeFinish:
+				usage = part.Usage
+				finishReason = part.FinishReason
+
+			case fantasy.StreamPartTypeWarnings:
+				warnings = part.Warnings
+			}
+
+			if len(part.ProviderMetadata) > 0 {
+				providerMetadata = part.ProviderMetadata
+			}
+		}
+
+		if streamErr == nil && lastParsedObject != nil {
+			yield(fantasy.ObjectStreamPart{
+				Type:             fantasy.ObjectStreamPartTypeFinish,
+				Usage:            usage,
+				FinishReason:     finishReason,
+				Warnings:         warnings,
+				ProviderMetadata: providerMetadata,
+			})
+		} else if streamErr == nil && lastParsedObject == nil {
+			yield(fantasy.ObjectStreamPart{
+				Type: fantasy.ObjectStreamPartTypeError,
+				Error: &fantasy.NoObjectGeneratedError{
+					RawText:      accumulated,
+					ParseError:   fmt.Errorf("no valid object generated in stream"),
+					Usage:        usage,
+					FinishReason: finishReason,
+				},
+			})
+		}
+	}, nil
+}
+
+// StreamWithText is a helper for providers without tool or JSON streaming support.
+// It adds the schema to the system prompt and parses the streamed text as JSON progressively.
+func StreamWithText(
+	ctx context.Context,
+	model fantasy.LanguageModel,
+	call fantasy.ObjectCall,
+) (fantasy.ObjectStreamResponse, error) {
+	jsonSchemaMap := schema.ToMap(call.Schema)
+	jsonSchemaBytes, err := json.Marshal(jsonSchemaMap)
+	if err != nil {
+		return nil, fmt.Errorf("failed to marshal schema: %w", err)
+	}
+
+	schemaInstruction := fmt.Sprintf(
+		"You must respond with valid JSON that matches this schema: %s\n"+
+			"Respond ONLY with the JSON object, no additional text or explanation.",
+		string(jsonSchemaBytes),
+	)
+
+	enhancedPrompt := make(fantasy.Prompt, 0, len(call.Prompt)+1)
+
+	hasSystem := false
+	for _, msg := range call.Prompt {
+		if msg.Role == fantasy.MessageRoleSystem {
+			hasSystem = true
+			existingText := ""
+			if len(msg.Content) > 0 {
+				if textPart, ok := msg.Content[0].(fantasy.TextPart); ok {
+					existingText = textPart.Text
+				}
+			}
+			enhancedPrompt = append(enhancedPrompt, fantasy.NewSystemMessage(existingText+"\n\n"+schemaInstruction))
+		} else {
+			enhancedPrompt = append(enhancedPrompt, msg)
+		}
+	}
+
+	if !hasSystem {
+		enhancedPrompt = append(fantasy.Prompt{fantasy.NewSystemMessage(schemaInstruction)}, call.Prompt...)
+	}
+
+	stream, err := model.Stream(ctx, fantasy.Call{
+		Prompt:           enhancedPrompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		TopK:             call.TopK,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	})
+	if err != nil {
+		return nil, fmt.Errorf("text-based streaming failed: %w", err)
+	}
+
+	return func(yield func(fantasy.ObjectStreamPart) bool) {
+		var accumulated string
+		var lastParsedObject any
+		var usage fantasy.Usage
+		var finishReason fantasy.FinishReason
+		var warnings []fantasy.CallWarning
+		var providerMetadata fantasy.ProviderMetadata
+		var streamErr error
+
+		for part := range stream {
+			switch part.Type {
+			case fantasy.StreamPartTypeTextDelta:
+				accumulated += part.Delta
+
+				obj, state, parseErr := schema.ParsePartialJSON(accumulated)
+
+				if state == schema.ParseStateSuccessful || state == schema.ParseStateRepaired {
+					if err := schema.ValidateAgainstSchema(obj, call.Schema); err == nil {
+						if !reflect.DeepEqual(obj, lastParsedObject) {
+							if !yield(fantasy.ObjectStreamPart{
+								Type:   fantasy.ObjectStreamPartTypeObject,
+								Object: obj,
+							}) {
+								return
+							}
+							lastParsedObject = obj
+						}
+					}
+				}
+
+				if state == schema.ParseStateFailed && call.RepairText != nil {
+					repairedText, repairErr := call.RepairText(ctx, accumulated, parseErr)
+					if repairErr == nil {
+						obj2, state2, _ := schema.ParsePartialJSON(repairedText)
+						if (state2 == schema.ParseStateSuccessful || state2 == schema.ParseStateRepaired) &&
+							schema.ValidateAgainstSchema(obj2, call.Schema) == nil {
+							if !reflect.DeepEqual(obj2, lastParsedObject) {
+								if !yield(fantasy.ObjectStreamPart{
+									Type:   fantasy.ObjectStreamPartTypeObject,
+									Object: obj2,
+								}) {
+									return
+								}
+								lastParsedObject = obj2
+							}
+						}
+					}
+				}
+
+			case fantasy.StreamPartTypeError:
+				streamErr = part.Error
+				if !yield(fantasy.ObjectStreamPart{
+					Type:  fantasy.ObjectStreamPartTypeError,
+					Error: part.Error,
+				}) {
+					return
+				}
+
+			case fantasy.StreamPartTypeFinish:
+				usage = part.Usage
+				finishReason = part.FinishReason
+
+			case fantasy.StreamPartTypeWarnings:
+				warnings = part.Warnings
+			}
+
+			if len(part.ProviderMetadata) > 0 {
+				providerMetadata = part.ProviderMetadata
+			}
+		}
+
+		if streamErr == nil && lastParsedObject != nil {
+			yield(fantasy.ObjectStreamPart{
+				Type:             fantasy.ObjectStreamPartTypeFinish,
+				Usage:            usage,
+				FinishReason:     finishReason,
+				Warnings:         warnings,
+				ProviderMetadata: providerMetadata,
+			})
+		} else if streamErr == nil && lastParsedObject == nil {
+			yield(fantasy.ObjectStreamPart{
+				Type: fantasy.ObjectStreamPartTypeError,
+				Error: &fantasy.NoObjectGeneratedError{
+					RawText:      accumulated,
+					ParseError:   fmt.Errorf("no valid object generated in stream"),
+					Usage:        usage,
+					FinishReason: finishReason,
+				},
+			})
+		}
+	}, nil
+}
+
+func unmarshal(obj any, target any) error {
+	jsonBytes, err := json.Marshal(obj)
+	if err != nil {
+		return fmt.Errorf("failed to marshal object: %w", err)
+	}
+
+	if err := json.Unmarshal(jsonBytes, target); err != nil {
+		return fmt.Errorf("failed to unmarshal into target type: %w", err)
+	}
+
+	return nil
+}

provider_registry.go 🔗

@@ -0,0 +1,106 @@
+package fantasy
+
+import (
+	"encoding/json"
+	"fmt"
+	"sync"
+)
+
+// providerDataJSON is the serialized wrapper used by the registry.
+type providerDataJSON struct {
+	Type string          `json:"type"`
+	Data json.RawMessage `json:"data"`
+}
+
+// UnmarshalFunc converts raw JSON into a ProviderOptionsData implementation.
+type UnmarshalFunc func([]byte) (ProviderOptionsData, error)
+
+// providerRegistry uses sync.Map for lock-free reads after initialization.
+// All registrations happen in init() functions before concurrent access.
+var providerRegistry sync.Map
+
+// RegisterProviderType registers a provider type ID with its unmarshal function.
+// Type IDs must be globally unique (e.g. "openai.options").
+// This should only be called during package initialization (init functions).
+func RegisterProviderType(typeID string, unmarshalFn UnmarshalFunc) {
+	providerRegistry.Store(typeID, unmarshalFn)
+}
+
+// unmarshalProviderData routes a typed payload to the correct constructor.
+func unmarshalProviderData(data []byte) (ProviderOptionsData, error) {
+	var pj providerDataJSON
+	if err := json.Unmarshal(data, &pj); err != nil {
+		return nil, err
+	}
+
+	val, exists := providerRegistry.Load(pj.Type)
+	if !exists {
+		return nil, fmt.Errorf("unknown provider data type: %s", pj.Type)
+	}
+
+	unmarshalFn := val.(UnmarshalFunc)
+	return unmarshalFn(pj.Data)
+}
+
+// unmarshalProviderDataMap is a helper for unmarshaling maps of provider data.
+func unmarshalProviderDataMap(data map[string]json.RawMessage) (map[string]ProviderOptionsData, error) {
+	result := make(map[string]ProviderOptionsData)
+	for provider, rawData := range data {
+		providerData, err := unmarshalProviderData(rawData)
+		if err != nil {
+			return nil, fmt.Errorf("failed to unmarshal provider data for %s: %w", provider, err)
+		}
+		result[provider] = providerData
+	}
+	return result, nil
+}
+
+// UnmarshalProviderOptions unmarshals a map of provider options by type.
+func UnmarshalProviderOptions(data map[string]json.RawMessage) (ProviderOptions, error) {
+	return unmarshalProviderDataMap(data)
+}
+
+// UnmarshalProviderMetadata unmarshals a map of provider metadata by type.
+func UnmarshalProviderMetadata(data map[string]json.RawMessage) (ProviderMetadata, error) {
+	return unmarshalProviderDataMap(data)
+}
+
+// MarshalProviderType marshals provider data with a type wrapper using generics.
+// To avoid infinite recursion, use the "type plain T" pattern before calling this.
+//
+// Usage in provider types:
+//
+//	func (o ProviderOptions) MarshalJSON() ([]byte, error) {
+//	    type plain ProviderOptions
+//	    return fantasy.MarshalProviderType(TypeProviderOptions, plain(o))
+//	}
+func MarshalProviderType[T any](typeID string, data T) ([]byte, error) {
+	rawData, err := json.Marshal(data)
+	if err != nil {
+		return nil, err
+	}
+
+	return json.Marshal(providerDataJSON{
+		Type: typeID,
+		Data: json.RawMessage(rawData),
+	})
+}
+
+// UnmarshalProviderType unmarshals provider data without type wrapper using generics.
+// To avoid infinite recursion, unmarshal to a plain type first.
+// Note: This receives the inner 'data' field after type routing by the registry.
+//
+// Usage in provider types:
+//
+//	func (o *ProviderOptions) UnmarshalJSON(data []byte) error {
+//	    type plain ProviderOptions
+//	    var p plain
+//	    if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+//	        return err
+//	    }
+//	    *o = ProviderOptions(p)
+//	    return nil
+//	}
+func UnmarshalProviderType[T any](data []byte, target *T) error {
+	return json.Unmarshal(data, target)
+}

providers/anthropic/anthropic.go 🔗

@@ -13,6 +13,7 @@ import (
 	"strings"
 
 	"charm.land/fantasy"
+	"charm.land/fantasy/object"
 	"github.com/charmbracelet/anthropic-sdk-go"
 	"github.com/charmbracelet/anthropic-sdk-go/bedrock"
 	"github.com/charmbracelet/anthropic-sdk-go/option"
@@ -40,6 +41,8 @@ type options struct {
 	skipAuth       bool
 
 	useBedrock bool
+
+	objectMode fantasy.ObjectMode
 }
 
 type provider struct {
@@ -52,7 +55,8 @@ type Option = func(*options)
 // New creates a new Anthropic provider with the given options.
 func New(opts ...Option) (fantasy.Provider, error) {
 	providerOptions := options{
-		headers: map[string]string{},
+		headers:    map[string]string{},
+		objectMode: fantasy.ObjectModeAuto,
 	}
 	for _, o := range opts {
 		o(&providerOptions)
@@ -120,6 +124,17 @@ func WithHTTPClient(client option.HTTPClient) Option {
 	}
 }
 
+// WithObjectMode sets the object generation mode.
+func WithObjectMode(om fantasy.ObjectMode) Option {
+	return func(o *options) {
+		// not supported
+		if om == fantasy.ObjectModeJSON {
+			om = fantasy.ObjectModeAuto
+		}
+		o.objectMode = om
+	}
+}
+
 func (a *provider) LanguageModel(ctx context.Context, modelID string) (fantasy.LanguageModel, error) {
 	clientOptions := make([]option.RequestOption, 0, 5+len(a.options.headers))
 	clientOptions = append(clientOptions, option.WithMaxRetries(0))
@@ -952,3 +967,23 @@ func (a languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.S
 		}
 	}, nil
 }
+
+// GenerateObject implements fantasy.LanguageModel.
+func (a languageModel) GenerateObject(ctx context.Context, call fantasy.ObjectCall) (*fantasy.ObjectResponse, error) {
+	switch a.options.objectMode {
+	case fantasy.ObjectModeText:
+		return object.GenerateWithText(ctx, a, call)
+	default:
+		return object.GenerateWithTool(ctx, a, call)
+	}
+}
+
+// StreamObject implements fantasy.LanguageModel.
+func (a languageModel) StreamObject(ctx context.Context, call fantasy.ObjectCall) (fantasy.ObjectStreamResponse, error) {
+	switch a.options.objectMode {
+	case fantasy.ObjectModeText:
+		return object.StreamWithText(ctx, a, call)
+	default:
+		return object.StreamWithTool(ctx, a, call)
+	}
+}

providers/anthropic/provider_options.go 🔗

@@ -1,7 +1,43 @@
 // Package anthropic provides an implementation of the fantasy AI SDK for Anthropic's language models.
 package anthropic
 
-import "charm.land/fantasy"
+import (
+	"encoding/json"
+
+	"charm.land/fantasy"
+)
+
+// Global type identifiers for Anthropic-specific provider data.
+const (
+	TypeProviderOptions         = Name + ".options"
+	TypeReasoningOptionMetadata = Name + ".reasoning_metadata"
+	TypeProviderCacheControl    = Name + ".cache_control_options"
+)
+
+// Register Anthropic provider-specific types with the global registry.
+func init() {
+	fantasy.RegisterProviderType(TypeProviderOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+	fantasy.RegisterProviderType(TypeReasoningOptionMetadata, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ReasoningOptionMetadata
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+	fantasy.RegisterProviderType(TypeProviderCacheControl, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderCacheControlOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+}
 
 // ProviderOptions represents additional options for the Anthropic provider.
 type ProviderOptions struct {
@@ -13,6 +49,23 @@ type ProviderOptions struct {
 // Options implements the ProviderOptions interface.
 func (o *ProviderOptions) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderOptions.
+func (o ProviderOptions) MarshalJSON() ([]byte, error) {
+	type plain ProviderOptions
+	return fantasy.MarshalProviderType(TypeProviderOptions, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderOptions.
+func (o *ProviderOptions) UnmarshalJSON(data []byte) error {
+	type plain ProviderOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ProviderOptions(p)
+	return nil
+}
+
 // ThinkingProviderOption represents thinking options for the Anthropic provider.
 type ThinkingProviderOption struct {
 	BudgetTokens int64 `json:"budget_tokens"`
@@ -27,6 +80,23 @@ type ReasoningOptionMetadata struct {
 // Options implements the ProviderOptions interface.
 func (*ReasoningOptionMetadata) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ReasoningOptionMetadata.
+func (m ReasoningOptionMetadata) MarshalJSON() ([]byte, error) {
+	type plain ReasoningOptionMetadata
+	return fantasy.MarshalProviderType(TypeReasoningOptionMetadata, plain(m))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ReasoningOptionMetadata.
+func (m *ReasoningOptionMetadata) UnmarshalJSON(data []byte) error {
+	type plain ReasoningOptionMetadata
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*m = ReasoningOptionMetadata(p)
+	return nil
+}
+
 // ProviderCacheControlOptions represents cache control options for the Anthropic provider.
 type ProviderCacheControlOptions struct {
 	CacheControl CacheControl `json:"cache_control"`
@@ -35,6 +105,23 @@ type ProviderCacheControlOptions struct {
 // Options implements the ProviderOptions interface.
 func (*ProviderCacheControlOptions) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderCacheControlOptions.
+func (o ProviderCacheControlOptions) MarshalJSON() ([]byte, error) {
+	type plain ProviderCacheControlOptions
+	return fantasy.MarshalProviderType(TypeProviderCacheControl, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderCacheControlOptions.
+func (o *ProviderCacheControlOptions) UnmarshalJSON(data []byte) error {
+	type plain ProviderCacheControlOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ProviderCacheControlOptions(p)
+	return nil
+}
+
 // CacheControl represents cache control settings for the Anthropic provider.
 type CacheControl struct {
 	Type string `json:"type"`

providers/google/google.go 🔗

@@ -8,10 +8,13 @@ import (
 	"fmt"
 	"maps"
 	"net/http"
+	"reflect"
 	"strings"
 
 	"charm.land/fantasy"
+	"charm.land/fantasy/object"
 	"charm.land/fantasy/providers/anthropic"
+	"charm.land/fantasy/schema"
 	"cloud.google.com/go/auth"
 	"github.com/charmbracelet/x/exp/slice"
 	"github.com/google/uuid"
@@ -39,6 +42,7 @@ type options struct {
 	location       string
 	skipAuth       bool
 	toolCallIDFunc ToolCallIDFunc
+	objectMode     fantasy.ObjectMode
 }
 
 // Option defines a function that configures Google provider options.
@@ -128,6 +132,13 @@ func WithToolCallIDFunc(f ToolCallIDFunc) Option {
 	}
 }
 
+// WithObjectMode sets the object generation mode for the Google provider.
+func WithObjectMode(om fantasy.ObjectMode) Option {
+	return func(o *options) {
+		o.objectMode = om
+	}
+}
+
 func (*provider) Name() string {
 	return Name
 }
@@ -137,6 +148,7 @@ type languageModel struct {
 	modelID         string
 	client          *genai.Client
 	providerOptions options
+	objectMode      fantasy.ObjectMode
 }
 
 // LanguageModel implements fantasy.Provider.
@@ -182,11 +194,18 @@ func (a *provider) LanguageModel(ctx context.Context, modelID string) (fantasy.L
 	if err != nil {
 		return nil, err
 	}
+
+	objectMode := a.options.objectMode
+	if objectMode == "" {
+		objectMode = fantasy.ObjectModeAuto
+	}
+
 	return &languageModel{
 		modelID:         modelID,
 		provider:        a.options.name,
 		providerOptions: a.options,
 		client:          client,
+		objectMode:      objectMode,
 	}, nil
 }
 
@@ -739,7 +758,8 @@ func (g *languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.
 				}
 			}
 
-			if resp.UsageMetadata != nil {
+			// we need to make sure that there is actual tokendata
+			if resp.UsageMetadata != nil && resp.UsageMetadata.TotalTokenCount != 0 {
 				currentUsage := mapUsage(resp.UsageMetadata)
 				// if first usage chunk
 				if usage == nil {
@@ -789,6 +809,268 @@ func (g *languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.
 	}, nil
 }
 
+// GenerateObject implements fantasy.LanguageModel.
+func (g *languageModel) GenerateObject(ctx context.Context, call fantasy.ObjectCall) (*fantasy.ObjectResponse, error) {
+	switch g.objectMode {
+	case fantasy.ObjectModeText:
+		return object.GenerateWithText(ctx, g, call)
+	case fantasy.ObjectModeTool:
+		return object.GenerateWithTool(ctx, g, call)
+	default:
+		return g.generateObjectWithJSONMode(ctx, call)
+	}
+}
+
+// StreamObject implements fantasy.LanguageModel.
+func (g *languageModel) StreamObject(ctx context.Context, call fantasy.ObjectCall) (fantasy.ObjectStreamResponse, error) {
+	switch g.objectMode {
+	case fantasy.ObjectModeTool:
+		return object.StreamWithTool(ctx, g, call)
+	case fantasy.ObjectModeText:
+		return object.StreamWithText(ctx, g, call)
+	default:
+		return g.streamObjectWithJSONMode(ctx, call)
+	}
+}
+
+func (g *languageModel) generateObjectWithJSONMode(ctx context.Context, call fantasy.ObjectCall) (*fantasy.ObjectResponse, error) {
+	// Convert our Schema to Google's JSON Schema format
+	jsonSchemaMap := schema.ToMap(call.Schema)
+
+	// Build request using prepareParams
+	fantasyCall := fantasy.Call{
+		Prompt:           call.Prompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		TopK:             call.TopK,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	}
+
+	config, contents, warnings, err := g.prepareParams(fantasyCall)
+	if err != nil {
+		return nil, err
+	}
+
+	// Set ResponseMIMEType and ResponseJsonSchema for structured output
+	config.ResponseMIMEType = "application/json"
+	config.ResponseJsonSchema = jsonSchemaMap
+
+	lastMessage, history, ok := slice.Pop(contents)
+	if !ok {
+		return nil, errors.New("no messages to send")
+	}
+
+	chat, err := g.client.Chats.Create(ctx, g.modelID, config, history)
+	if err != nil {
+		return nil, err
+	}
+
+	response, err := chat.SendMessage(ctx, depointerSlice(lastMessage.Parts)...)
+	if err != nil {
+		return nil, toProviderErr(err)
+	}
+
+	mappedResponse, err := g.mapResponse(response, warnings)
+	if err != nil {
+		return nil, err
+	}
+
+	jsonText := mappedResponse.Content.Text()
+	if jsonText == "" {
+		return nil, &fantasy.NoObjectGeneratedError{
+			RawText:      "",
+			ParseError:   fmt.Errorf("no text content in response"),
+			Usage:        mappedResponse.Usage,
+			FinishReason: mappedResponse.FinishReason,
+		}
+	}
+
+	// Parse and validate
+	var obj any
+	if call.RepairText != nil {
+		obj, err = schema.ParseAndValidateWithRepair(ctx, jsonText, call.Schema, call.RepairText)
+	} else {
+		obj, err = schema.ParseAndValidate(jsonText, call.Schema)
+	}
+
+	if err != nil {
+		// Add usage info to error
+		if nogErr, ok := err.(*fantasy.NoObjectGeneratedError); ok {
+			nogErr.Usage = mappedResponse.Usage
+			nogErr.FinishReason = mappedResponse.FinishReason
+		}
+		return nil, err
+	}
+
+	return &fantasy.ObjectResponse{
+		Object:           obj,
+		RawText:          jsonText,
+		Usage:            mappedResponse.Usage,
+		FinishReason:     mappedResponse.FinishReason,
+		Warnings:         warnings,
+		ProviderMetadata: mappedResponse.ProviderMetadata,
+	}, nil
+}
+
+func (g *languageModel) streamObjectWithJSONMode(ctx context.Context, call fantasy.ObjectCall) (fantasy.ObjectStreamResponse, error) {
+	// Convert our Schema to Google's JSON Schema format
+	jsonSchemaMap := schema.ToMap(call.Schema)
+
+	// Build request using prepareParams
+	fantasyCall := fantasy.Call{
+		Prompt:           call.Prompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		TopK:             call.TopK,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	}
+
+	config, contents, warnings, err := g.prepareParams(fantasyCall)
+	if err != nil {
+		return nil, err
+	}
+
+	// Set ResponseMIMEType and ResponseJsonSchema for structured output
+	config.ResponseMIMEType = "application/json"
+	config.ResponseJsonSchema = jsonSchemaMap
+
+	lastMessage, history, ok := slice.Pop(contents)
+	if !ok {
+		return nil, errors.New("no messages to send")
+	}
+
+	chat, err := g.client.Chats.Create(ctx, g.modelID, config, history)
+	if err != nil {
+		return nil, err
+	}
+
+	return func(yield func(fantasy.ObjectStreamPart) bool) {
+		if len(warnings) > 0 {
+			if !yield(fantasy.ObjectStreamPart{
+				Type:     fantasy.ObjectStreamPartTypeObject,
+				Warnings: warnings,
+			}) {
+				return
+			}
+		}
+
+		var accumulated string
+		var lastParsedObject any
+		var usage *fantasy.Usage
+		var lastFinishReason fantasy.FinishReason
+		var streamErr error
+
+		for resp, err := range chat.SendMessageStream(ctx, depointerSlice(lastMessage.Parts)...) {
+			if err != nil {
+				streamErr = toProviderErr(err)
+				yield(fantasy.ObjectStreamPart{
+					Type:  fantasy.ObjectStreamPartTypeError,
+					Error: streamErr,
+				})
+				return
+			}
+
+			if len(resp.Candidates) > 0 && resp.Candidates[0].Content != nil {
+				for _, part := range resp.Candidates[0].Content.Parts {
+					if part.Text != "" && !part.Thought {
+						accumulated += part.Text
+
+						// Try to parse the accumulated text
+						obj, state, parseErr := schema.ParsePartialJSON(accumulated)
+
+						// If we successfully parsed, validate and emit
+						if state == schema.ParseStateSuccessful || state == schema.ParseStateRepaired {
+							if err := schema.ValidateAgainstSchema(obj, call.Schema); err == nil {
+								// Only emit if object is different from last
+								if !reflect.DeepEqual(obj, lastParsedObject) {
+									if !yield(fantasy.ObjectStreamPart{
+										Type:   fantasy.ObjectStreamPartTypeObject,
+										Object: obj,
+									}) {
+										return
+									}
+									lastParsedObject = obj
+								}
+							}
+						}
+
+						// If parsing failed and we have a repair function, try it
+						if state == schema.ParseStateFailed && call.RepairText != nil {
+							repairedText, repairErr := call.RepairText(ctx, accumulated, parseErr)
+							if repairErr == nil {
+								obj2, state2, _ := schema.ParsePartialJSON(repairedText)
+								if (state2 == schema.ParseStateSuccessful || state2 == schema.ParseStateRepaired) &&
+									schema.ValidateAgainstSchema(obj2, call.Schema) == nil {
+									if !reflect.DeepEqual(obj2, lastParsedObject) {
+										if !yield(fantasy.ObjectStreamPart{
+											Type:   fantasy.ObjectStreamPartTypeObject,
+											Object: obj2,
+										}) {
+											return
+										}
+										lastParsedObject = obj2
+									}
+								}
+							}
+						}
+					}
+				}
+			}
+
+			// we need to make sure that there is actual tokendata
+			if resp.UsageMetadata != nil && resp.UsageMetadata.TotalTokenCount != 0 {
+				currentUsage := mapUsage(resp.UsageMetadata)
+				if usage == nil {
+					usage = &currentUsage
+				} else {
+					usage.OutputTokens += currentUsage.OutputTokens
+					usage.ReasoningTokens += currentUsage.ReasoningTokens
+					usage.CacheReadTokens += currentUsage.CacheReadTokens
+				}
+			}
+
+			if len(resp.Candidates) > 0 && resp.Candidates[0].FinishReason != "" {
+				lastFinishReason = mapFinishReason(resp.Candidates[0].FinishReason)
+			}
+		}
+
+		// Final validation and emit
+		if streamErr == nil && lastParsedObject != nil {
+			finishReason := lastFinishReason
+			if finishReason == "" {
+				finishReason = fantasy.FinishReasonStop
+			}
+
+			yield(fantasy.ObjectStreamPart{
+				Type:         fantasy.ObjectStreamPartTypeFinish,
+				Usage:        *usage,
+				FinishReason: finishReason,
+			})
+		} else if streamErr == nil && lastParsedObject == nil {
+			// No object was generated
+			finalUsage := fantasy.Usage{}
+			if usage != nil {
+				finalUsage = *usage
+			}
+			yield(fantasy.ObjectStreamPart{
+				Type: fantasy.ObjectStreamPartTypeError,
+				Error: &fantasy.NoObjectGeneratedError{
+					RawText:      accumulated,
+					ParseError:   fmt.Errorf("no valid object generated in stream"),
+					Usage:        finalUsage,
+					FinishReason: lastFinishReason,
+				},
+			})
+		}
+	}, nil
+}
+
 func toGoogleTools(tools []fantasy.Tool, toolChoice *fantasy.ToolChoice) (googleTools []*genai.FunctionDeclaration, googleToolChoice *genai.ToolConfig, warnings []fantasy.CallWarning) {
 	for _, tool := range tools {
 		if tool.GetType() == fantasy.ToolTypeFunction {

providers/google/provider_options.go 🔗

@@ -1,7 +1,35 @@
 // Package google provides an implementation of the fantasy AI SDK for Google's language models.
 package google
 
-import "charm.land/fantasy"
+import (
+	"encoding/json"
+
+	"charm.land/fantasy"
+)
+
+// Global type identifiers for Google-specific provider data.
+const (
+	TypeProviderOptions   = Name + ".options"
+	TypeReasoningMetadata = Name + ".reasoning_metadata"
+)
+
+// Register Google provider-specific types with the global registry.
+func init() {
+	fantasy.RegisterProviderType(TypeProviderOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+	fantasy.RegisterProviderType(TypeReasoningMetadata, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ReasoningMetadata
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+}
 
 // ThinkingConfig represents thinking configuration for the Google provider.
 type ThinkingConfig struct {
@@ -17,6 +45,23 @@ type ReasoningMetadata struct {
 // Options implements the ProviderOptionsData interface for ReasoningMetadata.
 func (m *ReasoningMetadata) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ReasoningMetadata.
+func (m ReasoningMetadata) MarshalJSON() ([]byte, error) {
+	type plain ReasoningMetadata
+	return fantasy.MarshalProviderType(TypeReasoningMetadata, plain(m))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ReasoningMetadata.
+func (m *ReasoningMetadata) UnmarshalJSON(data []byte) error {
+	type plain ReasoningMetadata
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*m = ReasoningMetadata(p)
+	return nil
+}
+
 // SafetySetting represents safety settings for the Google provider.
 type SafetySetting struct {
 	// 'HARM_CATEGORY_UNSPECIFIED',
@@ -59,6 +104,23 @@ type ProviderOptions struct {
 // Options implements the ProviderOptionsData interface for ProviderOptions.
 func (o *ProviderOptions) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderOptions.
+func (o ProviderOptions) MarshalJSON() ([]byte, error) {
+	type plain ProviderOptions
+	return fantasy.MarshalProviderType(TypeProviderOptions, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderOptions.
+func (o *ProviderOptions) UnmarshalJSON(data []byte) error {
+	type plain ProviderOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ProviderOptions(p)
+	return nil
+}
+
 // ParseOptions parses provider options from a map for the Google provider.
 func ParseOptions(data map[string]any) (*ProviderOptions, error) {
 	var options ProviderOptions

providers/openai/language_model.go 🔗

@@ -4,10 +4,14 @@ import (
 	"context"
 	"encoding/json"
 	"errors"
+	"fmt"
 	"io"
+	"reflect"
 	"strings"
 
 	"charm.land/fantasy"
+	"charm.land/fantasy/object"
+	"charm.land/fantasy/schema"
 	xjson "github.com/charmbracelet/x/json"
 	"github.com/google/uuid"
 	"github.com/openai/openai-go/v2"
@@ -19,6 +23,7 @@ type languageModel struct {
 	provider                   string
 	modelID                    string
 	client                     openai.Client
+	objectMode                 fantasy.ObjectMode
 	prepareCallFunc            LanguageModelPrepareCallFunc
 	mapFinishReasonFunc        LanguageModelMapFinishReasonFunc
 	extraContentFunc           LanguageModelExtraContentFunc
@@ -81,11 +86,23 @@ func WithLanguageModelToPromptFunc(fn LanguageModelToPromptFunc) LanguageModelOp
 	}
 }
 
+// WithLanguageModelObjectMode sets the object generation mode.
+func WithLanguageModelObjectMode(om fantasy.ObjectMode) LanguageModelOption {
+	return func(l *languageModel) {
+		// not supported
+		if om == fantasy.ObjectModeJSON {
+			om = fantasy.ObjectModeAuto
+		}
+		l.objectMode = om
+	}
+}
+
 func newLanguageModel(modelID string, provider string, client openai.Client, opts ...LanguageModelOption) languageModel {
 	model := languageModel{
 		modelID:                    modelID,
 		provider:                   provider,
 		client:                     client,
+		objectMode:                 fantasy.ObjectModeAuto,
 		prepareCallFunc:            DefaultPrepareCallFunc,
 		mapFinishReasonFunc:        DefaultMapFinishReasonFunc,
 		usageFunc:                  DefaultUsageFunc,
@@ -252,13 +269,12 @@ func (o languageModel) Generate(ctx context.Context, call fantasy.Call) (*fantas
 	for _, tc := range choice.Message.ToolCalls {
 		toolCallID := tc.ID
 		content = append(content, fantasy.ToolCallContent{
-			ProviderExecuted: false, // TODO: update when handling other tools
+			ProviderExecuted: false,
 			ToolCallID:       toolCallID,
 			ToolName:         tc.Function.Name,
 			Input:            tc.Function.Arguments,
 		})
 	}
-	// Handle annotations/citations
 	for _, annotation := range choice.Message.Annotations {
 		if annotation.Type == "url_citation" {
 			content = append(content, fantasy.SourceContent{
@@ -302,7 +318,6 @@ func (o languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.S
 	isActiveText := false
 	toolCalls := make(map[int64]streamToolCall)
 
-	// Build provider metadata for streaming
 	providerMetadata := fantasy.ProviderMetadata{
 		Name: &ProviderMetadata{},
 	}
@@ -395,7 +410,6 @@ func (o languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.S
 								toolCalls[toolCallDelta.Index] = existingToolCall
 							}
 						} else {
-							// Does not exist
 							var err error
 							if toolCallDelta.Type != "function" {
 								err = &fantasy.Error{Title: "invalid provider response", Message: "expected 'function' type."}
@@ -470,7 +484,6 @@ func (o languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.S
 				}
 			}
 
-			// Check for annotations in the delta's raw JSON
 			for _, choice := range chunk.Choices {
 				if annotations := parseAnnotationsFromDelta(choice.Delta); len(annotations) > 0 {
 					for _, annotation := range annotations {
@@ -491,7 +504,6 @@ func (o languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.S
 		}
 		err := stream.Err()
 		if err == nil || errors.Is(err, io.EOF) {
-			// finished
 			if isActiveText {
 				isActiveText = false
 				if !yield(fantasy.StreamPart{
@@ -504,10 +516,8 @@ func (o languageModel) Stream(ctx context.Context, call fantasy.Call) (fantasy.S
 
 			if len(acc.Choices) > 0 {
 				choice := acc.Choices[0]
-				// Add logprobs if available
 				providerMetadata = o.streamProviderMetadataFunc(choice, providerMetadata)
 
-				// Handle annotations/citations from accumulated response
 				for _, annotation := range choice.Message.Annotations {
 					if annotation.Type == "url_citation" {
 						if !yield(fantasy.StreamPart{
@@ -585,7 +595,6 @@ func toOpenAiTools(tools []fantasy.Tool, toolChoice *fantasy.ToolChoice) (openAi
 			continue
 		}
 
-		// TODO: handle provider tool calls
 		warnings = append(warnings, fantasy.CallWarning{
 			Type:    fantasy.CallWarningTypeUnsupportedTool,
 			Tool:    tool,
@@ -650,3 +659,277 @@ func parseAnnotationsFromDelta(delta openai.ChatCompletionChunkChoiceDelta) []op
 
 	return annotations
 }
+
+// GenerateObject implements fantasy.LanguageModel.
+func (o languageModel) GenerateObject(ctx context.Context, call fantasy.ObjectCall) (*fantasy.ObjectResponse, error) {
+	switch o.objectMode {
+	case fantasy.ObjectModeText:
+		return object.GenerateWithText(ctx, o, call)
+	case fantasy.ObjectModeTool:
+		return object.GenerateWithTool(ctx, o, call)
+	default:
+		return o.generateObjectWithJSONMode(ctx, call)
+	}
+}
+
+// StreamObject implements fantasy.LanguageModel.
+func (o languageModel) StreamObject(ctx context.Context, call fantasy.ObjectCall) (fantasy.ObjectStreamResponse, error) {
+	switch o.objectMode {
+	case fantasy.ObjectModeTool:
+		return object.StreamWithTool(ctx, o, call)
+	case fantasy.ObjectModeText:
+		return object.StreamWithText(ctx, o, call)
+	default:
+		return o.streamObjectWithJSONMode(ctx, call)
+	}
+}
+
+func (o languageModel) generateObjectWithJSONMode(ctx context.Context, call fantasy.ObjectCall) (*fantasy.ObjectResponse, error) {
+	jsonSchemaMap := schema.ToMap(call.Schema)
+
+	addAdditionalPropertiesFalse(jsonSchemaMap)
+
+	schemaName := call.SchemaName
+	if schemaName == "" {
+		schemaName = "response"
+	}
+
+	fantasyCall := fantasy.Call{
+		Prompt:           call.Prompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	}
+
+	params, warnings, err := o.prepareParams(fantasyCall)
+	if err != nil {
+		return nil, err
+	}
+
+	params.ResponseFormat = openai.ChatCompletionNewParamsResponseFormatUnion{
+		OfJSONSchema: &shared.ResponseFormatJSONSchemaParam{
+			JSONSchema: shared.ResponseFormatJSONSchemaJSONSchemaParam{
+				Name:        schemaName,
+				Description: param.NewOpt(call.SchemaDescription),
+				Schema:      jsonSchemaMap,
+				Strict:      param.NewOpt(true),
+			},
+		},
+	}
+
+	response, err := o.client.Chat.Completions.New(ctx, *params)
+	if err != nil {
+		return nil, toProviderErr(err)
+	}
+
+	if len(response.Choices) == 0 {
+		usage, _ := o.usageFunc(*response)
+		return nil, &fantasy.NoObjectGeneratedError{
+			RawText:      "",
+			ParseError:   fmt.Errorf("no choices in response"),
+			Usage:        usage,
+			FinishReason: fantasy.FinishReasonUnknown,
+		}
+	}
+
+	choice := response.Choices[0]
+	jsonText := choice.Message.Content
+
+	var obj any
+	if call.RepairText != nil {
+		obj, err = schema.ParseAndValidateWithRepair(ctx, jsonText, call.Schema, call.RepairText)
+	} else {
+		obj, err = schema.ParseAndValidate(jsonText, call.Schema)
+	}
+
+	usage, _ := o.usageFunc(*response)
+	finishReason := o.mapFinishReasonFunc(choice.FinishReason)
+
+	if err != nil {
+		if nogErr, ok := err.(*fantasy.NoObjectGeneratedError); ok {
+			nogErr.Usage = usage
+			nogErr.FinishReason = finishReason
+		}
+		return nil, err
+	}
+
+	return &fantasy.ObjectResponse{
+		Object:       obj,
+		RawText:      jsonText,
+		Usage:        usage,
+		FinishReason: finishReason,
+		Warnings:     warnings,
+	}, nil
+}
+
+func (o languageModel) streamObjectWithJSONMode(ctx context.Context, call fantasy.ObjectCall) (fantasy.ObjectStreamResponse, error) {
+	jsonSchemaMap := schema.ToMap(call.Schema)
+
+	addAdditionalPropertiesFalse(jsonSchemaMap)
+
+	schemaName := call.SchemaName
+	if schemaName == "" {
+		schemaName = "response"
+	}
+
+	fantasyCall := fantasy.Call{
+		Prompt:           call.Prompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	}
+
+	params, warnings, err := o.prepareParams(fantasyCall)
+	if err != nil {
+		return nil, err
+	}
+
+	params.ResponseFormat = openai.ChatCompletionNewParamsResponseFormatUnion{
+		OfJSONSchema: &shared.ResponseFormatJSONSchemaParam{
+			JSONSchema: shared.ResponseFormatJSONSchemaJSONSchemaParam{
+				Name:        schemaName,
+				Description: param.NewOpt(call.SchemaDescription),
+				Schema:      jsonSchemaMap,
+				Strict:      param.NewOpt(true),
+			},
+		},
+	}
+
+	params.StreamOptions = openai.ChatCompletionStreamOptionsParam{
+		IncludeUsage: openai.Bool(true),
+	}
+
+	stream := o.client.Chat.Completions.NewStreaming(ctx, *params)
+
+	return func(yield func(fantasy.ObjectStreamPart) bool) {
+		if len(warnings) > 0 {
+			if !yield(fantasy.ObjectStreamPart{
+				Type:     fantasy.ObjectStreamPartTypeObject,
+				Warnings: warnings,
+			}) {
+				return
+			}
+		}
+
+		var accumulated string
+		var lastParsedObject any
+		var usage fantasy.Usage
+		var finishReason fantasy.FinishReason
+		var providerMetadata fantasy.ProviderMetadata
+		var streamErr error
+
+		for stream.Next() {
+			chunk := stream.Current()
+
+			// Update usage
+			usage, providerMetadata = o.streamUsageFunc(chunk, make(map[string]any), providerMetadata)
+
+			if len(chunk.Choices) == 0 {
+				continue
+			}
+
+			choice := chunk.Choices[0]
+			if choice.FinishReason != "" {
+				finishReason = o.mapFinishReasonFunc(choice.FinishReason)
+			}
+
+			if choice.Delta.Content != "" {
+				accumulated += choice.Delta.Content
+
+				obj, state, parseErr := schema.ParsePartialJSON(accumulated)
+
+				if state == schema.ParseStateSuccessful || state == schema.ParseStateRepaired {
+					if err := schema.ValidateAgainstSchema(obj, call.Schema); err == nil {
+						if !reflect.DeepEqual(obj, lastParsedObject) {
+							if !yield(fantasy.ObjectStreamPart{
+								Type:   fantasy.ObjectStreamPartTypeObject,
+								Object: obj,
+							}) {
+								return
+							}
+							lastParsedObject = obj
+						}
+					}
+				}
+
+				if state == schema.ParseStateFailed && call.RepairText != nil {
+					repairedText, repairErr := call.RepairText(ctx, accumulated, parseErr)
+					if repairErr == nil {
+						obj2, state2, _ := schema.ParsePartialJSON(repairedText)
+						if (state2 == schema.ParseStateSuccessful || state2 == schema.ParseStateRepaired) &&
+							schema.ValidateAgainstSchema(obj2, call.Schema) == nil {
+							if !reflect.DeepEqual(obj2, lastParsedObject) {
+								if !yield(fantasy.ObjectStreamPart{
+									Type:   fantasy.ObjectStreamPartTypeObject,
+									Object: obj2,
+								}) {
+									return
+								}
+								lastParsedObject = obj2
+							}
+						}
+					}
+				}
+			}
+		}
+
+		err := stream.Err()
+		if err != nil && !errors.Is(err, io.EOF) {
+			streamErr = toProviderErr(err)
+			yield(fantasy.ObjectStreamPart{
+				Type:  fantasy.ObjectStreamPartTypeError,
+				Error: streamErr,
+			})
+			return
+		}
+
+		if lastParsedObject != nil {
+			yield(fantasy.ObjectStreamPart{
+				Type:             fantasy.ObjectStreamPartTypeFinish,
+				Usage:            usage,
+				FinishReason:     finishReason,
+				ProviderMetadata: providerMetadata,
+			})
+		} else {
+			yield(fantasy.ObjectStreamPart{
+				Type: fantasy.ObjectStreamPartTypeError,
+				Error: &fantasy.NoObjectGeneratedError{
+					RawText:      accumulated,
+					ParseError:   fmt.Errorf("no valid object generated in stream"),
+					Usage:        usage,
+					FinishReason: finishReason,
+				},
+			})
+		}
+	}, nil
+}
+
+// addAdditionalPropertiesFalse recursively adds "additionalProperties": false to all object schemas.
+// This is required by OpenAI's strict mode for structured outputs.
+func addAdditionalPropertiesFalse(schema map[string]any) {
+	if schema["type"] == "object" {
+		if _, hasAdditional := schema["additionalProperties"]; !hasAdditional {
+			schema["additionalProperties"] = false
+		}
+
+		// Recursively process nested properties
+		if properties, ok := schema["properties"].(map[string]any); ok {
+			for _, propValue := range properties {
+				if propSchema, ok := propValue.(map[string]any); ok {
+					addAdditionalPropertiesFalse(propSchema)
+				}
+			}
+		}
+	}
+
+	// Handle array items
+	if items, ok := schema["items"].(map[string]any); ok {
+		addAdditionalPropertiesFalse(items)
+	}
+}

providers/openai/openai.go 🔗

@@ -32,6 +32,7 @@ type options struct {
 	headers              map[string]string
 	client               option.HTTPClient
 	sdkOptions           []option.RequestOption
+	objectMode           fantasy.ObjectMode
 	languageModelOptions []LanguageModelOption
 }
 
@@ -131,6 +132,17 @@ func WithUseResponsesAPI() Option {
 	}
 }
 
+// WithObjectMode sets the object generation mode.
+func WithObjectMode(om fantasy.ObjectMode) Option {
+	return func(o *options) {
+		// not supported
+		if om == fantasy.ObjectModeJSON {
+			om = fantasy.ObjectModeAuto
+		}
+		o.objectMode = om
+	}
+}
+
 // LanguageModel implements fantasy.Provider.
 func (o *provider) LanguageModel(_ context.Context, modelID string) (fantasy.LanguageModel, error) {
 	openaiClientOptions := make([]option.RequestOption, 0, 5+len(o.options.headers)+len(o.options.sdkOptions))
@@ -156,9 +168,16 @@ func (o *provider) LanguageModel(_ context.Context, modelID string) (fantasy.Lan
 	client := openai.NewClient(openaiClientOptions...)
 
 	if o.options.useResponsesAPI && IsResponsesModel(modelID) {
-		return newResponsesLanguageModel(modelID, o.options.name, client), nil
+		// Not supported for responses API
+		objectMode := o.options.objectMode
+		if objectMode == fantasy.ObjectModeJSON {
+			objectMode = fantasy.ObjectModeAuto
+		}
+		return newResponsesLanguageModel(modelID, o.options.name, client, objectMode), nil
 	}
 
+	o.options.languageModelOptions = append(o.options.languageModelOptions, WithLanguageModelObjectMode(o.options.objectMode))
+
 	return newLanguageModel(
 		modelID,
 		o.options.name,

providers/openai/provider_options.go 🔗

@@ -2,6 +2,8 @@
 package openai
 
 import (
+	"encoding/json"
+
 	"charm.land/fantasy"
 	"github.com/openai/openai-go/v2"
 )
@@ -20,6 +22,38 @@ const (
 	ReasoningEffortHigh ReasoningEffort = "high"
 )
 
+// Global type identifiers for OpenAI-specific provider data.
+const (
+	TypeProviderOptions     = Name + ".options"
+	TypeProviderFileOptions = Name + ".file_options"
+	TypeProviderMetadata    = Name + ".metadata"
+)
+
+// Register OpenAI provider-specific types with the global registry.
+func init() {
+	fantasy.RegisterProviderType(TypeProviderOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+	fantasy.RegisterProviderType(TypeProviderFileOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderFileOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+	fantasy.RegisterProviderType(TypeProviderMetadata, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderMetadata
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+}
+
 // ProviderMetadata represents additional metadata from OpenAI provider.
 type ProviderMetadata struct {
 	Logprobs                 []openai.ChatCompletionTokenLogprob `json:"logprobs"`
@@ -30,6 +64,23 @@ type ProviderMetadata struct {
 // Options implements the ProviderOptions interface.
 func (*ProviderMetadata) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderMetadata.
+func (m ProviderMetadata) MarshalJSON() ([]byte, error) {
+	type plain ProviderMetadata
+	return fantasy.MarshalProviderType(TypeProviderMetadata, plain(m))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderMetadata.
+func (m *ProviderMetadata) UnmarshalJSON(data []byte) error {
+	type plain ProviderMetadata
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*m = ProviderMetadata(p)
+	return nil
+}
+
 // ProviderOptions represents additional options for OpenAI provider.
 type ProviderOptions struct {
 	LogitBias           map[string]int64 `json:"logit_bias"`
@@ -52,6 +103,23 @@ type ProviderOptions struct {
 // Options implements the ProviderOptions interface.
 func (*ProviderOptions) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderOptions.
+func (o ProviderOptions) MarshalJSON() ([]byte, error) {
+	type plain ProviderOptions
+	return fantasy.MarshalProviderType(TypeProviderOptions, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderOptions.
+func (o *ProviderOptions) UnmarshalJSON(data []byte) error {
+	type plain ProviderOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ProviderOptions(p)
+	return nil
+}
+
 // ProviderFileOptions represents file options for OpenAI provider.
 type ProviderFileOptions struct {
 	ImageDetail string `json:"image_detail"`
@@ -60,6 +128,23 @@ type ProviderFileOptions struct {
 // Options implements the ProviderOptions interface.
 func (*ProviderFileOptions) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderFileOptions.
+func (o ProviderFileOptions) MarshalJSON() ([]byte, error) {
+	type plain ProviderFileOptions
+	return fantasy.MarshalProviderType(TypeProviderFileOptions, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderFileOptions.
+func (o *ProviderFileOptions) UnmarshalJSON(data []byte) error {
+	type plain ProviderFileOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ProviderFileOptions(p)
+	return nil
+}
+
 // ReasoningEffortOption creates a pointer to a ReasoningEffort value.
 func ReasoningEffortOption(e ReasoningEffort) *ReasoningEffort {
 	return &e

providers/openai/responses_language_model.go 🔗

@@ -5,9 +5,12 @@ import (
 	"encoding/base64"
 	"encoding/json"
 	"fmt"
+	"reflect"
 	"strings"
 
 	"charm.land/fantasy"
+	"charm.land/fantasy/object"
+	"charm.land/fantasy/schema"
 	"github.com/google/uuid"
 	"github.com/openai/openai-go/v2"
 	"github.com/openai/openai-go/v2/packages/param"
@@ -18,18 +21,20 @@ import (
 const topLogprobsMax = 20
 
 type responsesLanguageModel struct {
-	provider string
-	modelID  string
-	client   openai.Client
+	provider   string
+	modelID    string
+	client     openai.Client
+	objectMode fantasy.ObjectMode
 }
 
 // newResponsesLanguageModel implements a responses api model
 // INFO: (kujtim) currently we do not support stored parameter we default it to false.
-func newResponsesLanguageModel(modelID string, provider string, client openai.Client) responsesLanguageModel {
+func newResponsesLanguageModel(modelID string, provider string, client openai.Client, objectMode fantasy.ObjectMode) responsesLanguageModel {
 	return responsesLanguageModel{
-		modelID:  modelID,
-		provider: provider,
-		client:   client,
+		modelID:    modelID,
+		provider:   provider,
+		client:     client,
+		objectMode: objectMode,
 	}
 }
 
@@ -1032,3 +1037,293 @@ type ongoingToolCall struct {
 type reasoningState struct {
 	metadata *ResponsesReasoningMetadata
 }
+
+// GenerateObject implements fantasy.LanguageModel.
+func (o responsesLanguageModel) GenerateObject(ctx context.Context, call fantasy.ObjectCall) (*fantasy.ObjectResponse, error) {
+	switch o.objectMode {
+	case fantasy.ObjectModeText:
+		return object.GenerateWithText(ctx, o, call)
+	case fantasy.ObjectModeTool:
+		return object.GenerateWithTool(ctx, o, call)
+	default:
+		return o.generateObjectWithJSONMode(ctx, call)
+	}
+}
+
+// StreamObject implements fantasy.LanguageModel.
+func (o responsesLanguageModel) StreamObject(ctx context.Context, call fantasy.ObjectCall) (fantasy.ObjectStreamResponse, error) {
+	switch o.objectMode {
+	case fantasy.ObjectModeTool:
+		return object.StreamWithTool(ctx, o, call)
+	case fantasy.ObjectModeText:
+		return object.StreamWithText(ctx, o, call)
+	default:
+		return o.streamObjectWithJSONMode(ctx, call)
+	}
+}
+
+func (o responsesLanguageModel) generateObjectWithJSONMode(ctx context.Context, call fantasy.ObjectCall) (*fantasy.ObjectResponse, error) {
+	// Convert our Schema to OpenAI's JSON Schema format
+	jsonSchemaMap := schema.ToMap(call.Schema)
+
+	// Add additionalProperties: false recursively for strict mode (OpenAI requirement)
+	addAdditionalPropertiesFalse(jsonSchemaMap)
+
+	schemaName := call.SchemaName
+	if schemaName == "" {
+		schemaName = "response"
+	}
+
+	// Build request using prepareParams
+	fantasyCall := fantasy.Call{
+		Prompt:           call.Prompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	}
+
+	params, warnings := o.prepareParams(fantasyCall)
+
+	// Add structured output via Text.Format field
+	params.Text = responses.ResponseTextConfigParam{
+		Format: responses.ResponseFormatTextConfigParamOfJSONSchema(schemaName, jsonSchemaMap),
+	}
+
+	// Make request
+	response, err := o.client.Responses.New(ctx, *params)
+	if err != nil {
+		return nil, toProviderErr(err)
+	}
+
+	if response.Error.Message != "" {
+		return nil, &fantasy.Error{
+			Title:   "provider error",
+			Message: fmt.Sprintf("%s (code: %s)", response.Error.Message, response.Error.Code),
+		}
+	}
+
+	// Extract JSON text from response
+	var jsonText string
+	for _, outputItem := range response.Output {
+		if outputItem.Type == "message" {
+			for _, contentPart := range outputItem.Content {
+				if contentPart.Type == "output_text" {
+					jsonText = contentPart.Text
+					break
+				}
+			}
+		}
+	}
+
+	if jsonText == "" {
+		usage := fantasy.Usage{
+			InputTokens:  response.Usage.InputTokens,
+			OutputTokens: response.Usage.OutputTokens,
+			TotalTokens:  response.Usage.InputTokens + response.Usage.OutputTokens,
+		}
+		finishReason := mapResponsesFinishReason(response.IncompleteDetails.Reason, false)
+		return nil, &fantasy.NoObjectGeneratedError{
+			RawText:      "",
+			ParseError:   fmt.Errorf("no text content in response"),
+			Usage:        usage,
+			FinishReason: finishReason,
+		}
+	}
+
+	// Parse and validate
+	var obj any
+	if call.RepairText != nil {
+		obj, err = schema.ParseAndValidateWithRepair(ctx, jsonText, call.Schema, call.RepairText)
+	} else {
+		obj, err = schema.ParseAndValidate(jsonText, call.Schema)
+	}
+
+	usage := fantasy.Usage{
+		InputTokens:  response.Usage.InputTokens,
+		OutputTokens: response.Usage.OutputTokens,
+		TotalTokens:  response.Usage.InputTokens + response.Usage.OutputTokens,
+	}
+	if response.Usage.OutputTokensDetails.ReasoningTokens != 0 {
+		usage.ReasoningTokens = response.Usage.OutputTokensDetails.ReasoningTokens
+	}
+	if response.Usage.InputTokensDetails.CachedTokens != 0 {
+		usage.CacheReadTokens = response.Usage.InputTokensDetails.CachedTokens
+	}
+
+	finishReason := mapResponsesFinishReason(response.IncompleteDetails.Reason, false)
+
+	if err != nil {
+		// Add usage info to error
+		if nogErr, ok := err.(*fantasy.NoObjectGeneratedError); ok {
+			nogErr.Usage = usage
+			nogErr.FinishReason = finishReason
+		}
+		return nil, err
+	}
+
+	return &fantasy.ObjectResponse{
+		Object:       obj,
+		RawText:      jsonText,
+		Usage:        usage,
+		FinishReason: finishReason,
+		Warnings:     warnings,
+	}, nil
+}
+
+func (o responsesLanguageModel) streamObjectWithJSONMode(ctx context.Context, call fantasy.ObjectCall) (fantasy.ObjectStreamResponse, error) {
+	// Convert our Schema to OpenAI's JSON Schema format
+	jsonSchemaMap := schema.ToMap(call.Schema)
+
+	// Add additionalProperties: false recursively for strict mode (OpenAI requirement)
+	addAdditionalPropertiesFalse(jsonSchemaMap)
+
+	schemaName := call.SchemaName
+	if schemaName == "" {
+		schemaName = "response"
+	}
+
+	// Build request using prepareParams
+	fantasyCall := fantasy.Call{
+		Prompt:           call.Prompt,
+		MaxOutputTokens:  call.MaxOutputTokens,
+		Temperature:      call.Temperature,
+		TopP:             call.TopP,
+		PresencePenalty:  call.PresencePenalty,
+		FrequencyPenalty: call.FrequencyPenalty,
+		ProviderOptions:  call.ProviderOptions,
+	}
+
+	params, warnings := o.prepareParams(fantasyCall)
+
+	// Add structured output via Text.Format field
+	params.Text = responses.ResponseTextConfigParam{
+		Format: responses.ResponseFormatTextConfigParamOfJSONSchema(schemaName, jsonSchemaMap),
+	}
+
+	stream := o.client.Responses.NewStreaming(ctx, *params)
+
+	return func(yield func(fantasy.ObjectStreamPart) bool) {
+		if len(warnings) > 0 {
+			if !yield(fantasy.ObjectStreamPart{
+				Type:     fantasy.ObjectStreamPartTypeObject,
+				Warnings: warnings,
+			}) {
+				return
+			}
+		}
+
+		var accumulated string
+		var lastParsedObject any
+		var usage fantasy.Usage
+		var finishReason fantasy.FinishReason
+		var streamErr error
+		hasFunctionCall := false
+
+		for stream.Next() {
+			event := stream.Current()
+
+			switch event.Type {
+			case "response.output_text.delta":
+				textDelta := event.AsResponseOutputTextDelta()
+				accumulated += textDelta.Delta
+
+				// Try to parse the accumulated text
+				obj, state, parseErr := schema.ParsePartialJSON(accumulated)
+
+				// If we successfully parsed, validate and emit
+				if state == schema.ParseStateSuccessful || state == schema.ParseStateRepaired {
+					if err := schema.ValidateAgainstSchema(obj, call.Schema); err == nil {
+						// Only emit if object is different from last
+						if !reflect.DeepEqual(obj, lastParsedObject) {
+							if !yield(fantasy.ObjectStreamPart{
+								Type:   fantasy.ObjectStreamPartTypeObject,
+								Object: obj,
+							}) {
+								return
+							}
+							lastParsedObject = obj
+						}
+					}
+				}
+
+				// If parsing failed and we have a repair function, try it
+				if state == schema.ParseStateFailed && call.RepairText != nil {
+					repairedText, repairErr := call.RepairText(ctx, accumulated, parseErr)
+					if repairErr == nil {
+						obj2, state2, _ := schema.ParsePartialJSON(repairedText)
+						if (state2 == schema.ParseStateSuccessful || state2 == schema.ParseStateRepaired) &&
+							schema.ValidateAgainstSchema(obj2, call.Schema) == nil {
+							if !reflect.DeepEqual(obj2, lastParsedObject) {
+								if !yield(fantasy.ObjectStreamPart{
+									Type:   fantasy.ObjectStreamPartTypeObject,
+									Object: obj2,
+								}) {
+									return
+								}
+								lastParsedObject = obj2
+							}
+						}
+					}
+				}
+
+			case "response.completed", "response.incomplete":
+				completed := event.AsResponseCompleted()
+				finishReason = mapResponsesFinishReason(completed.Response.IncompleteDetails.Reason, hasFunctionCall)
+				usage = fantasy.Usage{
+					InputTokens:  completed.Response.Usage.InputTokens,
+					OutputTokens: completed.Response.Usage.OutputTokens,
+					TotalTokens:  completed.Response.Usage.InputTokens + completed.Response.Usage.OutputTokens,
+				}
+				if completed.Response.Usage.OutputTokensDetails.ReasoningTokens != 0 {
+					usage.ReasoningTokens = completed.Response.Usage.OutputTokensDetails.ReasoningTokens
+				}
+				if completed.Response.Usage.InputTokensDetails.CachedTokens != 0 {
+					usage.CacheReadTokens = completed.Response.Usage.InputTokensDetails.CachedTokens
+				}
+
+			case "error":
+				errorEvent := event.AsError()
+				streamErr = fmt.Errorf("response error: %s (code: %s)", errorEvent.Message, errorEvent.Code)
+				if !yield(fantasy.ObjectStreamPart{
+					Type:  fantasy.ObjectStreamPartTypeError,
+					Error: streamErr,
+				}) {
+					return
+				}
+				return
+			}
+		}
+
+		err := stream.Err()
+		if err != nil {
+			yield(fantasy.ObjectStreamPart{
+				Type:  fantasy.ObjectStreamPartTypeError,
+				Error: toProviderErr(err),
+			})
+			return
+		}
+
+		// Final validation and emit
+		if streamErr == nil && lastParsedObject != nil {
+			yield(fantasy.ObjectStreamPart{
+				Type:         fantasy.ObjectStreamPartTypeFinish,
+				Usage:        usage,
+				FinishReason: finishReason,
+			})
+		} else if streamErr == nil && lastParsedObject == nil {
+			// No object was generated
+			yield(fantasy.ObjectStreamPart{
+				Type: fantasy.ObjectStreamPartTypeError,
+				Error: &fantasy.NoObjectGeneratedError{
+					RawText:      accumulated,
+					ParseError:   fmt.Errorf("no valid object generated in stream"),
+					Usage:        usage,
+					FinishReason: finishReason,
+				},
+			})
+		}
+	}, nil
+}

providers/openai/responses_options.go 🔗

@@ -2,11 +2,36 @@
 package openai
 
 import (
+	"encoding/json"
 	"slices"
 
 	"charm.land/fantasy"
 )
 
+// Global type identifiers for OpenAI Responses API-specific data.
+const (
+	TypeResponsesProviderOptions   = Name + ".responses.options"
+	TypeResponsesReasoningMetadata = Name + ".responses.reasoning_metadata"
+)
+
+// Register OpenAI Responses API-specific types with the global registry.
+func init() {
+	fantasy.RegisterProviderType(TypeResponsesProviderOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ResponsesProviderOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+	fantasy.RegisterProviderType(TypeResponsesReasoningMetadata, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ResponsesReasoningMetadata
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+}
+
 // ResponsesReasoningMetadata represents reasoning metadata for OpenAI Responses API.
 type ResponsesReasoningMetadata struct {
 	ItemID           string   `json:"item_id"`
@@ -17,6 +42,23 @@ type ResponsesReasoningMetadata struct {
 // Options implements the ProviderOptions interface.
 func (*ResponsesReasoningMetadata) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ResponsesReasoningMetadata.
+func (m ResponsesReasoningMetadata) MarshalJSON() ([]byte, error) {
+	type plain ResponsesReasoningMetadata
+	return fantasy.MarshalProviderType(TypeResponsesReasoningMetadata, plain(m))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ResponsesReasoningMetadata.
+func (m *ResponsesReasoningMetadata) UnmarshalJSON(data []byte) error {
+	type plain ResponsesReasoningMetadata
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*m = ResponsesReasoningMetadata(p)
+	return nil
+}
+
 // IncludeType represents the type of content to include for OpenAI Responses API.
 type IncludeType string
 
@@ -71,6 +113,26 @@ type ResponsesProviderOptions struct {
 	User              *string          `json:"user"`
 }
 
+// Options implements the ProviderOptions interface.
+func (*ResponsesProviderOptions) Options() {}
+
+// MarshalJSON implements custom JSON marshaling with type info for ResponsesProviderOptions.
+func (o ResponsesProviderOptions) MarshalJSON() ([]byte, error) {
+	type plain ResponsesProviderOptions
+	return fantasy.MarshalProviderType(TypeResponsesProviderOptions, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ResponsesProviderOptions.
+func (o *ResponsesProviderOptions) UnmarshalJSON(data []byte) error {
+	type plain ResponsesProviderOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ResponsesProviderOptions(p)
+	return nil
+}
+
 // responsesReasoningModelIds lists the model IDs that support reasoning for OpenAI Responses API.
 var responsesReasoningModelIDs = []string{
 	"o1",
@@ -121,9 +183,6 @@ var responsesModelIDs = append([]string{
 	"gpt-5-chat-latest",
 }, responsesReasoningModelIDs...)
 
-// Options implements the ProviderOptions interface.
-func (*ResponsesProviderOptions) Options() {}
-
 // NewResponsesProviderOptions creates new provider options for OpenAI Responses API.
 func NewResponsesProviderOptions(opts *ResponsesProviderOptions) fantasy.ProviderOptions {
 	return fantasy.ProviderOptions{

providers/openaicompat/language_model_hooks.go 🔗

@@ -1,8 +1,10 @@
 package openaicompat
 
 import (
+	"encoding/base64"
 	"encoding/json"
 	"fmt"
+	"strings"
 
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/openai"
@@ -19,7 +21,7 @@ func PrepareCallFunc(_ fantasy.LanguageModel, params *openaisdk.ChatCompletionNe
 	if v, ok := call.ProviderOptions[Name]; ok {
 		providerOptions, ok = v.(*ProviderOptions)
 		if !ok {
-			return nil, &fantasy.Error{Title: "invalid argument", Message: "openrouter provider options should be *openrouter.ProviderOptions"}
+			return nil, &fantasy.Error{Title: "invalid argument", Message: "openai-compat provider options should be *openaicompat.ProviderOptions"}
 		}
 	}
 
@@ -124,3 +126,284 @@ func StreamExtraFunc(chunk openaisdk.ChatCompletionChunk, yield func(fantasy.Str
 	}
 	return ctx, true
 }
+
+// ToPromptFunc converts a fantasy prompt to OpenAI format with reasoning support.
+// It handles fantasy.ContentTypeReasoning in assistant messages by adding the
+// reasoning_content field to the message JSON.
+func ToPromptFunc(prompt fantasy.Prompt, _, _ string) ([]openaisdk.ChatCompletionMessageParamUnion, []fantasy.CallWarning) {
+	var messages []openaisdk.ChatCompletionMessageParamUnion
+	var warnings []fantasy.CallWarning
+	for _, msg := range prompt {
+		switch msg.Role {
+		case fantasy.MessageRoleSystem:
+			var systemPromptParts []string
+			for _, c := range msg.Content {
+				if c.GetType() != fantasy.ContentTypeText {
+					warnings = append(warnings, fantasy.CallWarning{
+						Type:    fantasy.CallWarningTypeOther,
+						Message: "system prompt can only have text content",
+					})
+					continue
+				}
+				textPart, ok := fantasy.AsContentType[fantasy.TextPart](c)
+				if !ok {
+					warnings = append(warnings, fantasy.CallWarning{
+						Type:    fantasy.CallWarningTypeOther,
+						Message: "system prompt text part does not have the right type",
+					})
+					continue
+				}
+				text := textPart.Text
+				if strings.TrimSpace(text) != "" {
+					systemPromptParts = append(systemPromptParts, textPart.Text)
+				}
+			}
+			if len(systemPromptParts) == 0 {
+				warnings = append(warnings, fantasy.CallWarning{
+					Type:    fantasy.CallWarningTypeOther,
+					Message: "system prompt has no text parts",
+				})
+				continue
+			}
+			messages = append(messages, openaisdk.SystemMessage(strings.Join(systemPromptParts, "\n")))
+		case fantasy.MessageRoleUser:
+			// simple user message just text content
+			if len(msg.Content) == 1 && msg.Content[0].GetType() == fantasy.ContentTypeText {
+				textPart, ok := fantasy.AsContentType[fantasy.TextPart](msg.Content[0])
+				if !ok {
+					warnings = append(warnings, fantasy.CallWarning{
+						Type:    fantasy.CallWarningTypeOther,
+						Message: "user message text part does not have the right type",
+					})
+					continue
+				}
+				messages = append(messages, openaisdk.UserMessage(textPart.Text))
+				continue
+			}
+			// text content and attachments
+			var content []openaisdk.ChatCompletionContentPartUnionParam
+			for _, c := range msg.Content {
+				switch c.GetType() {
+				case fantasy.ContentTypeText:
+					textPart, ok := fantasy.AsContentType[fantasy.TextPart](c)
+					if !ok {
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: "user message text part does not have the right type",
+						})
+						continue
+					}
+					content = append(content, openaisdk.ChatCompletionContentPartUnionParam{
+						OfText: &openaisdk.ChatCompletionContentPartTextParam{
+							Text: textPart.Text,
+						},
+					})
+				case fantasy.ContentTypeFile:
+					filePart, ok := fantasy.AsContentType[fantasy.FilePart](c)
+					if !ok {
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: "user message file part does not have the right type",
+						})
+						continue
+					}
+
+					switch {
+					case strings.HasPrefix(filePart.MediaType, "image/"):
+						// Handle image files
+						base64Encoded := base64.StdEncoding.EncodeToString(filePart.Data)
+						data := "data:" + filePart.MediaType + ";base64," + base64Encoded
+						imageURL := openaisdk.ChatCompletionContentPartImageImageURLParam{URL: data}
+
+						// Check for provider-specific options like image detail
+						if providerOptions, ok := filePart.ProviderOptions[openai.Name]; ok {
+							if detail, ok := providerOptions.(*openai.ProviderFileOptions); ok {
+								imageURL.Detail = detail.ImageDetail
+							}
+						}
+
+						imageBlock := openaisdk.ChatCompletionContentPartImageParam{ImageURL: imageURL}
+						content = append(content, openaisdk.ChatCompletionContentPartUnionParam{OfImageURL: &imageBlock})
+
+					case filePart.MediaType == "audio/wav":
+						// Handle WAV audio files
+						base64Encoded := base64.StdEncoding.EncodeToString(filePart.Data)
+						audioBlock := openaisdk.ChatCompletionContentPartInputAudioParam{
+							InputAudio: openaisdk.ChatCompletionContentPartInputAudioInputAudioParam{
+								Data:   base64Encoded,
+								Format: "wav",
+							},
+						}
+						content = append(content, openaisdk.ChatCompletionContentPartUnionParam{OfInputAudio: &audioBlock})
+
+					case filePart.MediaType == "audio/mpeg" || filePart.MediaType == "audio/mp3":
+						// Handle MP3 audio files
+						base64Encoded := base64.StdEncoding.EncodeToString(filePart.Data)
+						audioBlock := openaisdk.ChatCompletionContentPartInputAudioParam{
+							InputAudio: openaisdk.ChatCompletionContentPartInputAudioInputAudioParam{
+								Data:   base64Encoded,
+								Format: "mp3",
+							},
+						}
+						content = append(content, openaisdk.ChatCompletionContentPartUnionParam{OfInputAudio: &audioBlock})
+
+					case filePart.MediaType == "application/pdf":
+						// Handle PDF files
+						dataStr := string(filePart.Data)
+
+						// Check if data looks like a file ID (starts with "file-")
+						if strings.HasPrefix(dataStr, "file-") {
+							fileBlock := openaisdk.ChatCompletionContentPartFileParam{
+								File: openaisdk.ChatCompletionContentPartFileFileParam{
+									FileID: param.NewOpt(dataStr),
+								},
+							}
+							content = append(content, openaisdk.ChatCompletionContentPartUnionParam{OfFile: &fileBlock})
+						} else {
+							// Handle as base64 data
+							base64Encoded := base64.StdEncoding.EncodeToString(filePart.Data)
+							data := "data:application/pdf;base64," + base64Encoded
+
+							filename := filePart.Filename
+							if filename == "" {
+								// Generate default filename based on content index
+								filename = fmt.Sprintf("part-%d.pdf", len(content))
+							}
+
+							fileBlock := openaisdk.ChatCompletionContentPartFileParam{
+								File: openaisdk.ChatCompletionContentPartFileFileParam{
+									Filename: param.NewOpt(filename),
+									FileData: param.NewOpt(data),
+								},
+							}
+							content = append(content, openaisdk.ChatCompletionContentPartUnionParam{OfFile: &fileBlock})
+						}
+
+					default:
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: fmt.Sprintf("file part media type %s not supported", filePart.MediaType),
+						})
+					}
+				}
+			}
+			messages = append(messages, openaisdk.UserMessage(content))
+		case fantasy.MessageRoleAssistant:
+			// simple assistant message just text content
+			if len(msg.Content) == 1 && msg.Content[0].GetType() == fantasy.ContentTypeText {
+				textPart, ok := fantasy.AsContentType[fantasy.TextPart](msg.Content[0])
+				if !ok {
+					warnings = append(warnings, fantasy.CallWarning{
+						Type:    fantasy.CallWarningTypeOther,
+						Message: "assistant message text part does not have the right type",
+					})
+					continue
+				}
+				messages = append(messages, openaisdk.AssistantMessage(textPart.Text))
+				continue
+			}
+			assistantMsg := openaisdk.ChatCompletionAssistantMessageParam{
+				Role: "assistant",
+			}
+			var reasoningText string
+			for _, c := range msg.Content {
+				switch c.GetType() {
+				case fantasy.ContentTypeText:
+					textPart, ok := fantasy.AsContentType[fantasy.TextPart](c)
+					if !ok {
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: "assistant message text part does not have the right type",
+						})
+						continue
+					}
+					assistantMsg.Content = openaisdk.ChatCompletionAssistantMessageParamContentUnion{
+						OfString: param.NewOpt(textPart.Text),
+					}
+				case fantasy.ContentTypeReasoning:
+					reasoningPart, ok := fantasy.AsContentType[fantasy.ReasoningPart](c)
+					if !ok {
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: "assistant message reasoning part does not have the right type",
+						})
+						continue
+					}
+					reasoningText = reasoningPart.Text
+				case fantasy.ContentTypeToolCall:
+					toolCallPart, ok := fantasy.AsContentType[fantasy.ToolCallPart](c)
+					if !ok {
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: "assistant message tool part does not have the right type",
+						})
+						continue
+					}
+					assistantMsg.ToolCalls = append(assistantMsg.ToolCalls,
+						openaisdk.ChatCompletionMessageToolCallUnionParam{
+							OfFunction: &openaisdk.ChatCompletionMessageFunctionToolCallParam{
+								ID:   toolCallPart.ToolCallID,
+								Type: "function",
+								Function: openaisdk.ChatCompletionMessageFunctionToolCallFunctionParam{
+									Name:      toolCallPart.ToolName,
+									Arguments: toolCallPart.Input,
+								},
+							},
+						})
+				}
+			}
+			// Add reasoning_content field if present
+			if reasoningText != "" {
+				assistantMsg.SetExtraFields(map[string]any{
+					"reasoning_content": reasoningText,
+				})
+			}
+			messages = append(messages, openaisdk.ChatCompletionMessageParamUnion{
+				OfAssistant: &assistantMsg,
+			})
+		case fantasy.MessageRoleTool:
+			for _, c := range msg.Content {
+				if c.GetType() != fantasy.ContentTypeToolResult {
+					warnings = append(warnings, fantasy.CallWarning{
+						Type:    fantasy.CallWarningTypeOther,
+						Message: "tool message can only have tool result content",
+					})
+					continue
+				}
+
+				toolResultPart, ok := fantasy.AsContentType[fantasy.ToolResultPart](c)
+				if !ok {
+					warnings = append(warnings, fantasy.CallWarning{
+						Type:    fantasy.CallWarningTypeOther,
+						Message: "tool message result part does not have the right type",
+					})
+					continue
+				}
+
+				switch toolResultPart.Output.GetType() {
+				case fantasy.ToolResultContentTypeText:
+					output, ok := fantasy.AsToolResultOutputType[fantasy.ToolResultOutputContentText](toolResultPart.Output)
+					if !ok {
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: "tool result output does not have the right type",
+						})
+						continue
+					}
+					messages = append(messages, openaisdk.ToolMessage(output.Text, toolResultPart.ToolCallID))
+				case fantasy.ToolResultContentTypeError:
+					output, ok := fantasy.AsToolResultOutputType[fantasy.ToolResultOutputContentError](toolResultPart.Output)
+					if !ok {
+						warnings = append(warnings, fantasy.CallWarning{
+							Type:    fantasy.CallWarningTypeOther,
+							Message: "tool result output does not have the right type",
+						})
+						continue
+					}
+					messages = append(messages, openaisdk.ToolMessage(output.Error.Error(), toolResultPart.ToolCallID))
+				}
+			}
+		}
+	}
+	return messages, warnings
+}

providers/openaicompat/openaicompat.go 🔗

@@ -11,6 +11,7 @@ type options struct {
 	openaiOptions        []openai.Option
 	languageModelOptions []openai.LanguageModelOption
 	sdkOptions           []option.RequestOption
+	objectMode           fantasy.ObjectMode
 }
 
 const (
@@ -31,16 +32,26 @@ func New(opts ...Option) (fantasy.Provider, error) {
 			openai.WithLanguageModelPrepareCallFunc(PrepareCallFunc),
 			openai.WithLanguageModelStreamExtraFunc(StreamExtraFunc),
 			openai.WithLanguageModelExtraContentFunc(ExtraContentFunc),
+			openai.WithLanguageModelToPromptFunc(ToPromptFunc),
 		},
+		objectMode: fantasy.ObjectModeTool, // Default to tool mode for openai-compat
 	}
 	for _, o := range opts {
 		o(&providerOptions)
 	}
 
+	// Handle object mode: convert unsupported modes to tool
+	// OpenAI-compat endpoints don't support native JSON mode, so we use tool or text
+	objectMode := providerOptions.objectMode
+	if objectMode == fantasy.ObjectModeAuto || objectMode == fantasy.ObjectModeJSON {
+		objectMode = fantasy.ObjectModeTool
+	}
+
 	providerOptions.openaiOptions = append(
 		providerOptions.openaiOptions,
 		openai.WithSDKOptions(providerOptions.sdkOptions...),
 		openai.WithLanguageModelOptions(providerOptions.languageModelOptions...),
+		openai.WithObjectMode(objectMode),
 	)
 	return openai.New(providerOptions.openaiOptions...)
 }
@@ -86,3 +97,13 @@ func WithSDKOptions(opts ...option.RequestOption) Option {
 		o.sdkOptions = append(o.sdkOptions, opts...)
 	}
 }
+
+// WithObjectMode sets the object generation mode for the OpenAI-compatible provider.
+// Supported modes: ObjectModeTool, ObjectModeText.
+// ObjectModeAuto and ObjectModeJSON are automatically converted to ObjectModeTool
+// since OpenAI-compatible endpoints typically don't support native JSON mode.
+func WithObjectMode(om fantasy.ObjectMode) Option {
+	return func(o *options) {
+		o.objectMode = om
+	}
+}

providers/openaicompat/openaicompat_test.go 🔗

@@ -0,0 +1,275 @@
+package openaicompat
+
+import (
+	"testing"
+
+	"charm.land/fantasy"
+	"github.com/stretchr/testify/require"
+)
+
+func TestToPromptFunc_ReasoningContent(t *testing.T) {
+	t.Parallel()
+
+	t.Run("should add reasoning_content field to assistant messages", func(t *testing.T) {
+		t.Parallel()
+
+		prompt := fantasy.Prompt{
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "What is 2+2?"},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleAssistant,
+				Content: []fantasy.MessagePart{
+					fantasy.ReasoningPart{Text: "Let me think... 2+2 equals 4."},
+					fantasy.TextPart{Text: "The answer is 4."},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "What about 3+3?"},
+				},
+			},
+		}
+
+		messages, warnings := ToPromptFunc(prompt, "", "")
+
+		require.Empty(t, warnings)
+		require.Len(t, messages, 3)
+
+		// First message (user) - no reasoning
+		msg1 := messages[0].OfUser
+		require.NotNil(t, msg1)
+		require.Equal(t, "What is 2+2?", msg1.Content.OfString.Value)
+
+		// Second message (assistant) - with reasoning
+		msg2 := messages[1].OfAssistant
+		require.NotNil(t, msg2)
+		require.Equal(t, "The answer is 4.", msg2.Content.OfString.Value)
+		// Check reasoning_content in extra fields
+		extraFields := msg2.ExtraFields()
+		reasoningContent, hasReasoning := extraFields["reasoning_content"]
+		require.True(t, hasReasoning)
+		require.Equal(t, "Let me think... 2+2 equals 4.", reasoningContent)
+
+		// Third message (user) - no reasoning
+		msg3 := messages[2].OfUser
+		require.NotNil(t, msg3)
+		require.Equal(t, "What about 3+3?", msg3.Content.OfString.Value)
+	})
+
+	t.Run("should handle assistant messages with only reasoning content", func(t *testing.T) {
+		t.Parallel()
+
+		prompt := fantasy.Prompt{
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "Hello"},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleAssistant,
+				Content: []fantasy.MessagePart{
+					fantasy.ReasoningPart{Text: "Internal reasoning only..."},
+				},
+			},
+		}
+
+		messages, warnings := ToPromptFunc(prompt, "", "")
+
+		require.Empty(t, warnings)
+		require.Len(t, messages, 2)
+
+		// Assistant message with only reasoning
+		msg := messages[1].OfAssistant
+		require.NotNil(t, msg)
+		extraFields := msg.ExtraFields()
+		reasoningContent, hasReasoning := extraFields["reasoning_content"]
+		require.True(t, hasReasoning)
+		require.Equal(t, "Internal reasoning only...", reasoningContent)
+	})
+
+	t.Run("should not add reasoning_content to messages without reasoning", func(t *testing.T) {
+		t.Parallel()
+
+		prompt := fantasy.Prompt{
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "Hello"},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleAssistant,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "Hi there!"},
+				},
+			},
+		}
+
+		messages, warnings := ToPromptFunc(prompt, "", "")
+
+		require.Empty(t, warnings)
+		require.Len(t, messages, 2)
+
+		// Assistant message without reasoning
+		msg := messages[1].OfAssistant
+		require.NotNil(t, msg)
+		require.Equal(t, "Hi there!", msg.Content.OfString.Value)
+		extraFields := msg.ExtraFields()
+		_, hasReasoning := extraFields["reasoning_content"]
+		require.False(t, hasReasoning)
+	})
+
+	t.Run("should preserve system and user messages unchanged", func(t *testing.T) {
+		t.Parallel()
+
+		prompt := fantasy.Prompt{
+			{
+				Role: fantasy.MessageRoleSystem,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "You are helpful."},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "Hello"},
+				},
+			},
+		}
+
+		messages, warnings := ToPromptFunc(prompt, "", "")
+
+		require.Empty(t, warnings)
+		require.Len(t, messages, 2)
+
+		// System message - unchanged
+		systemMsg := messages[0].OfSystem
+		require.NotNil(t, systemMsg)
+		require.Equal(t, "You are helpful.", systemMsg.Content.OfString.Value)
+
+		// User message - unchanged
+		userMsg := messages[1].OfUser
+		require.NotNil(t, userMsg)
+		require.Equal(t, "Hello", userMsg.Content.OfString.Value)
+	})
+
+	t.Run("should use last assistant TextPart only", func(t *testing.T) {
+		t.Parallel()
+
+		prompt := fantasy.Prompt{
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "Hello"},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleAssistant,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "First part. "},
+					fantasy.TextPart{Text: "Second part. "},
+					fantasy.TextPart{Text: "Third part."},
+				},
+			},
+		}
+
+		messages, warnings := ToPromptFunc(prompt, "", "")
+
+		require.Empty(t, warnings)
+		require.Len(t, messages, 2)
+
+		// Assistant message should use only the last TextPart (matching openai behavior)
+		assistantMsg := messages[1].OfAssistant
+		require.NotNil(t, assistantMsg)
+		require.Equal(t, "Third part.", assistantMsg.Content.OfString.Value)
+	})
+
+	t.Run("should include user messages with only unsupported attachments", func(t *testing.T) {
+		t.Parallel()
+
+		prompt := fantasy.Prompt{
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "Hello"},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.FilePart{
+						MediaType: "application/x-unsupported",
+						Data:      []byte("unsupported data"),
+					},
+				},
+			},
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "After unsupported"},
+				},
+			},
+		}
+
+		messages, warnings := ToPromptFunc(prompt, "", "")
+
+		require.Len(t, warnings, 1)
+		require.Contains(t, warnings[0].Message, "not supported")
+		// Should have all 3 messages (matching openai behavior - don't skip empty content)
+		require.Len(t, messages, 3)
+
+		msg1 := messages[0].OfUser
+		require.NotNil(t, msg1)
+		require.Equal(t, "Hello", msg1.Content.OfString.Value)
+
+		// Second message has empty content (unsupported attachment was skipped)
+		msg2 := messages[1].OfUser
+		require.NotNil(t, msg2)
+		content2 := msg2.Content.OfArrayOfContentParts
+		require.Len(t, content2, 0)
+
+		msg3 := messages[2].OfUser
+		require.NotNil(t, msg3)
+		require.Equal(t, "After unsupported", msg3.Content.OfString.Value)
+	})
+
+	t.Run("should detect PDF file IDs using strings.HasPrefix", func(t *testing.T) {
+		t.Parallel()
+
+		prompt := fantasy.Prompt{
+			{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "Check this PDF"},
+					fantasy.FilePart{
+						MediaType: "application/pdf",
+						Data:      []byte("file-abc123xyz"),
+						Filename:  "test.pdf",
+					},
+				},
+			},
+		}
+
+		messages, warnings := ToPromptFunc(prompt, "", "")
+
+		require.Empty(t, warnings)
+		require.Len(t, messages, 1)
+
+		userMsg := messages[0].OfUser
+		require.NotNil(t, userMsg)
+
+		content := userMsg.Content.OfArrayOfContentParts
+		require.Len(t, content, 2)
+
+		// Second content part should be file with file_id
+		filePart := content[1].OfFile
+		require.NotNil(t, filePart)
+		require.Equal(t, "file-abc123xyz", filePart.File.FileID.Value)
+	})
+}

providers/openaicompat/provider_options.go 🔗

@@ -2,10 +2,28 @@
 package openaicompat
 
 import (
+	"encoding/json"
+
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/openai"
 )
 
+// Global type identifiers for OpenAI-compatible provider data.
+const (
+	TypeProviderOptions = Name + ".options"
+)
+
+// Register OpenAI-compatible provider-specific types with the global registry.
+func init() {
+	fantasy.RegisterProviderType(TypeProviderOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+}
+
 // ProviderOptions represents additional options for the OpenAI-compatible provider.
 type ProviderOptions struct {
 	User            *string                 `json:"user"`
@@ -20,6 +38,23 @@ type ReasoningData struct {
 // Options implements the ProviderOptions interface.
 func (*ProviderOptions) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderOptions.
+func (o ProviderOptions) MarshalJSON() ([]byte, error) {
+	type plain ProviderOptions
+	return fantasy.MarshalProviderType(TypeProviderOptions, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderOptions.
+func (o *ProviderOptions) UnmarshalJSON(data []byte) error {
+	type plain ProviderOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ProviderOptions(p)
+	return nil
+}
+
 // NewProviderOptions creates new provider options for the OpenAI-compatible provider.
 func NewProviderOptions(opts *ProviderOptions) fantasy.ProviderOptions {
 	return fantasy.ProviderOptions{

providers/openrouter/openrouter.go 🔗

@@ -12,6 +12,7 @@ import (
 type options struct {
 	openaiOptions        []openai.Option
 	languageModelOptions []openai.LanguageModelOption
+	objectMode           fantasy.ObjectMode
 }
 
 const (
@@ -39,12 +40,24 @@ func New(opts ...Option) (fantasy.Provider, error) {
 			openai.WithLanguageModelExtraContentFunc(languageModelExtraContent),
 			openai.WithLanguageModelToPromptFunc(languageModelToPrompt),
 		},
+		objectMode: fantasy.ObjectModeTool, // Default to tool mode for openrouter
 	}
 	for _, o := range opts {
 		o(&providerOptions)
 	}
 
-	providerOptions.openaiOptions = append(providerOptions.openaiOptions, openai.WithLanguageModelOptions(providerOptions.languageModelOptions...))
+	// Handle object mode: convert unsupported modes to tool
+	// OpenRouter doesn't support native JSON mode, so we use tool or text
+	objectMode := providerOptions.objectMode
+	if objectMode == fantasy.ObjectModeAuto || objectMode == fantasy.ObjectModeJSON {
+		objectMode = fantasy.ObjectModeTool
+	}
+
+	providerOptions.openaiOptions = append(
+		providerOptions.openaiOptions,
+		openai.WithLanguageModelOptions(providerOptions.languageModelOptions...),
+		openai.WithObjectMode(objectMode),
+	)
 	return openai.New(providerOptions.openaiOptions...)
 }
 
@@ -76,6 +89,16 @@ func WithHTTPClient(client option.HTTPClient) Option {
 	}
 }
 
+// WithObjectMode sets the object generation mode for the OpenRouter provider.
+// Supported modes: ObjectModeTool, ObjectModeText.
+// ObjectModeAuto and ObjectModeJSON are automatically converted to ObjectModeTool
+// since OpenRouter doesn't support native JSON mode.
+func WithObjectMode(om fantasy.ObjectMode) Option {
+	return func(o *options) {
+		o.objectMode = om
+	}
+}
+
 func structToMapJSON(s any) (map[string]any, error) {
 	var result map[string]any
 	jsonBytes, err := json.Marshal(s)

providers/openrouter/provider_options.go 🔗

@@ -2,6 +2,8 @@
 package openrouter
 
 import (
+	"encoding/json"
+
 	"charm.land/fantasy"
 )
 
@@ -17,14 +19,38 @@ const (
 	ReasoningEffortHigh ReasoningEffort = "high"
 )
 
+// Global type identifiers for OpenRouter-specific provider data.
+const (
+	TypeProviderOptions  = Name + ".options"
+	TypeProviderMetadata = Name + ".metadata"
+)
+
+// Register OpenRouter provider-specific types with the global registry.
+func init() {
+	fantasy.RegisterProviderType(TypeProviderOptions, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderOptions
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+	fantasy.RegisterProviderType(TypeProviderMetadata, func(data []byte) (fantasy.ProviderOptionsData, error) {
+		var v ProviderMetadata
+		if err := json.Unmarshal(data, &v); err != nil {
+			return nil, err
+		}
+		return &v, nil
+	})
+}
+
 // PromptTokensDetails represents details about prompt tokens for OpenRouter.
 type PromptTokensDetails struct {
-	CachedTokens int64
+	CachedTokens int64 `json:"cached_tokens"`
 }
 
 // CompletionTokensDetails represents details about completion tokens for OpenRouter.
 type CompletionTokensDetails struct {
-	ReasoningTokens int64
+	ReasoningTokens int64 `json:"reasoning_tokens"`
 }
 
 // CostDetails represents cost details for OpenRouter.
@@ -54,6 +80,23 @@ type ProviderMetadata struct {
 // Options implements the ProviderOptionsData interface for ProviderMetadata.
 func (*ProviderMetadata) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderMetadata.
+func (m ProviderMetadata) MarshalJSON() ([]byte, error) {
+	type plain ProviderMetadata
+	return fantasy.MarshalProviderType(TypeProviderMetadata, plain(m))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderMetadata.
+func (m *ProviderMetadata) UnmarshalJSON(data []byte) error {
+	type plain ProviderMetadata
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*m = ProviderMetadata(p)
+	return nil
+}
+
 // ReasoningOptions represents reasoning options for OpenRouter.
 type ReasoningOptions struct {
 	// Whether reasoning is enabled
@@ -110,6 +153,23 @@ type ProviderOptions struct {
 // Options implements the ProviderOptionsData interface for ProviderOptions.
 func (*ProviderOptions) Options() {}
 
+// MarshalJSON implements custom JSON marshaling with type info for ProviderOptions.
+func (o ProviderOptions) MarshalJSON() ([]byte, error) {
+	type plain ProviderOptions
+	return fantasy.MarshalProviderType(TypeProviderOptions, plain(o))
+}
+
+// UnmarshalJSON implements custom JSON unmarshaling with type info for ProviderOptions.
+func (o *ProviderOptions) UnmarshalJSON(data []byte) error {
+	type plain ProviderOptions
+	var p plain
+	if err := fantasy.UnmarshalProviderType(data, &p); err != nil {
+		return err
+	}
+	*o = ProviderOptions(p)
+	return nil
+}
+
 // ReasoningDetail represents a reasoning detail for OpenRouter.
 type ReasoningDetail struct {
 	ID        string `json:"id,omitempty"`

providertests/anthropic_test.go 🔗

@@ -8,8 +8,8 @@ import (
 
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/anthropic"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 var anthropicTestModels = []testModel{
@@ -99,6 +99,14 @@ func TestAnthropicThinkingWithCacheControl(t *testing.T) {
 	testThinking(t, pairs, testAnthropicThinking)
 }
 
+func TestAnthropicObjectGeneration(t *testing.T) {
+	var pairs []builderPair
+	for _, m := range anthropicTestModels {
+		pairs = append(pairs, builderPair{m.name, anthropicBuilder(m.model), nil, nil})
+	}
+	testObjectGeneration(t, pairs)
+}
+
 func testAnthropicThinking(t *testing.T, result *fantasy.AgentResult) {
 	reasoningContentCount := 0
 	signaturesCount := 0
@@ -136,7 +144,7 @@ func testAnthropicThinking(t *testing.T, result *fantasy.AgentResult) {
 }
 
 func anthropicBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := anthropic.New(
 			anthropic.WithAPIKey(os.Getenv("FANTASY_ANTHROPIC_API_KEY")),
 			anthropic.WithHTTPClient(&http.Client{Transport: r}),

providertests/azure_responses_test.go 🔗

@@ -9,8 +9,8 @@ import (
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/azure"
 	"charm.land/fantasy/providers/openai"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 func TestAzureResponsesCommon(t *testing.T) {
@@ -26,7 +26,7 @@ func TestAzureResponsesCommon(t *testing.T) {
 }
 
 func azureReasoningBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := azure.New(
 			azure.WithBaseURL(cmp.Or(os.Getenv("FANTASY_AZURE_BASE_URL"), defaultBaseURL)),
 			azure.WithAPIKey(cmp.Or(os.Getenv("FANTASY_AZURE_API_KEY"), "(missing)")),

providertests/azure_test.go 🔗

@@ -9,8 +9,8 @@ import (
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/azure"
 	"charm.land/fantasy/providers/openai"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 const defaultBaseURL = "https://fantasy-playground-resource.openai.azure.com"
@@ -39,7 +39,7 @@ func testAzureThinking(t *testing.T, result *fantasy.AgentResult) {
 	require.Greater(t, result.Response.Usage.ReasoningTokens, int64(0), "expected reasoning tokens, got none")
 }
 
-func builderAzureO4Mini(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderAzureO4Mini(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := azure.New(
 		azure.WithBaseURL(cmp.Or(os.Getenv("FANTASY_AZURE_BASE_URL"), defaultBaseURL)),
 		azure.WithAPIKey(cmp.Or(os.Getenv("FANTASY_AZURE_API_KEY"), "(missing)")),
@@ -51,7 +51,7 @@ func builderAzureO4Mini(t *testing.T, r *recorder.Recorder) (fantasy.LanguageMod
 	return provider.LanguageModel(t.Context(), "o4-mini")
 }
 
-func builderAzureGpt5Mini(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderAzureGpt5Mini(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := azure.New(
 		azure.WithBaseURL(cmp.Or(os.Getenv("FANTASY_AZURE_BASE_URL"), defaultBaseURL)),
 		azure.WithAPIKey(cmp.Or(os.Getenv("FANTASY_AZURE_API_KEY"), "(missing)")),
@@ -63,7 +63,7 @@ func builderAzureGpt5Mini(t *testing.T, r *recorder.Recorder) (fantasy.LanguageM
 	return provider.LanguageModel(t.Context(), "gpt-5-mini")
 }
 
-func builderAzureGrok3Mini(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderAzureGrok3Mini(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := azure.New(
 		azure.WithBaseURL(cmp.Or(os.Getenv("FANTASY_AZURE_BASE_URL"), defaultBaseURL)),
 		azure.WithAPIKey(cmp.Or(os.Getenv("FANTASY_AZURE_API_KEY"), "(missing)")),

providertests/bedrock_test.go 🔗

@@ -7,7 +7,7 @@ import (
 
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/bedrock"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
+	"charm.land/x/vcr"
 )
 
 func TestBedrockCommon(t *testing.T) {
@@ -22,7 +22,7 @@ func TestBedrockBasicAuth(t *testing.T) {
 	testSimple(t, builderPair{"bedrock-anthropic-claude-3-sonnet", buildersBedrockBasicAuth, nil, nil})
 }
 
-func builderBedrockClaude3Sonnet(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderBedrockClaude3Sonnet(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := bedrock.New(
 		bedrock.WithHTTPClient(&http.Client{Transport: r}),
 		bedrock.WithSkipAuth(!r.IsRecording()),
@@ -33,7 +33,7 @@ func builderBedrockClaude3Sonnet(t *testing.T, r *recorder.Recorder) (fantasy.La
 	return provider.LanguageModel(t.Context(), "anthropic.claude-3-sonnet-20240229-v1:0")
 }
 
-func builderBedrockClaude3Opus(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderBedrockClaude3Opus(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := bedrock.New(
 		bedrock.WithHTTPClient(&http.Client{Transport: r}),
 		bedrock.WithSkipAuth(!r.IsRecording()),
@@ -44,7 +44,7 @@ func builderBedrockClaude3Opus(t *testing.T, r *recorder.Recorder) (fantasy.Lang
 	return provider.LanguageModel(t.Context(), "anthropic.claude-3-opus-20240229-v1:0")
 }
 
-func builderBedrockClaude3Haiku(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderBedrockClaude3Haiku(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := bedrock.New(
 		bedrock.WithHTTPClient(&http.Client{Transport: r}),
 		bedrock.WithSkipAuth(!r.IsRecording()),
@@ -55,7 +55,7 @@ func builderBedrockClaude3Haiku(t *testing.T, r *recorder.Recorder) (fantasy.Lan
 	return provider.LanguageModel(t.Context(), "anthropic.claude-3-haiku-20240307-v1:0")
 }
 
-func buildersBedrockBasicAuth(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func buildersBedrockBasicAuth(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := bedrock.New(
 		bedrock.WithHTTPClient(&http.Client{Transport: r}),
 		bedrock.WithAPIKey(os.Getenv("FANTASY_BEDROCK_API_KEY")),

providertests/common_test.go 🔗

@@ -8,9 +8,9 @@ import (
 	"testing"
 
 	"charm.land/fantasy"
+	"charm.land/x/vcr"
 	"github.com/joho/godotenv"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 func init() {
@@ -27,7 +27,7 @@ type testModel struct {
 	reasoning bool
 }
 
-type builderFunc func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error)
+type builderFunc func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error)
 
 type builderPair struct {
 	name            string
@@ -54,7 +54,7 @@ func testSimple(t *testing.T, pair builderPair) {
 	}
 
 	t.Run("simple", func(t *testing.T) {
-		r := newRecorder(t)
+		r := vcr.NewRecorder(t)
 
 		languageModel, err := pair.builder(t, r)
 		require.NoError(t, err, "failed to build language model")
@@ -73,7 +73,7 @@ func testSimple(t *testing.T, pair builderPair) {
 		checkResult(t, result)
 	})
 	t.Run("simple streaming", func(t *testing.T) {
-		r := newRecorder(t)
+		r := vcr.NewRecorder(t)
 
 		languageModel, err := pair.builder(t, r)
 		require.NoError(t, err, "failed to build language model")
@@ -127,7 +127,7 @@ func testTool(t *testing.T, pair builderPair) {
 	}
 
 	t.Run("tool", func(t *testing.T) {
-		r := newRecorder(t)
+		r := vcr.NewRecorder(t)
 
 		languageModel, err := pair.builder(t, r)
 		require.NoError(t, err, "failed to build language model")
@@ -147,7 +147,7 @@ func testTool(t *testing.T, pair builderPair) {
 		checkResult(t, result)
 	})
 	t.Run("tool streaming", func(t *testing.T) {
-		r := newRecorder(t)
+		r := vcr.NewRecorder(t)
 
 		languageModel, err := pair.builder(t, r)
 		require.NoError(t, err, "failed to build language model")
@@ -227,7 +227,7 @@ func testMultiTool(t *testing.T, pair builderPair) {
 	}
 
 	t.Run("multi tool", func(t *testing.T) {
-		r := newRecorder(t)
+		r := vcr.NewRecorder(t)
 
 		languageModel, err := pair.builder(t, r)
 		require.NoError(t, err, "failed to build language model")
@@ -248,7 +248,7 @@ func testMultiTool(t *testing.T, pair builderPair) {
 		checkResult(t, result)
 	})
 	t.Run("multi tool streaming", func(t *testing.T) {
-		r := newRecorder(t)
+		r := vcr.NewRecorder(t)
 
 		languageModel, err := pair.builder(t, r)
 		require.NoError(t, err, "failed to build language model")
@@ -274,7 +274,7 @@ func testThinking(t *testing.T, pairs []builderPair, thinkChecks func(*testing.T
 	for _, pair := range pairs {
 		t.Run(pair.name, func(t *testing.T) {
 			t.Run("thinking", func(t *testing.T) {
-				r := newRecorder(t)
+				r := vcr.NewRecorder(t)
 
 				languageModel, err := pair.builder(t, r)
 				require.NoError(t, err, "failed to build language model")
@@ -311,7 +311,7 @@ func testThinking(t *testing.T, pairs []builderPair, thinkChecks func(*testing.T
 				thinkChecks(t, result)
 			})
 			t.Run("thinking-streaming", func(t *testing.T) {
-				r := newRecorder(t)
+				r := vcr.NewRecorder(t)
 
 				languageModel, err := pair.builder(t, r)
 				require.NoError(t, err, "failed to build language model")

providertests/google_test.go 🔗

@@ -9,8 +9,8 @@ import (
 
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/google"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 var geminiTestModels = []testModel{
@@ -55,6 +55,22 @@ func TestGoogleThinking(t *testing.T) {
 	testThinking(t, pairs, testGoogleThinking)
 }
 
+func TestGoogleObjectGeneration(t *testing.T) {
+	var pairs []builderPair
+	for _, m := range geminiTestModels {
+		pairs = append(pairs, builderPair{m.name, geminiBuilder(m.model), nil, nil})
+	}
+	testObjectGeneration(t, pairs)
+}
+
+func TestGoogleVertexObjectGeneration(t *testing.T) {
+	var pairs []builderPair
+	for _, m := range vertexTestModels {
+		pairs = append(pairs, builderPair{m.name, vertexBuilder(m.model), nil, nil})
+	}
+	testObjectGeneration(t, pairs)
+}
+
 func testGoogleThinking(t *testing.T, result *fantasy.AgentResult) {
 	reasoningContentCount := 0
 	// Test if we got the signature
@@ -79,7 +95,7 @@ func generateIDMock() google.ToolCallIDFunc {
 }
 
 func geminiBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := google.New(
 			google.WithGeminiAPIKey(cmp.Or(os.Getenv("FANTASY_GEMINI_API_KEY"), "(missing)")),
 			google.WithHTTPClient(&http.Client{Transport: r}),
@@ -93,7 +109,7 @@ func geminiBuilder(model string) builderFunc {
 }
 
 func vertexBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := google.New(
 			google.WithVertex(os.Getenv("FANTASY_VERTEX_PROJECT"), os.Getenv("FANTASY_VERTEX_LOCATION")),
 			google.WithHTTPClient(&http.Client{Transport: r}),

providertests/image_upload_test.go 🔗

@@ -10,12 +10,12 @@ import (
 	"charm.land/fantasy/providers/anthropic"
 	"charm.land/fantasy/providers/google"
 	"charm.land/fantasy/providers/openai"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 func anthropicImageBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := anthropic.New(
 			anthropic.WithAPIKey(cmp.Or(os.Getenv("FANTASY_ANTHROPIC_API_KEY"), "(missing)")),
 			anthropic.WithHTTPClient(&http.Client{Transport: r}),
@@ -28,7 +28,7 @@ func anthropicImageBuilder(model string) builderFunc {
 }
 
 func openAIImageBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := openai.New(
 			openai.WithAPIKey(cmp.Or(os.Getenv("FANTASY_OPENAI_API_KEY"), "(missing)")),
 			openai.WithHTTPClient(&http.Client{Transport: r}),
@@ -41,7 +41,7 @@ func openAIImageBuilder(model string) builderFunc {
 }
 
 func geminiImageBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := google.New(
 			google.WithGeminiAPIKey(cmp.Or(os.Getenv("FANTASY_GEMINI_API_KEY"), "(missing)")),
 			google.WithHTTPClient(&http.Client{Transport: r}),
@@ -76,7 +76,7 @@ func TestImageUploadAgent(t *testing.T) {
 
 	for _, pair := range pairs {
 		t.Run(pair.name, func(t *testing.T) {
-			r := newRecorder(t)
+			r := vcr.NewRecorder(t)
 
 			lm, err := pair.builder(t, r)
 			require.NoError(t, err)
@@ -122,7 +122,7 @@ func TestImageUploadAgentStreaming(t *testing.T) {
 
 	for _, pair := range pairs {
 		t.Run(pair.name+"-stream", func(t *testing.T) {
-			r := newRecorder(t)
+			r := vcr.NewRecorder(t)
 
 			lm, err := pair.builder(t, r)
 			require.NoError(t, err)

providertests/object_test.go 🔗

@@ -0,0 +1,422 @@
+package providertests
+
+import (
+	"context"
+	"strings"
+	"testing"
+
+	"charm.land/fantasy"
+	"charm.land/x/vcr"
+	"github.com/stretchr/testify/require"
+)
+
+// Object generation tests for providers.
+//
+// These test functions can be used to test structured object generation
+// (GenerateObject and StreamObject) for any provider implementation.
+//
+// Usage example:
+//
+//	func TestMyProviderObjectGeneration(t *testing.T) {
+//		var pairs []builderPair
+//		for _, m := range myTestModels {
+//			pairs = append(pairs, builderPair{m.name, myBuilder(m.model), nil, nil})
+//		}
+//		testObjectGeneration(t, pairs)
+//	}
+//
+// The tests cover:
+// - Simple object generation (flat schema with basic types)
+// - Complex object generation (nested objects and arrays)
+// - Streaming object generation (progressive updates)
+// - Object generation with custom repair functions
+
+// testObjectGeneration tests structured object generation for a provider.
+// It includes both non-streaming (GenerateObject) and streaming (StreamObject) tests.
+func testObjectGeneration(t *testing.T, pairs []builderPair) {
+	for _, pair := range pairs {
+		t.Run(pair.name, func(t *testing.T) {
+			testSimpleObject(t, pair)
+			testComplexObject(t, pair)
+		})
+	}
+}
+
+func testSimpleObject(t *testing.T, pair builderPair) {
+	// Define a simple schema for a person object
+	schema := fantasy.Schema{
+		Type: "object",
+		Properties: map[string]*fantasy.Schema{
+			"name": {
+				Type:        "string",
+				Description: "The person's name",
+			},
+			"age": {
+				Type:        "integer",
+				Description: "The person's age",
+			},
+			"city": {
+				Type:        "string",
+				Description: "The city where the person lives",
+			},
+		},
+		Required: []string{"name", "age", "city"},
+	}
+
+	checkResult := func(t *testing.T, obj any, rawText string, usage fantasy.Usage) {
+		require.NotNil(t, obj, "object should not be nil")
+		require.NotEmpty(t, rawText, "raw text should not be empty")
+		require.Greater(t, usage.TotalTokens, int64(0), "usage should be tracked")
+
+		// Validate structure
+		objMap, ok := obj.(map[string]any)
+		require.True(t, ok, "object should be a map")
+		require.Contains(t, objMap, "name")
+		require.Contains(t, objMap, "age")
+		require.Contains(t, objMap, "city")
+
+		// Validate types
+		name, ok := objMap["name"].(string)
+		require.True(t, ok, "name should be a string")
+		require.NotEmpty(t, name, "name should not be empty")
+
+		// Age could be float64 from JSON unmarshaling
+		age, ok := objMap["age"].(float64)
+		require.True(t, ok, "age should be a number")
+		require.Greater(t, age, 0.0, "age should be greater than 0")
+
+		city, ok := objMap["city"].(string)
+		require.True(t, ok, "city should be a string")
+		require.NotEmpty(t, city, "city should not be empty")
+	}
+
+	t.Run("simple object", func(t *testing.T) {
+		r := vcr.NewRecorder(t)
+
+		languageModel, err := pair.builder(t, r)
+		require.NoError(t, err, "failed to build language model")
+
+		prompt := fantasy.Prompt{
+			fantasy.NewUserMessage("Generate information about a person named Alice who is 30 years old and lives in Paris."),
+		}
+
+		response, err := languageModel.GenerateObject(t.Context(), fantasy.ObjectCall{
+			Prompt:            prompt,
+			Schema:            schema,
+			SchemaName:        "Person",
+			SchemaDescription: "A person with name, age, and city",
+			MaxOutputTokens:   fantasy.Opt(int64(4000)),
+			ProviderOptions:   pair.providerOptions,
+		})
+		require.NoError(t, err, "failed to generate object")
+		require.NotNil(t, response, "response should not be nil")
+		checkResult(t, response.Object, response.RawText, response.Usage)
+	})
+
+	t.Run("simple object streaming", func(t *testing.T) {
+		r := vcr.NewRecorder(t)
+
+		languageModel, err := pair.builder(t, r)
+		require.NoError(t, err, "failed to build language model")
+
+		prompt := fantasy.Prompt{
+			fantasy.NewUserMessage("Generate information about a person named Alice who is 30 years old and lives in Paris."),
+		}
+
+		stream, err := languageModel.StreamObject(t.Context(), fantasy.ObjectCall{
+			Prompt:            prompt,
+			Schema:            schema,
+			SchemaName:        "Person",
+			SchemaDescription: "A person with name, age, and city",
+			MaxOutputTokens:   fantasy.Opt(int64(4000)),
+			ProviderOptions:   pair.providerOptions,
+		})
+		require.NoError(t, err, "failed to create object stream")
+		require.NotNil(t, stream, "stream should not be nil")
+
+		var lastObject any
+		var rawText string
+		var usage fantasy.Usage
+		var finishReason fantasy.FinishReason
+		objectCount := 0
+
+		for part := range stream {
+			switch part.Type {
+			case fantasy.ObjectStreamPartTypeObject:
+				lastObject = part.Object
+				objectCount++
+			case fantasy.ObjectStreamPartTypeTextDelta:
+				rawText += part.Delta
+			case fantasy.ObjectStreamPartTypeFinish:
+				usage = part.Usage
+				finishReason = part.FinishReason
+			case fantasy.ObjectStreamPartTypeError:
+				t.Fatalf("stream error: %v", part.Error)
+			}
+		}
+
+		require.NotNil(t, lastObject, "should have received at least one object")
+		require.Greater(t, objectCount, 0, "should have received object updates")
+		require.NotEqual(t, fantasy.FinishReasonUnknown, finishReason, "should have a finish reason")
+
+		// Validate object structure without requiring rawText (may be empty in tool-based mode)
+		require.NotNil(t, lastObject, "object should not be nil")
+		require.Greater(t, usage.TotalTokens, int64(0), "usage should be tracked")
+
+		// Validate structure
+		objMap, ok := lastObject.(map[string]any)
+		require.True(t, ok, "object should be a map")
+		require.Contains(t, objMap, "name")
+		require.Contains(t, objMap, "age")
+		require.Contains(t, objMap, "city")
+
+		// Validate types
+		name, ok := objMap["name"].(string)
+		require.True(t, ok, "name should be a string")
+		require.NotEmpty(t, name, "name should not be empty")
+
+		// Age could be float64 from JSON unmarshaling
+		age, ok := objMap["age"].(float64)
+		require.True(t, ok, "age should be a number")
+		require.Greater(t, age, 0.0, "age should be greater than 0")
+
+		city, ok := objMap["city"].(string)
+		require.True(t, ok, "city should be a string")
+		require.NotEmpty(t, city, "city should not be empty")
+	})
+}
+
+func testComplexObject(t *testing.T, pair builderPair) {
+	// Define a more complex schema with nested objects and arrays
+	schema := fantasy.Schema{
+		Type: "object",
+		Properties: map[string]*fantasy.Schema{
+			"title": {
+				Type:        "string",
+				Description: "The book title",
+			},
+			"author": {
+				Type: "object",
+				Properties: map[string]*fantasy.Schema{
+					"name": {
+						Type:        "string",
+						Description: "Author's name",
+					},
+					"nationality": {
+						Type:        "string",
+						Description: "Author's nationality",
+					},
+				},
+				Required: []string{"name", "nationality"},
+			},
+			"genres": {
+				Type: "array",
+				Items: &fantasy.Schema{
+					Type: "string",
+				},
+				Description: "List of genres",
+			},
+			"published_year": {
+				Type:        "integer",
+				Description: "Year the book was published",
+			},
+		},
+		Required: []string{"title", "author", "genres", "published_year"},
+	}
+
+	checkResult := func(t *testing.T, obj any, rawText string, usage fantasy.Usage) {
+		require.NotNil(t, obj, "object should not be nil")
+		require.NotEmpty(t, rawText, "raw text should not be empty")
+		require.Greater(t, usage.TotalTokens, int64(0), "usage should be tracked")
+
+		// Validate structure
+		objMap, ok := obj.(map[string]any)
+		require.True(t, ok, "object should be a map")
+		require.Contains(t, objMap, "title")
+		require.Contains(t, objMap, "author")
+		require.Contains(t, objMap, "genres")
+		require.Contains(t, objMap, "published_year")
+
+		// Validate title
+		title, ok := objMap["title"].(string)
+		require.True(t, ok, "title should be a string")
+		require.True(t, strings.Contains(strings.ToLower(title), "rings"), "title should contain 'rings'")
+
+		// Validate nested author object
+		author, ok := objMap["author"].(map[string]any)
+		require.True(t, ok, "author should be an object")
+		require.Contains(t, author, "name")
+		require.Contains(t, author, "nationality")
+
+		// Validate genres array
+		genres, ok := objMap["genres"].([]any)
+		require.True(t, ok, "genres should be an array")
+		require.Greater(t, len(genres), 0, "genres should have at least one item")
+		for _, genre := range genres {
+			_, ok := genre.(string)
+			require.True(t, ok, "each genre should be a string")
+		}
+
+		// Validate published_year
+		year, ok := objMap["published_year"].(float64)
+		require.True(t, ok, "published_year should be a number")
+		require.Greater(t, year, 1900.0, "published_year should be after 1900")
+	}
+
+	t.Run("complex object", func(t *testing.T) {
+		r := vcr.NewRecorder(t)
+
+		languageModel, err := pair.builder(t, r)
+		require.NoError(t, err, "failed to build language model")
+
+		prompt := fantasy.Prompt{
+			fantasy.NewUserMessage("Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."),
+		}
+
+		response, err := languageModel.GenerateObject(t.Context(), fantasy.ObjectCall{
+			Prompt:            prompt,
+			Schema:            schema,
+			SchemaName:        "Book",
+			SchemaDescription: "A book with title, author, genres, and publication year",
+			MaxOutputTokens:   fantasy.Opt(int64(4000)),
+			ProviderOptions:   pair.providerOptions,
+		})
+		require.NoError(t, err, "failed to generate object")
+		require.NotNil(t, response, "response should not be nil")
+		checkResult(t, response.Object, response.RawText, response.Usage)
+	})
+
+	t.Run("complex object streaming", func(t *testing.T) {
+		r := vcr.NewRecorder(t)
+
+		languageModel, err := pair.builder(t, r)
+		require.NoError(t, err, "failed to build language model")
+
+		prompt := fantasy.Prompt{
+			fantasy.NewUserMessage("Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."),
+		}
+
+		stream, err := languageModel.StreamObject(t.Context(), fantasy.ObjectCall{
+			Prompt:            prompt,
+			Schema:            schema,
+			SchemaName:        "Book",
+			SchemaDescription: "A book with title, author, genres, and publication year",
+			MaxOutputTokens:   fantasy.Opt(int64(4000)),
+			ProviderOptions:   pair.providerOptions,
+		})
+		require.NoError(t, err, "failed to create object stream")
+		require.NotNil(t, stream, "stream should not be nil")
+
+		var lastObject any
+		var rawText string
+		var usage fantasy.Usage
+		var finishReason fantasy.FinishReason
+		objectCount := 0
+
+		for part := range stream {
+			switch part.Type {
+			case fantasy.ObjectStreamPartTypeObject:
+				lastObject = part.Object
+				objectCount++
+			case fantasy.ObjectStreamPartTypeTextDelta:
+				rawText += part.Delta
+			case fantasy.ObjectStreamPartTypeFinish:
+				usage = part.Usage
+				finishReason = part.FinishReason
+			case fantasy.ObjectStreamPartTypeError:
+				t.Fatalf("stream error: %v", part.Error)
+			}
+		}
+
+		require.NotNil(t, lastObject, "should have received at least one object")
+		require.Greater(t, objectCount, 0, "should have received object updates")
+		require.NotEqual(t, fantasy.FinishReasonUnknown, finishReason, "should have a finish reason")
+
+		// Validate object structure without requiring rawText (may be empty in tool-based mode)
+		require.NotNil(t, lastObject, "object should not be nil")
+		require.Greater(t, usage.TotalTokens, int64(0), "usage should be tracked")
+
+		// Validate structure
+		objMap, ok := lastObject.(map[string]any)
+		require.True(t, ok, "object should be a map")
+		require.Contains(t, objMap, "title")
+		require.Contains(t, objMap, "author")
+		require.Contains(t, objMap, "genres")
+		require.Contains(t, objMap, "published_year")
+
+		// Validate title
+		title, ok := objMap["title"].(string)
+		require.True(t, ok, "title should be a string")
+		require.True(t, strings.Contains(strings.ToLower(title), "rings"), "title should contain 'rings'")
+
+		// Validate nested author object
+		author, ok := objMap["author"].(map[string]any)
+		require.True(t, ok, "author should be an object")
+		require.Contains(t, author, "name")
+		require.Contains(t, author, "nationality")
+
+		// Validate genres array
+		genres, ok := objMap["genres"].([]any)
+		require.True(t, ok, "genres should be an array")
+		require.Greater(t, len(genres), 0, "genres should have at least one item")
+		for _, genre := range genres {
+			_, ok := genre.(string)
+			require.True(t, ok, "each genre should be a string")
+		}
+
+		// Validate published_year
+		year, ok := objMap["published_year"].(float64)
+		require.True(t, ok, "published_year should be a number")
+		require.Greater(t, year, 1900.0, "published_year should be after 1900")
+	})
+}
+
+// testObjectWithRepair tests object generation with custom repair functionality.
+func testObjectWithRepair(t *testing.T, pairs []builderPair) {
+	for _, pair := range pairs {
+		t.Run(pair.name, func(t *testing.T) {
+			t.Run("object with repair", func(t *testing.T) {
+				r := vcr.NewRecorder(t)
+
+				languageModel, err := pair.builder(t, r)
+				require.NoError(t, err, "failed to build language model")
+
+				minVal := 1.0
+				schema := fantasy.Schema{
+					Type: "object",
+					Properties: map[string]*fantasy.Schema{
+						"count": {
+							Type:        "integer",
+							Description: "A count that must be positive",
+							Minimum:     &minVal,
+						},
+					},
+					Required: []string{"count"},
+				}
+
+				prompt := fantasy.Prompt{
+					fantasy.NewUserMessage("Return a count of 5"),
+				}
+
+				repairFunc := func(ctx context.Context, text string, err error) (string, error) {
+					// Simple repair: if the JSON is malformed, try to fix it
+					// This is a placeholder - real repair would be more sophisticated
+					return text, nil
+				}
+
+				response, err := languageModel.GenerateObject(t.Context(), fantasy.ObjectCall{
+					Prompt:            prompt,
+					Schema:            schema,
+					SchemaName:        "Count",
+					SchemaDescription: "A simple count object",
+					MaxOutputTokens:   fantasy.Opt(int64(4000)),
+					RepairText:        repairFunc,
+					ProviderOptions:   pair.providerOptions,
+				})
+				require.NoError(t, err, "failed to generate object")
+				require.NotNil(t, response, "response should not be nil")
+				require.NotNil(t, response.Object, "object should not be nil")
+			})
+		})
+	}
+}

providertests/openai_responses_test.go 🔗

@@ -7,8 +7,8 @@ import (
 
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/openai"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 func TestOpenAIResponsesCommon(t *testing.T) {
@@ -20,7 +20,7 @@ func TestOpenAIResponsesCommon(t *testing.T) {
 }
 
 func openAIReasoningBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := openai.New(
 			openai.WithAPIKey(os.Getenv("FANTASY_OPENAI_API_KEY")),
 			openai.WithHTTPClient(&http.Client{Transport: r}),
@@ -53,6 +53,14 @@ func TestOpenAIResponsesWithSummaryThinking(t *testing.T) {
 	testThinking(t, pairs, testOpenAIResponsesThinkingWithSummaryThinking)
 }
 
+func TestOpenAIResponsesObjectGeneration(t *testing.T) {
+	var pairs []builderPair
+	for _, m := range openaiTestModels {
+		pairs = append(pairs, builderPair{m.name, openAIReasoningBuilder(m.model), nil, nil})
+	}
+	testObjectGeneration(t, pairs)
+}
+
 func testOpenAIResponsesThinkingWithSummaryThinking(t *testing.T, result *fantasy.AgentResult) {
 	reasoningContentCount := 0
 	encryptedData := 0

providertests/openai_test.go 🔗

@@ -7,7 +7,7 @@ import (
 
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/openai"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
+	"charm.land/x/vcr"
 )
 
 var openaiTestModels = []testModel{
@@ -25,8 +25,16 @@ func TestOpenAICommon(t *testing.T) {
 	testCommon(t, pairs)
 }
 
+func TestOpenAIObjectGeneration(t *testing.T) {
+	var pairs []builderPair
+	for _, m := range openaiTestModels {
+		pairs = append(pairs, builderPair{m.name, openAIBuilder(m.model), nil, nil})
+	}
+	testObjectGeneration(t, pairs)
+}
+
 func openAIBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := openai.New(
 			openai.WithAPIKey(os.Getenv("FANTASY_OPENAI_API_KEY")),
 			openai.WithHTTPClient(&http.Client{Transport: r}),

providertests/openaicompat_test.go 🔗

@@ -8,8 +8,8 @@ import (
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/openai"
 	"charm.land/fantasy/providers/openaicompat"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 func TestOpenAICompatibleCommon(t *testing.T) {
@@ -23,6 +23,14 @@ func TestOpenAICompatibleCommon(t *testing.T) {
 	})
 }
 
+func TestOpenAICompatObjectGeneration(t *testing.T) {
+	testObjectGeneration(t, []builderPair{
+		{"xai-grok-4-fast", builderXAIGrok4Fast, nil, nil},
+		{"xai-grok-code-fast", builderXAIGrokCodeFast, nil, nil},
+		{"zai-glm-4.5", builderZAIGLM45, nil, nil},
+	})
+}
+
 func TestOpenAICompatibleThinking(t *testing.T) {
 	opts := fantasy.ProviderOptions{
 		openaicompat.Name: &openaicompat.ProviderOptions{
@@ -50,7 +58,7 @@ func testOpenAICompatThinking(t *testing.T, result *fantasy.AgentResult) {
 	require.Greater(t, reasoningContentCount, 0, "expected reasoning content, got none")
 }
 
-func builderXAIGrokCodeFast(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderXAIGrokCodeFast(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := openaicompat.New(
 		openaicompat.WithBaseURL("https://api.x.ai/v1"),
 		openaicompat.WithAPIKey(os.Getenv("FANTASY_XAI_API_KEY")),
@@ -62,7 +70,7 @@ func builderXAIGrokCodeFast(t *testing.T, r *recorder.Recorder) (fantasy.Languag
 	return provider.LanguageModel(t.Context(), "grok-code-fast-1")
 }
 
-func builderXAIGrok4Fast(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderXAIGrok4Fast(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := openaicompat.New(
 		openaicompat.WithBaseURL("https://api.x.ai/v1"),
 		openaicompat.WithAPIKey(os.Getenv("FANTASY_XAI_API_KEY")),
@@ -74,7 +82,7 @@ func builderXAIGrok4Fast(t *testing.T, r *recorder.Recorder) (fantasy.LanguageMo
 	return provider.LanguageModel(t.Context(), "grok-4-fast")
 }
 
-func builderXAIGrok3Mini(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderXAIGrok3Mini(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := openaicompat.New(
 		openaicompat.WithBaseURL("https://api.x.ai/v1"),
 		openaicompat.WithAPIKey(os.Getenv("FANTASY_XAI_API_KEY")),
@@ -86,7 +94,7 @@ func builderXAIGrok3Mini(t *testing.T, r *recorder.Recorder) (fantasy.LanguageMo
 	return provider.LanguageModel(t.Context(), "grok-3-mini")
 }
 
-func builderZAIGLM45(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderZAIGLM45(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := openaicompat.New(
 		openaicompat.WithBaseURL("https://api.z.ai/api/coding/paas/v4"),
 		openaicompat.WithAPIKey(os.Getenv("FANTASY_ZAI_API_KEY")),
@@ -98,7 +106,7 @@ func builderZAIGLM45(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel,
 	return provider.LanguageModel(t.Context(), "glm-4.5")
 }
 
-func builderGroq(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderGroq(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := openaicompat.New(
 		openaicompat.WithBaseURL("https://api.groq.com/openai/v1"),
 		openaicompat.WithAPIKey(os.Getenv("FANTASY_GROQ_API_KEY")),
@@ -110,7 +118,7 @@ func builderGroq(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, err
 	return provider.LanguageModel(t.Context(), "moonshotai/kimi-k2-instruct-0905")
 }
 
-func builderHuggingFace(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderHuggingFace(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := openaicompat.New(
 		openaicompat.WithBaseURL("https://router.huggingface.co/v1"),
 		openaicompat.WithAPIKey(os.Getenv("FANTASY_HUGGINGFACE_API_KEY")),
@@ -119,10 +127,10 @@ func builderHuggingFace(t *testing.T, r *recorder.Recorder) (fantasy.LanguageMod
 	if err != nil {
 		return nil, err
 	}
-	return provider.LanguageModel(t.Context(), "Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras")
+	return provider.LanguageModel(t.Context(), "zai-org/GLM-4.6:cerebras")
 }
 
-func builderLlamaCppGptOss(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+func builderLlamaCppGptOss(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 	provider, err := openaicompat.New(
 		openaicompat.WithBaseURL("http://localhost:8080/v1"),
 		openaicompat.WithHTTPClient(&http.Client{Transport: r}),

providertests/openrouter_test.go 🔗

@@ -8,8 +8,8 @@ import (
 	"charm.land/fantasy"
 	"charm.land/fantasy/providers/anthropic"
 	"charm.land/fantasy/providers/openrouter"
+	"charm.land/x/vcr"
 	"github.com/stretchr/testify/require"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
 )
 
 var openrouterTestModels = []testModel{
@@ -115,7 +115,7 @@ func testOpenrouterThinking(t *testing.T, result *fantasy.AgentResult) {
 }
 
 func openrouterBuilder(model string) builderFunc {
-	return func(t *testing.T, r *recorder.Recorder) (fantasy.LanguageModel, error) {
+	return func(t *testing.T, r *vcr.Recorder) (fantasy.LanguageModel, error) {
 		provider, err := openrouter.New(
 			openrouter.WithAPIKey(os.Getenv("FANTASY_OPENROUTER_API_KEY")),
 			openrouter.WithHTTPClient(&http.Client{Transport: r}),

providertests/provider_registry_test.go 🔗

@@ -0,0 +1,421 @@
+package providertests
+
+import (
+	"encoding/json"
+	"testing"
+
+	"charm.land/fantasy"
+	"charm.land/fantasy/providers/anthropic"
+	"charm.land/fantasy/providers/google"
+	"charm.land/fantasy/providers/openai"
+	"charm.land/fantasy/providers/openaicompat"
+	"charm.land/fantasy/providers/openrouter"
+	"github.com/stretchr/testify/require"
+)
+
+func TestProviderRegistry_Serialization_OpenAIOptions(t *testing.T) {
+	msg := fantasy.Message{
+		Role: fantasy.MessageRoleUser,
+		Content: []fantasy.MessagePart{
+			fantasy.TextPart{Text: "hi"},
+		},
+		ProviderOptions: fantasy.ProviderOptions{
+			openai.Name: &openai.ProviderOptions{User: fantasy.Opt("tester")},
+		},
+	}
+
+	data, err := json.Marshal(msg)
+	require.NoError(t, err)
+
+	var raw struct {
+		ProviderOptions map[string]map[string]any `json:"provider_options"`
+	}
+	require.NoError(t, json.Unmarshal(data, &raw))
+
+	po, ok := raw.ProviderOptions[openai.Name]
+	require.True(t, ok)
+	require.Equal(t, openai.TypeProviderOptions, po["type"]) // no magic strings
+	// ensure inner data has the field we set
+	inner, ok := po["data"].(map[string]any)
+	require.True(t, ok)
+	require.Equal(t, "tester", inner["user"])
+
+	var decoded fantasy.Message
+	require.NoError(t, json.Unmarshal(data, &decoded))
+
+	got, ok := decoded.ProviderOptions[openai.Name]
+	require.True(t, ok)
+	opt, ok := got.(*openai.ProviderOptions)
+	require.True(t, ok)
+	require.NotNil(t, opt.User)
+	require.Equal(t, "tester", *opt.User)
+}
+
+func TestProviderRegistry_Serialization_OpenAIResponses(t *testing.T) {
+	// Use ResponsesProviderOptions in provider options
+	msg := fantasy.Message{
+		Role: fantasy.MessageRoleUser,
+		Content: []fantasy.MessagePart{
+			fantasy.TextPart{Text: "hello"},
+		},
+		ProviderOptions: fantasy.ProviderOptions{
+			openai.Name: &openai.ResponsesProviderOptions{
+				PromptCacheKey:    fantasy.Opt("cache-key-1"),
+				ParallelToolCalls: fantasy.Opt(true),
+			},
+		},
+	}
+
+	data, err := json.Marshal(msg)
+	require.NoError(t, err)
+
+	// JSON should include the typed wrapper with constant TypeResponsesProviderOptions
+	var raw struct {
+		ProviderOptions map[string]map[string]any `json:"provider_options"`
+	}
+	require.NoError(t, json.Unmarshal(data, &raw))
+
+	po := raw.ProviderOptions[openai.Name]
+	require.Equal(t, openai.TypeResponsesProviderOptions, po["type"]) // no magic strings
+	inner, ok := po["data"].(map[string]any)
+	require.True(t, ok)
+	require.Equal(t, "cache-key-1", inner["prompt_cache_key"])
+	require.Equal(t, true, inner["parallel_tool_calls"])
+
+	// Unmarshal back and assert concrete type
+	var decoded fantasy.Message
+	require.NoError(t, json.Unmarshal(data, &decoded))
+	got := decoded.ProviderOptions[openai.Name]
+	reqOpts, ok := got.(*openai.ResponsesProviderOptions)
+	require.True(t, ok)
+	require.NotNil(t, reqOpts.PromptCacheKey)
+	require.Equal(t, "cache-key-1", *reqOpts.PromptCacheKey)
+	require.NotNil(t, reqOpts.ParallelToolCalls)
+	require.Equal(t, true, *reqOpts.ParallelToolCalls)
+}
+
+func TestProviderRegistry_Serialization_OpenAIResponsesReasoningMetadata(t *testing.T) {
+	resp := fantasy.Response{
+		Content: []fantasy.Content{
+			fantasy.TextContent{
+				Text: "",
+				ProviderMetadata: fantasy.ProviderMetadata{
+					openai.Name: &openai.ResponsesReasoningMetadata{
+						ItemID:  "item-123",
+						Summary: []string{"part1", "part2"},
+					},
+				},
+			},
+		},
+	}
+
+	data, err := json.Marshal(resp)
+	require.NoError(t, err)
+
+	// Ensure the provider metadata is wrapped with type using constant
+	var raw struct {
+		Content []struct {
+			Type string         `json:"type"`
+			Data map[string]any `json:"data"`
+		} `json:"content"`
+	}
+	require.NoError(t, json.Unmarshal(data, &raw))
+	require.Greater(t, len(raw.Content), 0)
+	tc := raw.Content[0]
+	pm, ok := tc.Data["provider_metadata"].(map[string]any)
+	require.True(t, ok)
+	om, ok := pm[openai.Name].(map[string]any)
+	require.True(t, ok)
+	require.Equal(t, openai.TypeResponsesReasoningMetadata, om["type"]) // no magic strings
+	inner, ok := om["data"].(map[string]any)
+	require.True(t, ok)
+	require.Equal(t, "item-123", inner["item_id"])
+
+	// Unmarshal back
+	var decoded fantasy.Response
+	require.NoError(t, json.Unmarshal(data, &decoded))
+	pmDecoded := decoded.Content[0].(fantasy.TextContent).ProviderMetadata
+	val, ok := pmDecoded[openai.Name]
+	require.True(t, ok)
+	meta, ok := val.(*openai.ResponsesReasoningMetadata)
+	require.True(t, ok)
+	require.Equal(t, "item-123", meta.ItemID)
+	require.Equal(t, []string{"part1", "part2"}, meta.Summary)
+}
+
+func TestProviderRegistry_Serialization_AnthropicOptions(t *testing.T) {
+	sendReasoning := true
+	msg := fantasy.Message{
+		Role: fantasy.MessageRoleUser,
+		Content: []fantasy.MessagePart{
+			fantasy.TextPart{Text: "test message"},
+		},
+		ProviderOptions: fantasy.ProviderOptions{
+			anthropic.Name: &anthropic.ProviderOptions{
+				SendReasoning: &sendReasoning,
+			},
+		},
+	}
+
+	data, err := json.Marshal(msg)
+	require.NoError(t, err)
+
+	var decoded fantasy.Message
+	require.NoError(t, json.Unmarshal(data, &decoded))
+
+	got, ok := decoded.ProviderOptions[anthropic.Name]
+	require.True(t, ok)
+	opt, ok := got.(*anthropic.ProviderOptions)
+	require.True(t, ok)
+	require.NotNil(t, opt.SendReasoning)
+	require.Equal(t, true, *opt.SendReasoning)
+}
+
+func TestProviderRegistry_Serialization_GoogleOptions(t *testing.T) {
+	msg := fantasy.Message{
+		Role: fantasy.MessageRoleUser,
+		Content: []fantasy.MessagePart{
+			fantasy.TextPart{Text: "test message"},
+		},
+		ProviderOptions: fantasy.ProviderOptions{
+			google.Name: &google.ProviderOptions{
+				CachedContent: "cached-123",
+				Threshold:     "BLOCK_ONLY_HIGH",
+			},
+		},
+	}
+
+	data, err := json.Marshal(msg)
+	require.NoError(t, err)
+
+	var decoded fantasy.Message
+	require.NoError(t, json.Unmarshal(data, &decoded))
+
+	got, ok := decoded.ProviderOptions[google.Name]
+	require.True(t, ok)
+	opt, ok := got.(*google.ProviderOptions)
+	require.True(t, ok)
+	require.Equal(t, "cached-123", opt.CachedContent)
+	require.Equal(t, "BLOCK_ONLY_HIGH", opt.Threshold)
+}
+
+func TestProviderRegistry_Serialization_OpenRouterOptions(t *testing.T) {
+	includeUsage := true
+	msg := fantasy.Message{
+		Role: fantasy.MessageRoleUser,
+		Content: []fantasy.MessagePart{
+			fantasy.TextPart{Text: "test message"},
+		},
+		ProviderOptions: fantasy.ProviderOptions{
+			openrouter.Name: &openrouter.ProviderOptions{
+				IncludeUsage: &includeUsage,
+				User:         fantasy.Opt("test-user"),
+			},
+		},
+	}
+
+	data, err := json.Marshal(msg)
+	require.NoError(t, err)
+
+	var decoded fantasy.Message
+	require.NoError(t, json.Unmarshal(data, &decoded))
+
+	got, ok := decoded.ProviderOptions[openrouter.Name]
+	require.True(t, ok)
+	opt, ok := got.(*openrouter.ProviderOptions)
+	require.True(t, ok)
+	require.NotNil(t, opt.IncludeUsage)
+	require.Equal(t, true, *opt.IncludeUsage)
+	require.NotNil(t, opt.User)
+	require.Equal(t, "test-user", *opt.User)
+}
+
+func TestProviderRegistry_Serialization_OpenAICompatOptions(t *testing.T) {
+	effort := openai.ReasoningEffortHigh
+	msg := fantasy.Message{
+		Role: fantasy.MessageRoleUser,
+		Content: []fantasy.MessagePart{
+			fantasy.TextPart{Text: "test message"},
+		},
+		ProviderOptions: fantasy.ProviderOptions{
+			openaicompat.Name: &openaicompat.ProviderOptions{
+				User:            fantasy.Opt("test-user"),
+				ReasoningEffort: &effort,
+			},
+		},
+	}
+
+	data, err := json.Marshal(msg)
+	require.NoError(t, err)
+
+	var decoded fantasy.Message
+	require.NoError(t, json.Unmarshal(data, &decoded))
+
+	got, ok := decoded.ProviderOptions[openaicompat.Name]
+	require.True(t, ok)
+	opt, ok := got.(*openaicompat.ProviderOptions)
+	require.True(t, ok)
+	require.NotNil(t, opt.User)
+	require.Equal(t, "test-user", *opt.User)
+	require.NotNil(t, opt.ReasoningEffort)
+	require.Equal(t, openai.ReasoningEffortHigh, *opt.ReasoningEffort)
+}
+
+func TestProviderRegistry_MultiProvider(t *testing.T) {
+	// Test with multiple providers in one message
+	sendReasoning := true
+	msg := fantasy.Message{
+		Role: fantasy.MessageRoleUser,
+		Content: []fantasy.MessagePart{
+			fantasy.TextPart{Text: "test"},
+		},
+		ProviderOptions: fantasy.ProviderOptions{
+			openai.Name: &openai.ProviderOptions{User: fantasy.Opt("user1")},
+			anthropic.Name: &anthropic.ProviderOptions{
+				SendReasoning: &sendReasoning,
+			},
+		},
+	}
+
+	data, err := json.Marshal(msg)
+	require.NoError(t, err)
+
+	var decoded fantasy.Message
+	require.NoError(t, json.Unmarshal(data, &decoded))
+
+	// Check OpenAI options
+	openaiOpt, ok := decoded.ProviderOptions[openai.Name]
+	require.True(t, ok)
+	openaiData, ok := openaiOpt.(*openai.ProviderOptions)
+	require.True(t, ok)
+	require.Equal(t, "user1", *openaiData.User)
+
+	// Check Anthropic options
+	anthropicOpt, ok := decoded.ProviderOptions[anthropic.Name]
+	require.True(t, ok)
+	anthropicData, ok := anthropicOpt.(*anthropic.ProviderOptions)
+	require.True(t, ok)
+	require.Equal(t, true, *anthropicData.SendReasoning)
+}
+
+func TestProviderRegistry_ErrorHandling(t *testing.T) {
+	t.Run("unknown provider type", func(t *testing.T) {
+		invalidJSON := `{
+			"role": "user",
+			"content": [{"type": "text", "data": {"text": "hi"}}],
+			"provider_options": {
+				"unknown": {
+					"type": "unknown.provider.type",
+					"data": {}
+				}
+			}
+		}`
+
+		var msg fantasy.Message
+		err := json.Unmarshal([]byte(invalidJSON), &msg)
+		require.Error(t, err)
+		require.Contains(t, err.Error(), "unknown provider data type")
+	})
+
+	t.Run("malformed provider data", func(t *testing.T) {
+		invalidJSON := `{
+			"role": "user",
+			"content": [{"type": "text", "data": {"text": "hi"}}],
+			"provider_options": {
+				"openai": "not-an-object"
+			}
+		}`
+
+		var msg fantasy.Message
+		err := json.Unmarshal([]byte(invalidJSON), &msg)
+		require.Error(t, err)
+	})
+}
+
+func TestProviderRegistry_AllTypesRegistered(t *testing.T) {
+	// Verify all expected provider types are registered
+	// We test that unmarshaling with proper type IDs doesn't fail with "unknown provider data type"
+	tests := []struct {
+		name         string
+		providerName string
+		data         fantasy.ProviderOptionsData
+	}{
+		{"OpenAI Options", openai.Name, &openai.ProviderOptions{}},
+		{"OpenAI File Options", openai.Name, &openai.ProviderFileOptions{}},
+		{"OpenAI Metadata", openai.Name, &openai.ProviderMetadata{}},
+		{"OpenAI Responses Options", openai.Name, &openai.ResponsesProviderOptions{}},
+		{"Anthropic Options", anthropic.Name, &anthropic.ProviderOptions{}},
+		{"Google Options", google.Name, &google.ProviderOptions{}},
+		{"OpenRouter Options", openrouter.Name, &openrouter.ProviderOptions{}},
+		{"OpenAICompat Options", openaicompat.Name, &openaicompat.ProviderOptions{}},
+	}
+
+	for _, tc := range tests {
+		t.Run(tc.name, func(t *testing.T) {
+			// Create a message with the provider options
+			msg := fantasy.Message{
+				Role: fantasy.MessageRoleUser,
+				Content: []fantasy.MessagePart{
+					fantasy.TextPart{Text: "test"},
+				},
+				ProviderOptions: fantasy.ProviderOptions{
+					tc.providerName: tc.data,
+				},
+			}
+
+			// Marshal and unmarshal
+			data, err := json.Marshal(msg)
+			require.NoError(t, err)
+
+			var decoded fantasy.Message
+			err = json.Unmarshal(data, &decoded)
+			require.NoError(t, err)
+
+			// Verify the provider options exist
+			_, ok := decoded.ProviderOptions[tc.providerName]
+			require.True(t, ok, "Provider options should be present after round-trip")
+		})
+	}
+
+	// Test metadata types separately as they go in different field
+	metadataTests := []struct {
+		name         string
+		providerName string
+		data         fantasy.ProviderOptionsData
+	}{
+		{"OpenAI Responses Reasoning Metadata", openai.Name, &openai.ResponsesReasoningMetadata{}},
+		{"Anthropic Reasoning Metadata", anthropic.Name, &anthropic.ReasoningOptionMetadata{}},
+		{"Google Reasoning Metadata", google.Name, &google.ReasoningMetadata{}},
+		{"OpenRouter Metadata", openrouter.Name, &openrouter.ProviderMetadata{}},
+	}
+
+	for _, tc := range metadataTests {
+		t.Run(tc.name, func(t *testing.T) {
+			// Create a response with provider metadata
+			resp := fantasy.Response{
+				Content: []fantasy.Content{
+					fantasy.TextContent{
+						Text: "test",
+						ProviderMetadata: fantasy.ProviderMetadata{
+							tc.providerName: tc.data,
+						},
+					},
+				},
+			}
+
+			// Marshal and unmarshal
+			data, err := json.Marshal(resp)
+			require.NoError(t, err)
+
+			var decoded fantasy.Response
+			err = json.Unmarshal(data, &decoded)
+			require.NoError(t, err)
+
+			// Verify the provider metadata exists
+			textContent, ok := decoded.Content[0].(fantasy.TextContent)
+			require.True(t, ok)
+			_, ok = textContent.ProviderMetadata[tc.providerName]
+			require.True(t, ok, "Provider metadata should be present after round-trip")
+		})
+	}
+}

providertests/recorder_test.go 🔗

@@ -1,104 +0,0 @@
-package providertests
-
-import (
-	"bytes"
-	"encoding/json"
-	"io"
-	"net/http"
-	"path/filepath"
-	"reflect"
-	"strings"
-	"testing"
-
-	"go.yaml.in/yaml/v4"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/cassette"
-	"gopkg.in/dnaeon/go-vcr.v4/pkg/recorder"
-)
-
-func newRecorder(t *testing.T) *recorder.Recorder {
-	cassetteName := filepath.Join("testdata", t.Name())
-
-	r, err := recorder.New(
-		cassetteName,
-		recorder.WithMode(recorder.ModeRecordOnce),
-		recorder.WithMatcher(customMatcher(t)),
-		recorder.WithMarshalFunc(marshalFunc),
-		recorder.WithSkipRequestLatency(true), // disable sleep to simulate response time, makes tests faster
-		recorder.WithHook(hookRemoveHeaders, recorder.AfterCaptureHook),
-	)
-	if err != nil {
-		t.Fatalf("recorder: failed to create recorder: %v", err)
-	}
-
-	t.Cleanup(func() {
-		if err := r.Stop(); err != nil {
-			t.Errorf("recorder: failed to stop recorder: %v", err)
-		}
-	})
-
-	return r
-}
-
-func customMatcher(t *testing.T) recorder.MatcherFunc {
-	return func(r *http.Request, i cassette.Request) bool {
-		if r.Body == nil || r.Body == http.NoBody {
-			return cassette.DefaultMatcher(r, i)
-		}
-		if r.Method != i.Method || r.URL.String() != i.URL {
-			return false
-		}
-
-		reqBody, err := io.ReadAll(r.Body)
-		if err != nil {
-			t.Fatalf("recorder: failed to read request body")
-		}
-		r.Body.Close()
-		r.Body = io.NopCloser(bytes.NewBuffer(reqBody))
-
-		// Some providers can sometimes generate JSON requests with keys in
-		// a different order, which means a direct string comparison will fail.
-		// Falling back to deserializing the content if we don't have a match.
-		if string(reqBody) == i.Body { // hot path
-			return true
-		}
-		var content1, content2 any
-		if err := json.Unmarshal(reqBody, &content1); err != nil {
-			return false
-		}
-		if err := json.Unmarshal([]byte(i.Body), &content2); err != nil {
-			return false
-		}
-		return reflect.DeepEqual(content1, content2)
-	}
-}
-
-func marshalFunc(in any) ([]byte, error) {
-	var buff bytes.Buffer
-	enc := yaml.NewEncoder(&buff)
-	enc.SetIndent(2)
-	enc.CompactSeqIndent()
-	if err := enc.Encode(in); err != nil {
-		return nil, err
-	}
-	return buff.Bytes(), nil
-}
-
-var headersToKeep = map[string]struct{}{
-	"accept":       {},
-	"content-type": {},
-	"user-agent":   {},
-}
-
-func hookRemoveHeaders(i *cassette.Interaction) error {
-	for k := range i.Request.Headers {
-		if _, ok := headersToKeep[strings.ToLower(k)]; !ok {
-			delete(i.Request.Headers, k)
-		}
-	}
-	for k := range i.Response.Headers {
-		if _, ok := headersToKeep[strings.ToLower(k)]; !ok {
-			delete(i.Response.Headers, k)
-		}
-	}
-	return nil
-}

providertests/testdata/TestAnthropicObjectGeneration/claude-sonnet-4/complex_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 973
+    host: ""
+    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"text"}],"role":"user"}],"model":"claude-sonnet-4-20250514","tool_choice":{"name":"Book","disable_parallel_tool_use":false,"type":"tool"},"tools":[{"input_schema":{"properties":{"author":{"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"name":"Book","description":"A book with title, author, genres, and publication year"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - Anthropic/Go 1.14.0
+    url: https://api.anthropic.com/v1/messages
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"model":"claude-sonnet-4-20250514","id":"msg_01UkSBWK7ReA1Jc9w3ZSKrNb","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01C9Z3xQvtkmqxD7fyJ4BHN5","name":"Book","input":{"title":"The Lord of the Rings","author":{"name":"J.R.R. Tolkien","nationality":"British"},"genres":["Fantasy","Adventure","Epic Fantasy","High Fantasy"],"published_year":1954}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":549,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":124,"service_tier":"standard"}}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 3.668454583s

providertests/testdata/TestAnthropicObjectGeneration/claude-sonnet-4/simple_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 637
+    host: ""
+    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"text"}],"role":"user"}],"model":"claude-sonnet-4-20250514","tool_choice":{"name":"Person","disable_parallel_tool_use":false,"type":"tool"},"tools":[{"input_schema":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"name":"Person","description":"A person with name, age, and city"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - Anthropic/Go 1.14.0
+    url: https://api.anthropic.com/v1/messages
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"model":"claude-sonnet-4-20250514","id":"msg_01NeodXcmcw7q1AnbSJ8ShV4","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_019sLuNYTpv7VTTJEuGWXzki","name":"Person","input":{"name":"Alice","age":30,"city":"Paris"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":454,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":67,"service_tier":"standard"}}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 2.542812416s

providertests/testdata/TestAnthropicObjectGeneration/claude-sonnet-4/simple_object_streaming.yaml 🔗

@@ -0,0 +1,89 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 651
+    host: ""
+    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"text"}],"role":"user"}],"model":"claude-sonnet-4-20250514","tool_choice":{"name":"Person","disable_parallel_tool_use":false,"type":"tool"},"tools":[{"input_schema":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"name":"Person","description":"A person with name, age, and city"}],"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - Anthropic/Go 1.14.0
+    url: https://api.anthropic.com/v1/messages
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: message_start
+      data: {"type":"message_start","message":{"model":"claude-sonnet-4-20250514","id":"msg_01AihXNzoggoeqPeQuWPMYSo","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":454,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"cache_creation":{"ephemeral_5m_input_tokens":0,"ephemeral_1h_input_tokens":0},"output_tokens":24,"service_tier":"standard"}}           }
+
+      event: content_block_start
+      data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_01Midg7qjzUz6pdkS8HcgRY7","name":"Person","input":{}}      }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""}            }
+
+      event: ping
+      data: {"type": "ping"}
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\"n"}     }
+
+      event: ping
+      data: {"type": "ping"}
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ame\":"}           }
+
+      event: ping
+      data: {"type": "ping"}
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":" \"Alic"}  }
+
+      event: ping
+      data: {"type": "ping"}
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"e\""}               }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", \"age\""}             }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":": 30"}    }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", \"c"}       }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ity\": \"Pa"}  }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ris\"}"}         }
+
+      event: content_block_stop
+      data: {"type":"content_block_stop","index":0         }
+
+      event: message_delta
+      data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"input_tokens":454,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":67}             }
+
+      event: message_stop
+      data: {"type":"message_stop"         }
+
+    headers:
+      Content-Type:
+      - text/event-stream; charset=utf-8
+    status: 200 OK
+    code: 200
+    duration: 2.144504667s

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/complex_object.yaml 🔗

@@ -0,0 +1,62 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "parts": [
+                {
+                  "text": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"fantasy\",\"adventure\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}"
+                }
+              ],
+              "role": "model"
+            },
+            "finishReason": "STOP",
+            "index": 0
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 38,
+          "candidatesTokenCount": 41,
+          "totalTokenCount": 218,
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 38
+            }
+          ],
+          "thoughtsTokenCount": 139
+        },
+        "modelVersion": "gemini-2.5-flash",
+        "responseId": "stsRaZqEJ9qO28oPiaHWwQ4"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 1.554350125s

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/complex_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/simple_object.yaml 🔗

@@ -0,0 +1,62 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "parts": [
+                {
+                  "text": "{\"age\": 30, \"city\": \"Paris\", \"name\": \"Alice\"}"
+                }
+              ],
+              "role": "model"
+            },
+            "finishReason": "STOP",
+            "index": 0
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 20,
+          "candidatesTokenCount": 19,
+          "totalTokenCount": 127,
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 20
+            }
+          ],
+          "thoughtsTokenCount": 88
+        },
+        "modelVersion": "gemini-2.5-flash",
+        "responseId": "r9sRaffqJa-jvdIPwMT46A8"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 1.129109875s

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-flash/simple_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"{\\\"age\\\": 30, \\\"city\\\": \\\"Paris\\\", \\\"name\\\": \\\"Alice\\\"}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 20,\"candidatesTokenCount\": 19,\"totalTokenCount\": 138,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 20}],\"thoughtsTokenCount\": 99},\"modelVersion\": \"gemini-2.5-flash\",\"responseId\": \"sNsRad21He_hxN8PlPed0Qs\"}\r\n\r\n"
+    headers:
+      Content-Type:
+      - text/event-stream
+    status: 200 OK
+    code: 200
+    duration: 1.556089083s

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/complex_object.yaml 🔗

@@ -0,0 +1,62 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "parts": [
+                {
+                  "text": "{\n  \"author\": {\n    \"name\": \"J.R.R. Tolkien\",\n    \"nationality\": \"British\"\n  },\n  \"genres\": [\n    \"Fantasy\",\n    \"Adventure\"\n  ],\n  \"published_year\": 1954,\n  \"title\": \"The Lord of the Rings\"\n}"
+                }
+              ],
+              "role": "model"
+            },
+            "finishReason": "STOP",
+            "index": 0
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 38,
+          "candidatesTokenCount": 78,
+          "totalTokenCount": 352,
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 38
+            }
+          ],
+          "thoughtsTokenCount": 236
+        },
+        "modelVersion": "gemini-2.5-pro",
+        "responseId": "v9sRad3jAc_7xs0P77zDwQE"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 4.027611625s

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/complex_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/simple_object.yaml 🔗

@@ -0,0 +1,62 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "parts": [
+                {
+                  "text": "{\n  \"age\": 30,\n  \"city\": \"Paris\",\n  \"name\": \"Alice\"\n}"
+                }
+              ],
+              "role": "model"
+            },
+            "finishReason": "STOP",
+            "index": 0
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 20,
+          "candidatesTokenCount": 28,
+          "totalTokenCount": 109,
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 20
+            }
+          ],
+          "thoughtsTokenCount": 61
+        },
+        "modelVersion": "gemini-2.5-pro",
+        "responseId": "ttsRacXtC86PvdIP1Zjy8AE"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 2.077859292s

providertests/testdata/TestGoogleObjectGeneration/gemini-2.5-pro/simple_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: generativelanguage.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"{\\n  \\\"age\\\": 30,\\n  \\\"city\\\":\"}],\"role\": \"model\"},\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 20,\"candidatesTokenCount\": 15,\"totalTokenCount\": 189,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 20}],\"thoughtsTokenCount\": 154},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"udsRabusHJH_xN8PppGAiQ8\"}\r\n\r\ndata: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" \\\"Paris\\\",\\n  \\\"name\\\": \\\"Alice\\\"\\n}\"}],\"role\": \"model\"},\"finishReason\": \"STOP\",\"index\": 0}],\"usageMetadata\": {\"promptTokenCount\": 20,\"candidatesTokenCount\": 28,\"totalTokenCount\": 202,\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 20}],\"thoughtsTokenCount\": 154},\"modelVersion\": \"gemini-2.5-pro\",\"responseId\": \"udsRabusHJH_xN8PppGAiQ8\"}\r\n\r\n"
+    headers:
+      Content-Type:
+      - text/event-stream
+    status: 200 OK
+    code: 200
+    duration: 4.791360833s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-claude-3-7-sonnet/complex_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 978
+    host: ""
+    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"text"}],"role":"user"}],"tool_choice":{"name":"Book","disable_parallel_tool_use":false,"type":"tool"},"tools":[{"input_schema":{"properties":{"author":{"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"name":"Book","description":"A book with title, author, genres, and publication year"}],"anthropic_version":"vertex-2023-10-16"}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - Anthropic/Go 1.14.0
+    url: https://us-east5-aiplatform.googleapis.com/v1/projects/fantasy-playground-472418/locations/us-east5/publishers/anthropic/models/claude-3-7-sonnet@20250219:rawPredict
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01UAjss8kpXQotMqUWtjP8Vd","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_vrtx_01UqmeUWH5fBpvtZE1jx4knQ","name":"Book","input":{"title":"The Lord of the Rings","author":{"name":"J.R.R. Tolkien","nationality":"British"},"genres":["Fantasy","Adventure","Epic","High fantasy"],"published_year":1954}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":548,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":132}}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 2.867918541s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-claude-3-7-sonnet/simple_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 642
+    host: ""
+    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"text"}],"role":"user"}],"tool_choice":{"name":"Person","disable_parallel_tool_use":false,"type":"tool"},"tools":[{"input_schema":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"name":"Person","description":"A person with name, age, and city"}],"anthropic_version":"vertex-2023-10-16"}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - Anthropic/Go 1.14.0
+    url: https://us-east5-aiplatform.googleapis.com/v1/projects/fantasy-playground-472418/locations/us-east5/publishers/anthropic/models/claude-3-7-sonnet@20250219:rawPredict
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_014VLsXeDXtuC84Nx9V4pBdW","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_vrtx_01TaBaQU6GZpxjApVgvzLfev","name":"Person","input":{"name":"Alice","age":30,"city":"Paris"}}],"stop_reason":"tool_use","stop_sequence":null,"usage":{"input_tokens":453,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":67}}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 1.818802583s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-claude-3-7-sonnet/simple_object_streaming.yaml 🔗

@@ -0,0 +1,81 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 656
+    host: ""
+    body: '{"max_tokens":4000,"messages":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"text"}],"role":"user"}],"tool_choice":{"name":"Person","disable_parallel_tool_use":false,"type":"tool"},"tools":[{"input_schema":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"name":"Person","description":"A person with name, age, and city"}],"stream":true,"anthropic_version":"vertex-2023-10-16"}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - Anthropic/Go 1.14.0
+    url: https://us-east5-aiplatform.googleapis.com/v1/projects/fantasy-playground-472418/locations/us-east5/publishers/anthropic/models/claude-3-7-sonnet@20250219:streamRawPredict
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |+
+      event: message_start
+      data: {"type":"message_start","message":{"model":"claude-3-7-sonnet-20250219","id":"msg_vrtx_01XdrdQzn2BFw8pob1JJCRnX","type":"message","role":"assistant","content":[],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":453,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":11}}}
+
+      event: ping
+      data: {"type": "ping"}
+
+      event: content_block_start
+      data: {"type":"content_block_start","index":0,"content_block":{"type":"tool_use","id":"toolu_vrtx_01Y5BDgK5DcxEvwThJWL5Pix","name":"Person","input":{}}        }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":""}             }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"{\""}        }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"name\":"}          }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":" \"Alice\""}      }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", \"age\""}   }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":": 30"}      }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":", \"city\""}            }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":": \"P"}            }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"ari"}             }
+
+      event: content_block_delta
+      data: {"type":"content_block_delta","index":0,"delta":{"type":"input_json_delta","partial_json":"s\"}"}            }
+
+      event: content_block_stop
+      data: {"type":"content_block_stop","index":0        }
+
+      event: message_delta
+      data: {"type":"message_delta","delta":{"stop_reason":"tool_use","stop_sequence":null},"usage":{"output_tokens":67}        }
+
+      event: message_stop
+      data: {"type":"message_stop"           }
+
+    headers:
+      Content-Type:
+      - text/event-stream; charset=utf-8
+    status: 200 OK
+    code: 200
+    duration: 1.471510916s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/complex_object.yaml 🔗

@@ -0,0 +1,70 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "role": "model",
+              "parts": [
+                {
+                  "text": "{\n  \"title\": \"The Lord of the Rings\",\n  \"author\": {\n    \"name\": \"J.R.R. Tolkien\",\n    \"nationality\": \"British\"\n  },\n  \"genres\": [\n    \"fantasy\",\n    \"adventure\"\n  ],\n  \"published_year\": 1954\n}"
+                }
+              ]
+            },
+            "finishReason": "STOP",
+            "avgLogprobs": -0.45047834322050018
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 37,
+          "candidatesTokenCount": 77,
+          "totalTokenCount": 246,
+          "trafficType": "ON_DEMAND",
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 37
+            }
+          ],
+          "candidatesTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 77
+            }
+          ],
+          "thoughtsTokenCount": 132
+        },
+        "modelVersion": "gemini-2.5-flash",
+        "createTime": "2025-11-10T12:36:25.122147Z",
+        "responseId": "SdwRaaO6B9fzptQPk5W9sQ8"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 1.655407625s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/complex_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/simple_object.yaml 🔗

@@ -0,0 +1,70 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "role": "model",
+              "parts": [
+                {
+                  "text": "{\"name\": \"Alice\", \"age\": 30, \"city\": \"Paris\"}"
+                }
+              ]
+            },
+            "finishReason": "STOP",
+            "avgLogprobs": -0.57498173964651011
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 19,
+          "candidatesTokenCount": 19,
+          "totalTokenCount": 83,
+          "trafficType": "ON_DEMAND",
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 19
+            }
+          ],
+          "candidatesTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 19
+            }
+          ],
+          "thoughtsTokenCount": 45
+        },
+        "modelVersion": "gemini-2.5-flash",
+        "createTime": "2025-11-10T12:36:22.649878Z",
+        "responseId": "RtwRaZbVJ-zzptQPvOrxqQ8"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 1.886921167s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-flash/simple_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-flash:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: "data: {\"candidates\": [{\"content\": {\"role\": \"model\",\"parts\": [{\"text\": \"{\\n  \\\"name\\\": \\\"Alice\\\",\\n  \\\"age\\\": 30,\\n  \\\"city\\\": \\\"Paris\\\"\\n}\"}]},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": 19,\"candidatesTokenCount\": 28,\"totalTokenCount\": 124,\"trafficType\": \"ON_DEMAND\",\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 19}],\"candidatesTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 28}],\"thoughtsTokenCount\": 77},\"modelVersion\": \"gemini-2.5-flash\",\"createTime\": \"2025-11-10T12:36:23.898113Z\",\"responseId\": \"R9wRacHoNpyYw8cPz9-4-QY\"}\r\n\r\n"
+    headers:
+      Content-Type:
+      - text/event-stream
+    status: 200 OK
+    code: 200
+    duration: 1.064075083s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/complex_object.yaml 🔗

@@ -0,0 +1,70 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "role": "model",
+              "parts": [
+                {
+                  "text": "{\n  \"title\": \"The Lord of the Rings\",\n  \"author\": {\n    \"name\": \"J.R.R. Tolkien\",\n    \"nationality\": \"British\"\n  },\n  \"genres\": [\n    \"Fantasy\",\n    \"Adventure\"\n  ],\n  \"published_year\": 1954\n}"
+                }
+              ]
+            },
+            "finishReason": "STOP",
+            "avgLogprobs": -0.67830568784243106
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 37,
+          "candidatesTokenCount": 77,
+          "totalTokenCount": 514,
+          "trafficType": "ON_DEMAND",
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 37
+            }
+          ],
+          "candidatesTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 77
+            }
+          ],
+          "thoughtsTokenCount": 400
+        },
+        "modelVersion": "gemini-2.5-pro",
+        "createTime": "2025-11-10T12:36:32.031653Z",
+        "responseId": "UNwRaaX3AZ3qptQPg8OiiQU"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 5.257772958s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/complex_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 817
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about 'The Lord of the Rings' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954)."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"author":{"properties":{"name":{"description":"Author's name","type":"string"},"nationality":{"description":"Author's nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/simple_object.yaml 🔗

@@ -0,0 +1,70 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:generateContent
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "candidates": [
+          {
+            "content": {
+              "role": "model",
+              "parts": [
+                {
+                  "text": "{\n  \"name\": \"Alice\",\n  \"age\": 30,\n  \"city\": \"Paris\"\n}"
+                }
+              ]
+            },
+            "finishReason": "STOP",
+            "avgLogprobs": -0.58463580267769955
+          }
+        ],
+        "usageMetadata": {
+          "promptTokenCount": 19,
+          "candidatesTokenCount": 28,
+          "totalTokenCount": 102,
+          "trafficType": "ON_DEMAND",
+          "promptTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 19
+            }
+          ],
+          "candidatesTokensDetails": [
+            {
+              "modality": "TEXT",
+              "tokenCount": 28
+            }
+          ],
+          "thoughtsTokenCount": 55
+        },
+        "modelVersion": "gemini-2.5-pro",
+        "createTime": "2025-11-10T12:36:28.270555Z",
+        "responseId": "TNwRadvBENLK5OMPoK7I0AI"
+      }
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 1.459651375s

providertests/testdata/TestGoogleVertexObjectGeneration/vertex-gemini-2-5-pro/simple_object_streaming.yaml 🔗

@@ -0,0 +1,34 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 499
+    host: us-east5-aiplatform.googleapis.com
+    body: |
+      {"contents":[{"parts":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris."}],"role":"user"}],"generationConfig":{"maxOutputTokens":4000,"responseJsonSchema":{"properties":{"age":{"description":"The person's age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person's name","type":"string"}},"required":["name","age","city"],"type":"object"},"responseMimeType":"application/json"}}
+    form:
+      alt:
+      - sse
+    headers:
+      Content-Type:
+      - application/json
+      User-Agent:
+      - google-genai-sdk/1.34.0 gl-go/go1.25.0
+    url: https://us-east5-aiplatform.googleapis.com/v1beta1/projects/fantasy-playground-472418/locations/us-east5/publishers/google/models/gemini-2.5-pro:streamGenerateContent?alt=sse
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: "data: {\"candidates\": [{\"content\": {\"role\": \"model\",\"parts\": [{\"text\": \"{\\n  \\\"name\\\": \\\"Alice\\\",\\n  \\\"age\\\": 30,\\n  \\\"city\\\": \\\"Paris\\\"\\n}\"}]},\"finishReason\": \"STOP\"}],\"usageMetadata\": {\"promptTokenCount\": 19,\"candidatesTokenCount\": 28,\"totalTokenCount\": 209,\"trafficType\": \"ON_DEMAND\",\"promptTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 19}],\"candidatesTokensDetails\": [{\"modality\": \"TEXT\",\"tokenCount\": 28}],\"thoughtsTokenCount\": 162},\"modelVersion\": \"gemini-2.5-pro\",\"createTime\": \"2025-11-10T12:36:29.889263Z\",\"responseId\": \"TdwRaa-jNvWAptQPkJGMwQ8\"}\r\n\r\n"
+    headers:
+      Content-Type:
+      - text/event-stream
+    status: 200 OK
+    code: 200
+    duration: 1.9909835s

providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-4-fast/complex_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 962
+    host: ""
+    body: '{"messages":[{"content":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","role":"user"}],"model":"grok-4-fast","max_tokens":4000,"tool_choice":{"function":{"name":"Book"},"type":"function"},"tools":[{"function":{"name":"Book","strict":false,"description":"A book with title, author, genres, and publication year","parameters":{"properties":{"author":{"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"}},"type":"function"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.x.ai/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"id":"c507c7e0-9670-a02e-8c70-1df65c243406","object":"chat.completion","created":1762637614,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_93127190","function":{"name":"Book","arguments":"{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"fantasy\",\"adventure\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":468,"completion_tokens":83,"total_tokens":1122,"prompt_tokens_details":{"text_tokens":468,"audio_tokens":0,"image_tokens":0,"cached_tokens":305},"completion_tokens_details":{"reasoning_tokens":571,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 3.442305458s

providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-4-fast/simple_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 626
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"grok-4-fast","max_tokens":4000,"tool_choice":{"function":{"name":"Person"},"type":"function"},"tools":[{"function":{"name":"Person","strict":false,"description":"A person with name, age, and city","parameters":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"function"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.x.ai/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"id":"c741f0c0-b3ad-605e-94e9-aa17f8ad0f1f","object":"chat.completion","created":1762637610,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_85975414","function":{"name":"Person","arguments":"{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":401,"completion_tokens":46,"total_tokens":787,"prompt_tokens_details":{"text_tokens":401,"audio_tokens":0,"image_tokens":0,"cached_tokens":305},"completion_tokens_details":{"reasoning_tokens":340,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 2.228575458s

providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-4-fast/simple_object_streaming.yaml 🔗

@@ -0,0 +1,378 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 680
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"grok-4-fast","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":{"function":{"name":"Person"},"type":"function"},"tools":[{"function":{"name":"Person","strict":false,"description":"A person with name, age, and city","parameters":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"function"}],"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.x.ai/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637613,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637614,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_85608889","function":{"name":"Person","arguments":"{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637614,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"a6a4a8e9-1f95-504d-3f2c-0f106447d2d2","object":"chat.completion.chunk","created":1762637614,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":401,"completion_tokens":46,"total_tokens":616,"prompt_tokens_details":{"text_tokens":401,"audio_tokens":0,"image_tokens":0,"cached_tokens":400},"completion_tokens_details":{"reasoning_tokens":169,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: [DONE]
+
+    headers:
+      Content-Type:
+      - text/event-stream
+    status: 200 OK
+    code: 200
+    duration: 176.963166ms

providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-code-fast/complex_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 967
+    host: ""
+    body: '{"messages":[{"content":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","role":"user"}],"model":"grok-code-fast-1","max_tokens":4000,"tool_choice":{"function":{"name":"Book"},"type":"function"},"tools":[{"function":{"name":"Book","strict":false,"description":"A book with title, author, genres, and publication year","parameters":{"properties":{"author":{"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"}},"type":"function"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.x.ai/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"id":"2537f822-595e-1e8e-fe59-59c9761c15a1","object":"chat.completion","created":1762637624,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_05092142","function":{"name":"Book","arguments":"{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"fantasy\",\"adventure\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":496,"completion_tokens":81,"total_tokens":820,"prompt_tokens_details":{"text_tokens":496,"audio_tokens":0,"image_tokens":0,"cached_tokens":320},"completion_tokens_details":{"reasoning_tokens":243,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 2.213765834s

providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-code-fast/simple_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 631
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"grok-code-fast-1","max_tokens":4000,"tool_choice":{"function":{"name":"Person"},"type":"function"},"tools":[{"function":{"name":"Person","strict":false,"description":"A person with name, age, and city","parameters":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"function"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.x.ai/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"id":"8d3d6258-cbe1-f871-55c0-32bd3487f2d7","object":"chat.completion","created":1762637621,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_38033184","function":{"name":"Person","arguments":"{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":429,"completion_tokens":44,"total_tokens":630,"prompt_tokens_details":{"text_tokens":429,"audio_tokens":0,"image_tokens":0,"cached_tokens":320},"completion_tokens_details":{"reasoning_tokens":157,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 1.615676541s

providertests/testdata/TestOpenAICompatObjectGeneration/xai-grok-code-fast/simple_object_streaming.yaml 🔗

@@ -0,0 +1,338 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 685
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"grok-code-fast-1","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":{"function":{"name":"Person"},"type":"function"},"tools":[{"function":{"name":"Person","strict":false,"description":"A person with name, age, and city","parameters":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"function"}],"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.x.ai/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"The","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" asked"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" generate"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" information"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" about"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" person"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" named"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Alice"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"30"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" years"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" old"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" living"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Paris"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" There's"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" tool"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" called"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"Person"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" matches"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" exactly"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" it"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" has"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" name"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" age"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" city"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_71440968","function":{"name":"Person","arguments":"{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\n\n## Investigating user request  \n- The user asked for information about Alice, a 30-year-old living in Paris."},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"8887124f-28ef-3f97-76c9-b348294a5bd5","object":"chat.completion.chunk","created":1762637623,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":429,"completion_tokens":44,"total_tokens":622,"prompt_tokens_details":{"text_tokens":429,"audio_tokens":0,"image_tokens":0,"cached_tokens":384},"completion_tokens_details":{"reasoning_tokens":149,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
+
+      data: [DONE]
+
+    headers:
+      Content-Type:
+      - text/event-stream
+    status: 200 OK
+    code: 200
+    duration: 244.686625ms

providertests/testdata/TestOpenAICompatObjectGeneration/zai-glm-4.5/complex_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 958
+    host: ""
+    body: '{"messages":[{"content":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","role":"user"}],"model":"glm-4.5","max_tokens":4000,"tool_choice":{"function":{"name":"Book"},"type":"function"},"tools":[{"function":{"name":"Book","strict":false,"description":"A book with title, author, genres, and publication year","parameters":{"properties":{"author":{"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"}},"type":"function"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.z.ai/api/coding/paas/v4/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true

providertests/testdata/TestOpenAICompatObjectGeneration/zai-glm-4.5/simple_object.yaml 🔗

@@ -0,0 +1,33 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 622
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"glm-4.5","max_tokens":4000,"tool_choice":{"function":{"name":"Person"},"type":"function"},"tools":[{"function":{"name":"Person","strict":false,"description":"A person with name, age, and city","parameters":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"function"}]}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.z.ai/api/coding/paas/v4/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"content":"","reasoning_content":"\nThe user is asking me to generate information about a person named Alice who is 30 years old and lives in Paris. Looking at the available function, I have a \"Person\" function that takes three required parameters:\n- name: \"Alice\" \n- age: 30\n- city: \"Paris\"\n\nAll the required parameters are provided, so I can call this function.","role":"assistant","tool_calls":[{"function":{"arguments":"{\"age\": 30, \"city\": \"Paris\", \"name\": \"Alice\"}","name":"Person"},"id":"call_-8178200539482324764","index":0,"type":"function"}]}}],"created":1762637635,"id":"2025110905335254041e69de3b448e","model":"glm-4.5","request_id":"2025110905335254041e69de3b448e","usage":{"completion_tokens":121,"prompt_tokens":230,"prompt_tokens_details":{"cached_tokens":43},"total_tokens":351}}'
+    headers:
+      Content-Type:
+      - application/json; charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 6.174196125s

providertests/testdata/TestOpenAICompatObjectGeneration/zai-glm-4.5/simple_object_streaming.yaml 🔗

@@ -0,0 +1,200 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 676
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"glm-4.5","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":{"function":{"name":"Person"},"type":"function"},"tools":[{"function":{"name":"Person","strict":false,"description":"A person with name, age, and city","parameters":{"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"function"}],"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.z.ai/api/coding/paas/v4/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" wants"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" me"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" generate"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" information"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" about"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" person"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" with"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" specific"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" details"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Name"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Alice"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Age"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"30"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" City"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Paris"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"I"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Person"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" available"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" that"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" takes"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" these"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" exact"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" name"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"required"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"):"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Alice"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\"\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" age"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"required"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"):"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"30"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" city"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"required"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"):"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Paris"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\"\n\n"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"All"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" required"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" are"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" provided"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" so"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" can"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" make"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" call"}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_11f61396a06b43ebb9ab7992","index":0,"type":"function","function":{"name":"Person","arguments":"{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"}}]}}]}
+
+      data: {"id":"2025110905335643ffc6855fee49b2","created":1762637636,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":230,"completion_tokens":112,"total_tokens":342,"prompt_tokens_details":{"cached_tokens":43}}}
+
+      data: [DONE]
+
+    headers:
+      Content-Type:
+      - text/event-stream;charset=UTF-8
+    status: 200 OK
+    code: 200
+    duration: 1.864133208s

providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/multi_tool.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -25,28 +25,28 @@ interactions:
     content_length: -1
     uncompressed: true
     body: |
-      {"id":"chatcmpl-821a45ca-0c2c-4744-90df-30250620bba7","object":"chat.completion","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","tool_calls":[{"id":"functions.add:0","type":"function","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"}},{"id":"functions.multiply:1","type":"function","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"}}]},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"queue_time":0.034706122,"prompt_tokens":211,"prompt_time":0.02151364,"completion_tokens":41,"completion_time":0.175949957,"total_tokens":252,"total_time":0.197463597},"usage_breakdown":null,"system_fingerprint":"fp_6e6ff3688b","x_groq":{"id":"req_01k62v69wdeekbpebban95ny5e"},"service_tier":"on_demand"}
+      {"id":"chatcmpl-f99f9572-5553-418a-a974-3ce7763f287d","object":"chat.completion","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","content":"I'll add and multiply the numbers 2 and 3 for you.","tool_calls":[{"id":"functions.add:0","type":"function","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"}},{"id":"functions.multiply:1","type":"function","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"}}]},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"queue_time":0.16105511,"prompt_tokens":205,"prompt_time":0.021381762,"completion_tokens":55,"completion_time":0.177128832,"total_tokens":260,"total_time":0.198510594},"usage_breakdown":null,"system_fingerprint":"fp_5fe129dff6","x_groq":{"id":"req_01k9s5gdn9fqpaz58zxaarqt7b"},"service_tier":"on_demand"}
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 287.941834ms
+    duration: 410.276791ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 1216
+    content_length: 1279
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/multi_tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -24,43 +24,47 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k62v6abtexz9x4ehz7ept3nt"}}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k9s5gebzfqpr76b0dcepxd89"}}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"I'll"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"I'll"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" help"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" calculate"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" you"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" both"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" add"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" sum"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" multiply"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" product"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" numbers"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" for"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"tool_calls":[{"id":"functions.add:0","type":"function","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"index":0}]},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" you"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"tool_calls":[{"id":"functions.multiply:1","type":"function","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"index":1}]},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"x_groq":{"id":"req_01k62v6abtexz9x4ehz7ept3nt","usage":{"queue_time":0.035435906,"prompt_tokens":207,"prompt_time":0.021306235,"completion_tokens":55,"completion_time":0.193797381,"total_tokens":262,"total_time":0.215103616}},"usage":{"queue_time":0.035435906,"prompt_tokens":207,"prompt_time":0.021306235,"completion_tokens":55,"completion_time":0.193797381,"total_tokens":262,"total_time":0.215103616}}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"tool_calls":[{"id":"functions.add:0","type":"function","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"index":0}]},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-eaa5320c-c0d2-4f0b-b2c1-378d7e65e871","object":"chat.completion.chunk","created":1758884735,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[],"usage":{"queue_time":0.035435906,"prompt_tokens":207,"prompt_time":0.021306235,"completion_tokens":55,"completion_time":0.193797381,"total_tokens":262,"total_time":0.215103616},"service_tier":"on_demand"}
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"tool_calls":[{"id":"functions.multiply:1","type":"function","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"index":1}]},"logprobs":null,"finish_reason":null}]}
+
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"x_groq":{"id":"req_01k9s5gebzfqpr76b0dcepxd89","usage":{"queue_time":0.162914893,"prompt_tokens":201,"prompt_time":0.052741139,"completion_tokens":57,"completion_time":0.195291661,"total_tokens":258,"total_time":0.2480328}},"usage":{"queue_time":0.162914893,"prompt_tokens":201,"prompt_time":0.052741139,"completion_tokens":57,"completion_time":0.195291661,"total_tokens":258,"total_time":0.2480328}}
+
+      data: {"id":"chatcmpl-2c900147-daa3-4ba7-9f06-34cddb9750d2","object":"chat.completion.chunk","created":1762854976,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[],"usage":{"queue_time":0.162914893,"prompt_tokens":201,"prompt_time":0.052741139,"completion_tokens":57,"completion_time":0.195291661,"total_tokens":258,"total_time":0.2480328},"service_tier":"on_demand"}
 
       data: [DONE]
 
@@ -69,22 +73,22 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 113.669917ms
+    duration: 270.783709ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 1317
+    content_length: 1325
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/simple.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -25,10 +25,10 @@ interactions:
     content_length: -1
     uncompressed: true
     body: |
-      {"id":"chatcmpl-c41f00a2-68dc-4952-ac9d-a2febf3945b6","object":"chat.completion","created":1758884733,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","content":"Olá!"},"logprobs":null,"finish_reason":"stop"}],"usage":{"queue_time":0.036316922,"prompt_tokens":20,"prompt_time":0.017865963,"completion_tokens":4,"completion_time":0.02970344,"total_tokens":24,"total_time":0.047569403},"usage_breakdown":null,"system_fingerprint":"fp_6e6ff3688b","x_groq":{"id":"req_01k62v68w6f5btx1cmv31be5df"},"service_tier":"on_demand"}
+      {"id":"chatcmpl-9d25476d-ffb3-4fc0-8a33-6e84b5ede19c","object":"chat.completion","created":1762854973,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","content":"Olá!"},"logprobs":null,"finish_reason":"stop"}],"usage":{"queue_time":0.161356542,"prompt_tokens":20,"prompt_time":0.009083588,"completion_tokens":4,"completion_time":0.008812502,"total_tokens":24,"total_time":0.01789609},"usage_breakdown":null,"system_fingerprint":"fp_5fe129dff6","x_groq":{"id":"req_01k9s5gc22f6m968npajvjx0x0"},"service_tier":"on_demand"}
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 334.810833ms
+    duration: 374.755334ms

providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/simple_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -24,15 +24,17 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-0544364e-cb53-4ca7-abe9-d5fc326e02cf","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k62v6917eejrqc5hh96eeeyz"}}
+      data: {"id":"chatcmpl-01c5e4bc-e533-4f23-bc74-32b9f2f473b0","object":"chat.completion.chunk","created":1762854973,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_5fe129dff6","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k9s5gc9mfqk9exgvmtm3gw25"}}
 
-      data: {"id":"chatcmpl-0544364e-cb53-4ca7-abe9-d5fc326e02cf","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"Oi"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-01c5e4bc-e533-4f23-bc74-32b9f2f473b0","object":"chat.completion.chunk","created":1762854973,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_5fe129dff6","choices":[{"index":0,"delta":{"content":"Ol"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-0544364e-cb53-4ca7-abe9-d5fc326e02cf","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-01c5e4bc-e533-4f23-bc74-32b9f2f473b0","object":"chat.completion.chunk","created":1762854973,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_5fe129dff6","choices":[{"index":0,"delta":{"content":"á"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-0544364e-cb53-4ca7-abe9-d5fc326e02cf","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"x_groq":{"id":"req_01k62v6917eejrqc5hh96eeeyz","usage":{"queue_time":0.035865149,"prompt_tokens":20,"prompt_time":0.009370029,"completion_tokens":3,"completion_time":0.006912131,"total_tokens":23,"total_time":0.01628216}},"usage":{"queue_time":0.035865149,"prompt_tokens":20,"prompt_time":0.009370029,"completion_tokens":3,"completion_time":0.006912131,"total_tokens":23,"total_time":0.01628216}}
+      data: {"id":"chatcmpl-01c5e4bc-e533-4f23-bc74-32b9f2f473b0","object":"chat.completion.chunk","created":1762854973,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_5fe129dff6","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-0544364e-cb53-4ca7-abe9-d5fc326e02cf","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[],"usage":{"queue_time":0.035865149,"prompt_tokens":20,"prompt_time":0.009370029,"completion_tokens":3,"completion_time":0.006912131,"total_tokens":23,"total_time":0.01628216},"service_tier":"on_demand"}
+      data: {"id":"chatcmpl-01c5e4bc-e533-4f23-bc74-32b9f2f473b0","object":"chat.completion.chunk","created":1762854973,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_5fe129dff6","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"x_groq":{"id":"req_01k9s5gc9mfqk9exgvmtm3gw25","usage":{"queue_time":0.160975287,"prompt_tokens":20,"prompt_time":0.009101728,"completion_tokens":4,"completion_time":0.009250085,"total_tokens":24,"total_time":0.018351813}},"usage":{"queue_time":0.160975287,"prompt_tokens":20,"prompt_time":0.009101728,"completion_tokens":4,"completion_time":0.009250085,"total_tokens":24,"total_time":0.018351813}}
+
+      data: {"id":"chatcmpl-01c5e4bc-e533-4f23-bc74-32b9f2f473b0","object":"chat.completion.chunk","created":1762854973,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_5fe129dff6","choices":[],"usage":{"queue_time":0.160975287,"prompt_tokens":20,"prompt_time":0.009101728,"completion_tokens":4,"completion_time":0.009250085,"total_tokens":24,"total_time":0.018351813},"service_tier":"on_demand"}
 
       data: [DONE]
 
@@ -41,4 +43,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 114.54075ms
+    duration: 221.770167ms

providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/tool.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -25,28 +25,28 @@ interactions:
     content_length: -1
     uncompressed: true
     body: |
-      {"id":"chatcmpl-70b14f6a-3fb5-4bf5-8613-7670242afa1e","object":"chat.completion","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","content":"I'll check the weather in Florence, Italy for you.","tool_calls":[{"id":"functions.weather:0","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"}}]},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"queue_time":0.035155911,"prompt_tokens":99,"prompt_time":0.016527326,"completion_tokens":32,"completion_time":0.104014523,"total_tokens":131,"total_time":0.120541849},"usage_breakdown":null,"system_fingerprint":"fp_6e6ff3688b","x_groq":{"id":"req_01k62v694nf5brr8zjscptd96b"},"service_tier":"on_demand"}
+      {"id":"chatcmpl-7822ddc7-c616-45cc-9315-1da4ae05d870","object":"chat.completion","created":1762854974,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","tool_calls":[{"id":"functions.weather:0","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"}}]},"logprobs":null,"finish_reason":"tool_calls"}],"usage":{"queue_time":0.162552698,"prompt_tokens":93,"prompt_time":0.01385344,"completion_tokens":21,"completion_time":0.067437002,"total_tokens":114,"total_time":0.081290442},"usage_breakdown":null,"system_fingerprint":"fp_3312304636","x_groq":{"id":"req_01k9s5gcgyf6ttekbzf8v4fta8"},"service_tier":"on_demand"}
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 214.6305ms
+    duration: 294.483708ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 768
+    content_length: 705
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"content":"I''ll check the weather in Florence, Italy for you.","tool_calls":[{"id":"functions.weather:0","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"functions.weather:0","role":"tool"}],"model":"moonshotai/kimi-k2-instruct-0905","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"functions.weather:0","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"functions.weather:0","role":"tool"}],"model":"moonshotai/kimi-k2-instruct-0905","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -56,10 +56,10 @@ interactions:
     content_length: -1
     uncompressed: true
     body: |
-      {"id":"chatcmpl-c1ce333f-b2e7-46ae-b834-7ab0e4cd55c4","object":"chat.completion","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","content":"The weather in Florence, Italy is currently 40°C."},"logprobs":null,"finish_reason":"stop"}],"usage":{"queue_time":0.036013582,"prompt_tokens":150,"prompt_time":0.02103005,"completion_tokens":13,"completion_time":0.023271659,"total_tokens":163,"total_time":0.044301709},"usage_breakdown":null,"system_fingerprint":"fp_6e6ff3688b","x_groq":{"id":"req_01k62v69bceejt468zwpw3c7wv"},"service_tier":"on_demand"}
+      {"id":"chatcmpl-97e734c9-073a-48bf-926d-462e1eb23a77","object":"chat.completion","created":1762854974,"model":"moonshotai/kimi-k2-instruct-0905","choices":[{"index":0,"message":{"role":"assistant","content":"It's currently 40°C in Florence, Italy."},"logprobs":null,"finish_reason":"stop"}],"usage":{"queue_time":0.162461202,"prompt_tokens":132,"prompt_time":0.017534991,"completion_tokens":11,"completion_time":0.021573995,"total_tokens":143,"total_time":0.039108986},"usage_breakdown":null,"system_fingerprint":"fp_3312304636","x_groq":{"id":"req_01k9s5gct2fqm9ew59aphgfzdc"},"service_tier":"on_demand"}
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 136.771375ms
+    duration: 248.764041ms

providertests/testdata/TestOpenAICompatibleCommon/groq-kimi-k2/tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -24,13 +24,13 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-f8dbbaa5-6f1a-48b5-8182-377b3774d8b1","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"role":"assistant","content":null},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k62v69frexz821z0q8c8zy4z"}}
+      data: {"id":"chatcmpl-6059e0d5-a7a8-4b9b-9d23-8b44a9175a59","object":"chat.completion.chunk","created":1762854974,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"role":"assistant","content":null},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k9s5gd20ehs83d8fkh52fr85"}}
 
-      data: {"id":"chatcmpl-f8dbbaa5-6f1a-48b5-8182-377b3774d8b1","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"tool_calls":[{"id":"functions.weather:0","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"},"index":0}]},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-6059e0d5-a7a8-4b9b-9d23-8b44a9175a59","object":"chat.completion.chunk","created":1762854974,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"tool_calls":[{"id":"functions.weather:0","type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"},"index":0}]},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-f8dbbaa5-6f1a-48b5-8182-377b3774d8b1","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"x_groq":{"id":"req_01k62v69frexz821z0q8c8zy4z","usage":{"queue_time":0.03504137,"prompt_tokens":99,"prompt_time":0.016409098,"completion_tokens":21,"completion_time":0.068214998,"total_tokens":120,"total_time":0.084624096}},"usage":{"queue_time":0.03504137,"prompt_tokens":99,"prompt_time":0.016409098,"completion_tokens":21,"completion_time":0.068214998,"total_tokens":120,"total_time":0.084624096}}
+      data: {"id":"chatcmpl-6059e0d5-a7a8-4b9b-9d23-8b44a9175a59","object":"chat.completion.chunk","created":1762854974,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}],"x_groq":{"id":"req_01k9s5gd20ehs83d8fkh52fr85","usage":{"queue_time":0.162791944,"prompt_tokens":93,"prompt_time":0.014461869,"completion_tokens":21,"completion_time":0.067222006,"total_tokens":114,"total_time":0.081683875}},"usage":{"queue_time":0.162791944,"prompt_tokens":93,"prompt_time":0.014461869,"completion_tokens":21,"completion_time":0.067222006,"total_tokens":114,"total_time":0.081683875}}
 
-      data: {"id":"chatcmpl-f8dbbaa5-6f1a-48b5-8182-377b3774d8b1","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[],"usage":{"queue_time":0.03504137,"prompt_tokens":99,"prompt_time":0.016409098,"completion_tokens":21,"completion_time":0.068214998,"total_tokens":120,"total_time":0.084624096},"service_tier":"on_demand"}
+      data: {"id":"chatcmpl-6059e0d5-a7a8-4b9b-9d23-8b44a9175a59","object":"chat.completion.chunk","created":1762854974,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[],"usage":{"queue_time":0.162791944,"prompt_tokens":93,"prompt_time":0.014461869,"completion_tokens":21,"completion_time":0.067222006,"total_tokens":114,"total_time":0.081683875},"service_tier":"on_demand"}
 
       data: [DONE]
 
@@ -39,7 +39,7 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 169.217209ms
+    duration: 289.580708ms
 - id: 1
   request:
     proto: HTTP/1.1
@@ -54,7 +54,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.groq.com/openai/v1/chat/completions
     method: POST
   response:
@@ -63,55 +63,43 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k62v69nqexz91h2x5y0qygzz"}}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}],"x_groq":{"id":"req_01k9s5gdbweht9vbmhq6m82xx5"}}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"It"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"Fl"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"’s"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"ore"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" currently"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"nce"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"40"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" Italy"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" °"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"C"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" currently"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" ("},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" experiencing"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"about"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" very"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" hot"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"104"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" weather"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" °"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" at"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"F"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":")"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"40"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" in"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"°C"},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" Florence"},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"x_groq":{"id":"req_01k9s5gdbweht9vbmhq6m82xx5","usage":{"queue_time":0.162467912,"prompt_tokens":132,"prompt_time":0.020355587,"completion_tokens":17,"completion_time":0.063136224,"total_tokens":149,"total_time":0.083491811}},"usage":{"queue_time":0.162467912,"prompt_tokens":132,"prompt_time":0.020355587,"completion_tokens":17,"completion_time":0.063136224,"total_tokens":149,"total_time":0.083491811}}
 
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" Italy"},"logprobs":null,"finish_reason":null}]}
-
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"—"},"logprobs":null,"finish_reason":null}]}
-
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"quite"},"logprobs":null,"finish_reason":null}]}
-
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":" hot"},"logprobs":null,"finish_reason":null}]}
-
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
-
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"x_groq":{"id":"req_01k62v69nqexz91h2x5y0qygzz","usage":{"queue_time":0.035569563,"prompt_tokens":139,"prompt_time":0.016770892,"completion_tokens":23,"completion_time":0.079470705,"total_tokens":162,"total_time":0.096241597}},"usage":{"queue_time":0.035569563,"prompt_tokens":139,"prompt_time":0.016770892,"completion_tokens":23,"completion_time":0.079470705,"total_tokens":162,"total_time":0.096241597}}
-
-      data: {"id":"chatcmpl-8c7b9aab-0f33-4e49-a85c-a767e9f10cb3","object":"chat.completion.chunk","created":1758884734,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_6e6ff3688b","choices":[],"usage":{"queue_time":0.035569563,"prompt_tokens":139,"prompt_time":0.016770892,"completion_tokens":23,"completion_time":0.079470705,"total_tokens":162,"total_time":0.096241597},"service_tier":"on_demand"}
+      data: {"id":"chatcmpl-e14af5f2-dcb6-4bfb-9fce-dbe848e76368","object":"chat.completion.chunk","created":1762854975,"model":"moonshotai/kimi-k2-instruct-0905","system_fingerprint":"fp_3312304636","choices":[],"usage":{"queue_time":0.162467912,"prompt_tokens":132,"prompt_time":0.020355587,"completion_tokens":17,"completion_time":0.063136224,"total_tokens":149,"total_time":0.083491811},"service_tier":"on_demand"}
 
       data: [DONE]
 
@@ -120,4 +108,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 125.265708ms
+    duration: 251.184375ms

providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/multi_tool.yaml 🔗

@@ -6,9 +6,9 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 849
+    content_length: 829
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant. CRITICAL: Always use both add and multiply at the same time ALWAYS.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"}],"model":"Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant. CRITICAL: Always use both add and multiply at the same time ALWAYS.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"}],"model":"zai-org/GLM-4.6:cerebras","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
@@ -23,21 +23,21 @@ interactions:
     proto_major: 2
     proto_minor: 0
     content_length: -1
-    body: '{"id":"chatcmpl-7903d21a-4ce4-4c3c-80b0-26c4486da856","choices":[{"finish_reason":"tool_calls","index":0,"message":{"tool_calls":[{"id":"636c4f780","type":"function","function":{"name":"add","arguments":"{\"a\": 2, \"b\": 3}"}},{"id":"0e7c8838b","type":"function","function":{"name":"multiply","arguments":"{\"a\": 2, \"b\": 3}"}}],"role":"assistant"}}],"created":1761070222,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion","usage":{"prompt_tokens":412,"completion_tokens":59,"total_tokens":471,"prompt_tokens_details":{"cached_tokens":0}},"time_info":{"queue_time":0.000492824,"prompt_time":0.003602156,"completion_time":0.029433121,"total_time":0.03494548797607422,"created":1761070222.626673}}'

providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/multi_tool_streaming.yaml 🔗

@@ -6,9 +6,9 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 886
+    content_length: 866
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant. Always use both add and multiply at the same time.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"}],"model":"Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}],"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant. Always use both add and multiply at the same time.","role":"system"},{"content":"Add and multiply the number 2 and 3","role":"user"}],"model":"zai-org/GLM-4.6:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"add","strict":false,"description":"Add two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"},{"function":{"name":"multiply","strict":false,"description":"Multiply two numbers","parameters":{"properties":{"a":{"description":"first number","type":"integer"},"b":{"description":"second number","type":"integer"}},"required":["a","b"],"type":"object"}},"type":"function"}],"stream":true}'
     headers:
       Accept:
       - application/json
@@ -24,26 +24,44 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-fbef6a2f-2f11-4004-aa3d-797c76e902e4","choices":[{"delta":{"role":"assistant"},"index":0}],"created":1761070223,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":"","role":"assistant"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-fbef6a2f-2f11-4004-aa3d-797c76e902e4","choices":[{"delta":{"tool_calls":[{"function":{"name":"add","arguments":"{\"a\": 2, \"b\": 3}"},"type":"function","id":"49253c956","index":0},{"function":{"name":"multiply","arguments":"{\"a\": 2, \"b\": 3}"},"type":"function","id":"6a614264b","index":1}]},"index":0}],"created":1761070223,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"reasoning":""},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-fbef6a2f-2f11-4004-aa3d-797c76e902e4","choices":[{"delta":{},"finish_reason":"tool_calls","index":0}],"created":1761070223,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk","usage":{"prompt_tokens":408,"completion_tokens":59,"total_tokens":467,"prompt_tokens_details":{"cached_tokens":0}},"time_info":{"queue_time":0.000118501,"prompt_time":0.003364192,"completion_time":0.031095836,"total_time":0.036528825759887695,"created":1761070223.457216}}
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"reasoning":""},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":"\nI"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":"'ll add"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":" and"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":" multiply"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":" the numbers 2"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":" and 3 for you"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"content":".\n"},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{"tool_calls":[{"function":{"name":"add","arguments":"{\"a\": 2, \"b\": 3}"},"type":"function","id":"5ffda67d4","index":0},{"function":{"name":"multiply","arguments":"{\"a\": 2, \"b\": 3}"},"type":"function","id":"64c2d22d0","index":1}]},"index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-9a97fd4d-1e78-462a-920f-fca9d74b2f42","choices":[{"delta":{},"finish_reason":"tool_calls","index":0}],"created":1762855283,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk","usage":{"total_tokens":358,"completion_tokens":60,"prompt_tokens":298},"time_info":{"queue_time":0.00408092,"prompt_time":0.006777905,"completion_time":0.048781309,"total_time":0.062016963958740234,"created":1762855283.6442046}}
 
     headers:
       Content-Type:
       - text/event-stream; charset=utf-8
     status: 200 OK
     code: 200
-    duration: 324.113458ms
+    duration: 363.296791ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 1237
+    content_length: 1284
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/simple.yaml 🔗

@@ -6,9 +6,9 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 194
+    content_length: 174
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"Say hi in Portuguese","role":"user"}],"model":"Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras","max_tokens":4000}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"Say hi in Portuguese","role":"user"}],"model":"zai-org/GLM-4.6:cerebras","max_tokens":4000}'
     headers:
       Accept:
       - application/json
@@ -23,10 +23,10 @@ interactions:
     proto_major: 2
     proto_minor: 0
     content_length: -1
-    body: '{"id":"chatcmpl-9896e784-1a94-43f8-b06e-e673f36b4d66","choices":[{"finish_reason":"stop","index":0,"message":{"content":"Olá!","role":"assistant"}}],"created":1761070217,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion","usage":{"prompt_tokens":22,"completion_tokens":4,"total_tokens":26,"prompt_tokens_details":{"cached_tokens":0}},"time_info":{"queue_time":0.000123411,"prompt_time":0.002289408,"completion_time":0.00336861,"total_time":0.0072479248046875,"created":1761070217.7655818}}'

providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/simple_streaming.yaml 🔗

@@ -6,9 +6,9 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 248
+    content_length: 228
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"Say hi in Portuguese","role":"user"}],"model":"Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"Say hi in Portuguese","role":"user"}],"model":"zai-org/GLM-4.6:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"stream":true}'
     headers:
       Accept:
       - application/json
@@ -24,19 +24,713 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-6ee1d665-644a-4dda-81c6-7f6590a4fc84","choices":[{"delta":{"role":"assistant"},"index":0}],"created":1761070218,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":"","role":"assistant"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-6ee1d665-644a-4dda-81c6-7f6590a4fc84","choices":[{"delta":{"content":"Oi"},"index":0}],"created":1761070218,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-6ee1d665-644a-4dda-81c6-7f6590a4fc84","choices":[{"delta":{"content":"!"},"index":0}],"created":1761070218,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"1.  **Analyze the User's Request"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-6ee1d665-644a-4dda-81c6-7f6590a4fc84","choices":[{"delta":{},"index":0}],"created":1761070218,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":":** The user"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-6ee1d665-644a-4dda-81c6-7f6590a4fc84","choices":[{"delta":{},"finish_reason":"stop","index":0}],"created":1761070218,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk","usage":{"prompt_tokens":22,"completion_tokens":3,"total_tokens":25,"prompt_tokens_details":{"cached_tokens":0}},"time_info":{"queue_time":0.0001041,"prompt_time":0.002245652,"completion_time":0.003623067,"total_time":0.008143901824951172,"created":1761070218.1551065}}
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"'s request is"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" very simple and direct"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":": \"Say hi in Portuguese\".\n\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"2. "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" **Identify the"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Core Task:** The core task is"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" to provide the Portuguese translation"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" of"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the English word"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"hi\".\n\n3.  **Initial Knowledge"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Retrie"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"val:** I"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" access my"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" internal knowledge base for translations"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"   "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" *   \"Hi\" is an"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" informal greeting"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"    *   The most"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" common, direct"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":", and informal translation"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" for"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"hi"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"\" in Portuguese is \"Oi\".\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"    *   I should"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" also consider other greetings."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" What"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" are"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the nuances"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"?\n\n4"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".  **Brainstorm"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Portuguese G"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"reetings & Their"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Context"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"s:"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"**\n    *   **Oi:**"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" This is"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the most direct equivalent of"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Hi\"."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" It's informal,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" used with"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" friends,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" family, people you"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" know well"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":". It's universally understood"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" in both"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Brazil"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and Portugal. This is the primary answer.\n    *   **Olá:** This is a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" bit more"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" formal than \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Oi\" but"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" still very"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" common. It's like \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Hello\". It's"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a safe bet"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" in"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" almost"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" any situation"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":", informal or slightly formal"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" I should"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" include this as a good alternative"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n    *   **Bom dia:** This means"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"Good morning\". It"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"'s a very common greeting"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":", but it's time"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"-specific."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" I should"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" mention this. It"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"'s used until"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" around noon"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"   "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" *   **Boa tarde:**"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" This means"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"Good afternoon\". Also time"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"-specific, used from"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" noon until"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" evening/d"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"usk"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n   "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" *   **Boa noite:** This means \"Good evening\" or"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"Good night\". It's"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" used from dusk onwards"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" can be"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" both a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" greeting"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" farewell. This is an"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" important distinction"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" to make.\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"    *   **E aí"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"? / Be"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"le"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"za?"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" (Brazil"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"ian slang"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"):"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"** These are"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" very informal"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":", like \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"What's"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" up?\"."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" They are specific to"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Brazil ("},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"or"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" at least"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" much more"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" common"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" there) and very casual"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" I should include these to provide"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" more depth"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" show a better"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" understanding of"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" colloquial"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" language.\n    *   **"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Tudo bem"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"?:**"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Literally"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"Is everything"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" well"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"?\". It's used"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" both as"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" greeting (\"How are"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" you?\") and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a response to \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Oi"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"\""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" or \"Olá\". Worth mentioning"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n\n5."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"  **Structure the Answer:** I need to present this information clearly and concis"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"ely, without"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" overwhelming"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the user"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":". A good structure would be:\n\n    *   **Start with"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the most direct answer:** The"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" user asked"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" for \"hi\", so"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" give them \"Oi\" right away"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":". Make it"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" bold and clear"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n    *   **Provide the most"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" common alternative:** Give \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Olá\" next as"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" slightly more"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" formal but very"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" frequent"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" option"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":". Explain the"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" difference in form"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"ality"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n   "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" *   **Offer time-specific"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" greetings:** Group \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Bom"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" dia\", \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Boa tarde\", and \"Boa noite\" together and explain"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" when to use"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" them."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" This is very"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" useful practical"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" information"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n    *   **Add informal"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"/s"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"lang options"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" (optional"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" but"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" good for value"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"):**"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Include a couple of"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" very informal"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" options"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" like \"E aí?\" and specify"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" that"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" they are"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" more common in Brazil and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" used with friends"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" This adds a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" layer of cultural and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" linguistic nu"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"ance.\n    *   **Provide"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a simple"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" closing:**"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" A friendly closing like \"Hope this"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" helps"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"!\" or just a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" clean layout"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" is good"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n\n6.  **Draft"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the Content (incorporating the structure):**\n\n    *   *Initial"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" thought:* \"Oi.\" ->"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" *"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Too brief"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":". The"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" user might want"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" more"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" context.*\n\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"   "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" *   *Second draft:"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"*\n        The most common"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" way to say"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"hi\" in Portuguese is:\n       "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" **Oi!"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"**\n       "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" It's informal,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" like"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"hi,\""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" used"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" with friends"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and family.\n        You"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" can also"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" say:\n        **Olá!**\n        This is"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" more like"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"hello"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"\" and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" can be"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" used in more situations.\n\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"    *   *Refined"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" draft"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" (adding the"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" time"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"-of-day"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" greetings):"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"*\n        The most common and direct"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" way to say \"hi\" in Portuguese is:\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"        **Oi!**\n\n        For"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a slightly"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" more formal or general"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" greeting"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" (like"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"hello\"), you can use:\n        **Olá!"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"**\n\n        You can also"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" use time-of"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"-day"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" greetings, which"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" are"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" very common:\n        *   **Bom dia** -"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Good"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" morning\n        *   **Boa tarde** - Good afternoon\n        *   **Bo"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"a noite** - Good evening / Good"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" night\n\n    *"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"   *Final Polish (adding slang and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" pronunciation/pr"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"actical"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" tips"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"):*\n        I'll"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" start with the direct answer"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":", bold"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"ed,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" for"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" maximum"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" clarity"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":".\n\n       "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" **Oi!** (pronounced"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" roughly \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"oy\")\n\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"       "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" This is"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the most common and direct equivalent of"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" \"hi.\""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" It's"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" informal and used with"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" friends,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" family,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and people you know well.\n\n        Here are"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a few"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" other options,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" depending on the situation:\n\n        **Ol"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"á** ("},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"pronounced \"oh-LAH\")\n       "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" *  "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" This is like \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"hello.\" It"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"'s a bit more"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" formal than \""},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"Oi\" but still very common and works"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" in"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" almost any situation.\n\n        You can"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" also use greetings based"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" on the"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" time of day:\n        *   **Bom dia** - Good"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" morning\n        *   **Boa tarde** - Good afternoon"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"\n        *   **Boa noite** - Good evening / Good night\n\n        And for"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" very informal"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" situations with"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" friends"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" (especially in"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" Brazil):\n        *"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"   **E aí?** - What"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"'s up?\n        *"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"   **Tudo bem"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"?** - How's it"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" going? / Everything"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" okay"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"?\n\n"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"7."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"  **Review and Final"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"ize:** The final draft"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" is excellent."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" It's comprehensive but"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" not"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" overwhelming. It gives the"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" direct answer first,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" then provides context,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" alternatives,"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" and cultural nuances."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" The pronunciation guides"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" are"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" a helpful"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" touch."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" The formatting with"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" bold"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" text and"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" bullet points"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" makes it easy to read. This is"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" the version"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":" I'll output"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"reasoning":"."},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":"\nThe most"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" common way to say \"hi"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":"\" in Portuguese is:\n\n**Oi!**\n\nIt's"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" informal, just like"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" \"hi,\" and is used with friends, family"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":", and people you know well.\n\nHere are a"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" few other options:\n\n*  "},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" **Olá** -"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" This is like \"hello"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":".\" It's"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" a bit more formal than *Oi"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":"* but works in almost"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" any situation.\n\nYou"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" can also use greetings based"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" on the time of day"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":":\n\n*   **Bom"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":" dia** - Good morning\n*   **Boa tarde** - Good afternoon\n*   **Bo"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{"content":"a noite** - Good evening / Good night"},"index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-6e7970f4-2fbf-43c3-9847-3fc8717703e9","choices":[{"delta":{},"finish_reason":"stop","index":0}],"created":1762855220,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk","usage":{"total_tokens":1337,"completion_tokens":1321,"prompt_tokens":16},"time_info":{"queue_time":0.00012731,"prompt_time":0.004064561,"completion_time":1.739690271,"total_time":1.7457032203674316,"created":1762855220.2438056}}
 
     headers:
       Content-Type:
       - text/event-stream; charset=utf-8
     status: 200 OK
     code: 200
-    duration: 371.201333ms
+    duration: 319.948458ms

providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/tool.yaml 🔗

@@ -6,9 +6,9 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 486
+    content_length: 466
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"zai-org/GLM-4.6:cerebras","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
@@ -23,21 +23,21 @@ interactions:
     proto_major: 2
     proto_minor: 0
     content_length: -1
-    body: '{"id":"chatcmpl-fb490edc-2dc0-436e-83cb-ee109fd3e387","choices":[{"finish_reason":"tool_calls","index":0,"message":{"tool_calls":[{"id":"a937be9d7","type":"function","function":{"name":"weather","arguments":"{\"location\": \"Florence,Italy\"}"}}],"role":"assistant"}}],"created":1761070221,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion","usage":{"prompt_tokens":277,"completion_tokens":25,"total_tokens":302,"prompt_tokens_details":{"cached_tokens":0}},"time_info":{"queue_time":0.000135531,"prompt_time":0.009486813,"completion_time":0.016420409,"total_time":0.027780532836914062,"created":1761070221.021929}}'

providertests/testdata/TestOpenAICompatibleCommon/huggingface-qwen3-coder/tool_streaming.yaml 🔗

@@ -6,9 +6,9 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 540
+    content_length: 520
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"}],"model":"zai-org/GLM-4.6:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
     headers:
       Accept:
       - application/json
@@ -24,26 +24,88 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-1ca2f710-7a38-402a-a08b-af2ffa91d70a","choices":[{"delta":{"role":"assistant"},"index":0}],"created":1761070221,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"content":"","role":"assistant"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-1ca2f710-7a38-402a-a08b-af2ffa91d70a","choices":[{"delta":{"tool_calls":[{"function":{"name":"weather","arguments":"{\"location\": \"Florence,Italy\"}"},"type":"function","id":"0da2f2748","index":0}]},"index":0}],"created":1761070221,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":""},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-1ca2f710-7a38-402a-a08b-af2ffa91d70a","choices":[{"delta":{},"finish_reason":"tool_calls","index":0}],"created":1761070221,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk","usage":{"prompt_tokens":277,"completion_tokens":25,"total_tokens":302,"prompt_tokens_details":{"cached_tokens":0}},"time_info":{"queue_time":0.000467134,"prompt_time":0.008837703,"completion_time":0.016987548,"total_time":0.02814340591430664,"created":1761070221.7568507}}
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":"The user is"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" asking"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" for weather information"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" for Florence, Italy. I need to use the weather function with"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" the"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" location parameter."},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" The"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" user specified"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" \""},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":"Florence"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":",Italy\" as"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" the location. I"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" should"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" use"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" this"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" exactly as"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" provided since"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" it"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" includes both"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" the"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" city and country information which"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" will"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" help"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" get"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":" accurate results"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":"."},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"reasoning":""},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"content":"\n"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"content":"I'll get the"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"content":" weather information for Florence, Italy for you.\n"},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{"tool_calls":[{"function":{"name":"weather","arguments":"{\"location\": \"Florence,Italy\"}"},"type":"function","id":"75314f724","index":0}]},"index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-cd1b3de5-3a2b-4246-ba7f-583eb2eddfbd","choices":[{"delta":{},"finish_reason":"tool_calls","index":0}],"created":1762855240,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk","usage":{"total_tokens":279,"completion_tokens":92,"prompt_tokens":187},"time_info":{"queue_time":0.004136448,"prompt_time":0.005123835,"completion_time":0.16235391,"total_time":0.17365789413452148,"created":1762855240.359195}}
 
     headers:
       Content-Type:
       - text/event-stream; charset=utf-8
     status: 200 OK
     code: 200
-    duration: 429.335958ms
+    duration: 348.470333ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 752
+    content_length: 810
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"0da2f2748","function":{"arguments":"{\"location\": \"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"0da2f2748","role":"tool"}],"model":"Qwen/Qwen3-Coder-480B-A35B-Instruct:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"content":"\nI''ll get the weather information for Florence, Italy for you.\n","tool_calls":[{"id":"75314f724","function":{"arguments":"{\"location\": \"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"75314f724","role":"tool"}],"model":"zai-org/GLM-4.6:cerebras","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
     headers:
       Accept:
       - application/json
@@ -59,41 +121,109 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"role":"assistant"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":"","role":"assistant"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"reasoning":""},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"reasoning":""},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":"\nThe current weather"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" in Florence, Italy"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" is"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" 40°C, which"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" is"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" quite"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" hot"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":"!"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" This"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" is"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" a"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" very"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" warm"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" temperature"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":","},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" so"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" if"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" you"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":"'re"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" planning"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" to"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" visit"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" or"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" have"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" activities"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" planned"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" there"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":","},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" you"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":"'ll"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" want"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
+
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" to"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":"The"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" be"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":" current"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" prepared"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":" weather"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" for"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":" in"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" the"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":" Florence"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" heat"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":","},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":"."},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":" Italy"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" Make"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":" is"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" sure"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":" "},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" to"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":"4"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" stay"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":"0"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" hydrated and seek shade"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":"°C"},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" when"},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{"content":"."},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{"content":" possible."},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{},"index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk"}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{},"index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk"}
 
-      data: {"id":"chatcmpl-ae6007c3-7cc3-4add-ab2f-f177d907838c","choices":[{"delta":{},"finish_reason":"stop","index":0}],"created":1761070219,"model":"qwen-3-coder-480b","system_fingerprint":"fp_386b539e7b02ce3613b7","object":"chat.completion.chunk","usage":{"prompt_tokens":319,"completion_tokens":14,"total_tokens":333,"prompt_tokens_details":{"cached_tokens":0}},"time_info":{"queue_time":0.00013387,"prompt_time":0.010714015,"completion_time":0.009309609,"total_time":0.02214217185974121,"created":1761070219.7154236}}
+      data: {"id":"chatcmpl-7aa67568-b556-4b17-b0a9-5cd878985e99","choices":[{"delta":{},"finish_reason":"stop","index":0}],"created":1762855260,"model":"zai-glm-4.6","system_fingerprint":"fp_b78e4418d824cdcd64e8","object":"chat.completion.chunk","usage":{"total_tokens":290,"completion_tokens":62,"prompt_tokens":228},"time_info":{"queue_time":0.003050024,"prompt_time":0.003663248,"completion_time":0.23331325,"total_time":0.24212312698364258,"created":1762855260.1703784}}
 
     headers:
       Content-Type:
       - text/event-stream; charset=utf-8
     status: 200 OK
     code: 200
-    duration: 337.890125ms
+    duration: 19.633745459s

providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/simple.yaml 🔗

@@ -22,11 +22,11 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 780
-    body: '{"choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","reasoning_content":"User says: \"Say hi in Portuguese\". So just respond with \"Olá!\" Possibly also \"Oi!\" Should I reply in Portuguese? Likely just \"Olá!\". Use friendly tone.","content":"Olá!"}}],"created":1761672364,"model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion","usage":{"completion_tokens":49,"prompt_tokens":84,"total_tokens":133},"id":"chatcmpl-e6UiQRCWY30H3zRV5s6NwP6whRuauvgL","timings":{"cache_n":62,"prompt_n":22,"prompt_ms":3021.023,"prompt_per_token_ms":137.3192272727273,"prompt_per_second":7.282301392607735,"predicted_n":49,"predicted_ms":676.643,"predicted_per_token_ms":13.809040816326531,"predicted_per_second":72.41632589120111}}'
+    content_length: 760
+    body: '{"choices":[{"finish_reason":"stop","index":0,"message":{"role":"assistant","reasoning_content":"The user says: \"Say hi in Portuguese\". So answer: \"Olá\" or \"Oi\". Likely \"Olá\". Probably a friendly greeting. Just respond with that.","content":"Olá!"}}],"created":1762855698,"model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion","usage":{"completion_tokens":47,"prompt_tokens":84,"total_tokens":131},"id":"chatcmpl-vR6SJg5NfJyDqhfDG37wzJGDJtoLvF2f","timings":{"cache_n":0,"prompt_n":84,"prompt_ms":292.377,"prompt_per_token_ms":3.4806785714285717,"prompt_per_second":287.3003006392431,"predicted_n":47,"predicted_ms":391.773,"predicted_per_token_ms":8.335595744680852,"predicted_per_second":119.96743011897196}}'
     headers:
       Content-Type:
       - application/json; charset=utf-8
     status: 200 OK
     code: 200
-    duration: 3.946099125s
+    duration: 687.964334ms

providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/simple_streaming.yaml 🔗

@@ -26,115 +26,105 @@ interactions:
     - chunked
     content_length: -1
     body: |+
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"User"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"The"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" user"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Say"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" hi"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Say"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" hi"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Portuguese"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\"."}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Portuguese"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" So"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\"."}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" we"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" They"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" answer"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" want"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" a"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Olá"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" greeting"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"!\""}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1762855698,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" or"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Portuguese"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Oi"}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Simple"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"!\""}}],"created":1761672364,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" should"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Olá"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" be"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"!\""}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" helpful"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" or"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Provide"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Oi"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" a"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"!\"."}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" greeting"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Probably"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" respond"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Portuguese"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" with"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Possibly"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Olá"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" mention"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"!\""}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" that"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" or"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Olá"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Oi"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\""}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"!"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" is"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\"."}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" formal"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\n\nWe"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":","}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" should"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" keep"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Oi"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" it"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\""}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" concise"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" informal"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We'll"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Let's"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" respond"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" answer"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" simply"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"Olá"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"!"}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":"stop","index":0,"delta":{}}],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Olá"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"!\""}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"Olá"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"!"}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":"stop","index":0,"delta":{}}],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[],"created":1761672365,"id":"chatcmpl-5P1d7PznEZm693insxrVQc0jmEtWlHUA","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk","usage":{"completion_tokens":62,"prompt_tokens":84,"total_tokens":146},"timings":{"cache_n":83,"prompt_n":1,"prompt_ms":14.682,"prompt_per_token_ms":14.682,"prompt_per_second":68.11061163329246,"predicted_n":62,"predicted_ms":871.397,"predicted_per_token_ms":14.054790322580645,"predicted_per_second":71.15011871741582}}
+      data: {"choices":[],"created":1762855699,"id":"chatcmpl-rd0JN5fzYlCrafuJEy6psZhukXbBVmTK","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk","usage":{"completion_tokens":57,"prompt_tokens":84,"total_tokens":141},"timings":{"cache_n":83,"prompt_n":1,"prompt_ms":8.996,"prompt_per_token_ms":8.996,"prompt_per_second":111.16051578479323,"predicted_n":57,"predicted_ms":484.01,"predicted_per_token_ms":8.49140350877193,"predicted_per_second":117.76616185616001}}
 
       data: [DONE]
 
@@ -143,4 +133,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 780.083µs
+    duration: 755.667µs

providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/tool.yaml 🔗

@@ -22,22 +22,22 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 803
-    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"role":"assistant","reasoning_content":"We need to call the weather function.","content":null,"tool_calls":[{"type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"id":"iSI9CucmKnbtrkxFldJPg3gSXbJ3Eom9"}]}}],"created":1761672366,"model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion","usage":{"completion_tokens":34,"prompt_tokens":139,"total_tokens":173},"id":"chatcmpl-5ubBAQ1OuDgakYNl3FcW2ZzxP6PLPfv4","timings":{"cache_n":59,"prompt_n":80,"prompt_ms":292.99,"prompt_per_token_ms":3.662375,"prompt_per_second":273.0468616676337,"predicted_n":34,"predicted_ms":462.897,"predicted_per_token_ms":13.614617647058823,"predicted_per_second":73.45046522228488}}'
+    content_length: 914
+    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"role":"assistant","reasoning_content":"The user asks: \"What''s the weather in Florence, Italy?\" We have a tool \"functions.weather\" that can get weather information. We should call it.","content":null,"tool_calls":[{"type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"},"id":"mvVq65j66dyGRizURhbdNCEnSO56GhXx"}]}}],"created":1762855699,"model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion","usage":{"completion_tokens":58,"prompt_tokens":139,"total_tokens":197},"id":"chatcmpl-xN1fVcGhqAh4SXLdsus63WtY5KhK0cv8","timings":{"cache_n":59,"prompt_n":80,"prompt_ms":138.363,"prompt_per_token_ms":1.7295375,"prompt_per_second":578.1892557981541,"predicted_n":58,"predicted_ms":483.677,"predicted_per_token_ms":8.339258620689655,"predicted_per_second":119.91473648736657}}'
     headers:
       Content-Type:
       - application/json; charset=utf-8
     status: 200 OK
     code: 200
-    duration: 760.630834ms
+    duration: 625.633ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 729
+    content_length: 898
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"iSI9CucmKnbtrkxFldJPg3gSXbJ3Eom9","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"iSI9CucmKnbtrkxFldJPg3gSXbJ3Eom9","role":"tool"}],"model":"openai/gpt-oss-20b","max_completion_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"mvVq65j66dyGRizURhbdNCEnSO56GhXx","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_content":"The user asks: \"What''s the weather in Florence, Italy?\" We have a tool \"functions.weather\" that can get weather information. We should call it."},{"content":"40 C","tool_call_id":"mvVq65j66dyGRizURhbdNCEnSO56GhXx","role":"tool"}],"model":"openai/gpt-oss-20b","max_completion_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
@@ -51,11 +51,11 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 1240

providertests/testdata/TestOpenAICompatibleCommon/llama-cpp-gpt-oss/tool_streaming.yaml 🔗

@@ -26,57 +26,57 @@ interactions:
     - chunked
     content_length: -1
     body: |+
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"The"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"User"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" user"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" wants"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" asks"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" for"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Florence"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":","}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Florence"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Italy"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":","}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Italy"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" can"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" use"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" can"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" the"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" use"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" the"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" function"}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" function"}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"id":"g2KOIWzn722hzEaZQmNVP4roUPEiYafL","type":"function","function":{"name":"weather","arguments":"{\""}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672368,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"id":"tNkZIM2wWGCzRoFvK6X0TdhHhAYj6fVY","type":"function","function":{"name":"weather","arguments":"{\""}}]}}],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]}}],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Flor"}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]}}],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ence"}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Flor"}}]}}],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ence"}}]}}],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" Italy"}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]}}],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{}}],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{}}],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[],"created":1761672369,"id":"chatcmpl-vHnyyi5Z6RRKTtbLzBj23g4Hf8jOhXs5","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk","usage":{"completion_tokens":41,"prompt_tokens":139,"total_tokens":180},"timings":{"cache_n":138,"prompt_n":1,"prompt_ms":14.889,"prompt_per_token_ms":14.889,"prompt_per_second":67.16367788300087,"predicted_n":41,"predicted_ms":579.8,"predicted_per_token_ms":14.141463414634146,"predicted_per_second":70.7140393239048}}
+      data: {"choices":[],"created":1762855700,"id":"chatcmpl-lz25qRqbjeLO8nbwF4DJYJQc7KjZrG2z","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk","usage":{"completion_tokens":41,"prompt_tokens":139,"total_tokens":180},"timings":{"cache_n":138,"prompt_n":1,"prompt_ms":8.691,"prompt_per_token_ms":8.691,"prompt_per_second":115.06155793349441,"predicted_n":41,"predicted_ms":339.279,"predicted_per_token_ms":8.27509756097561,"predicted_per_second":120.84449671214546}}
 
       data: [DONE]
 
@@ -85,15 +85,15 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 1.004916ms
+    duration: 859.5µs
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 776
+    content_length: 877
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"tNkZIM2wWGCzRoFvK6X0TdhHhAYj6fVY","function":{"arguments":"{\"location\":\"Florence\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"tNkZIM2wWGCzRoFvK6X0TdhHhAYj6fVY","role":"tool"}],"model":"openai/gpt-oss-20b","max_completion_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"g2KOIWzn722hzEaZQmNVP4roUPEiYafL","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_content":"User wants weather in Florence, Italy. We can use the weather function."},{"content":"40 C","tool_call_id":"g2KOIWzn722hzEaZQmNVP4roUPEiYafL","role":"tool"}],"model":"openai/gpt-oss-20b","max_completion_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
     headers:
       Accept:
       - application/json
@@ -111,129 +111,39 @@ interactions:
     - chunked
     content_length: -1
     body: |+
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"We"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"The"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" need"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" current"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" weather"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" respond"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" in"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Florence"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" The"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":","}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" function"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Italy"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" returned"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" is"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" **"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"40"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"40"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" C"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" "}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\"."}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"°C"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" That"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"**"}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" seems"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"."}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" unrealistic"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":"stop","index":0,"delta":{}}],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" should"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" trust"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" the"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" function"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"'s"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" output"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" 40"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"°C"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" But"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" maybe"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" we"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" need"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" mention"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" that"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" it's"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" a"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" forecast"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"?"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" can"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" provide"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" that"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" answer"}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672369,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"The"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" current"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" temperature"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" in"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Florence"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":","}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Italy"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":","}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" is"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" **"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"40"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" "}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"°C"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"**"}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"."}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":"stop","index":0,"delta":{}}],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[],"created":1761672370,"id":"chatcmpl-T7agzjyEnF0tBCU21JdEcZ8cpz6QFL4V","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk","usage":{"completion_tokens":70,"prompt_tokens":173,"total_tokens":243},"timings":{"cache_n":139,"prompt_n":34,"prompt_ms":143.047,"prompt_per_token_ms":4.207264705882353,"prompt_per_second":237.68411780743392,"predicted_n":70,"predicted_ms":980.894,"predicted_per_token_ms":14.012771428571428,"predicted_per_second":71.3634704667375}}
+      data: {"choices":[],"created":1762855700,"id":"chatcmpl-PRVO688pTstdVIzbBa8S5l5QzcgoxAWl","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk","usage":{"completion_tokens":18,"prompt_tokens":196,"total_tokens":214},"timings":{"cache_n":160,"prompt_n":36,"prompt_ms":79.853,"prompt_per_token_ms":2.218138888888889,"prompt_per_second":450.8283971798179,"predicted_n":18,"predicted_ms":145.366,"predicted_per_token_ms":8.07588888888889,"predicted_per_second":123.82537869928318}}
 
       data: [DONE]
 
@@ -242,4 +152,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 2.142916ms
+    duration: 2.05025ms

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/multi_tool.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,13 +24,13 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"9501c7bc-e5d7-2526-dcb6-1654ab39e68f_us-east-1","object":"chat.completion","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_48863314","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"type":"function"},{"id":"call_85429265","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":398,"completion_tokens":68,"total_tokens":598,"prompt_tokens_details":{"text_tokens":398,"audio_tokens":0,"image_tokens":0,"cached_tokens":266},"completion_tokens_details":{"reasoning_tokens":132,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}'
+    body: '{"id":"dec7a509-fc2a-5adb-eed9-626affdd1430","object":"chat.completion","created":1762854946,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_77946408","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"type":"function"},{"id":"call_90297600","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":437,"completion_tokens":68,"total_tokens":648,"prompt_tokens_details":{"text_tokens":437,"audio_tokens":0,"image_tokens":0,"cached_tokens":304},"completion_tokens_details":{"reasoning_tokens":143,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 2.143328667s
+    duration: 2.687079417s
 - id: 1
   request:
     proto: HTTP/1.1
@@ -38,14 +38,14 @@ interactions:
     proto_minor: 1
     content_length: 1177
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/multi_tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,277 +24,301 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884714,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_76764010","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854950,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_04649721","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"index":1,"type":"function"}]}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"5ba2d198-f61b-646d-9aad-0ed46b167b7a_us-east-1","object":"chat.completion.chunk","created":1758884715,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":394,"completion_tokens":68,"total_tokens":594,"prompt_tokens_details":{"text_tokens":394,"audio_tokens":0,"image_tokens":0,"cached_tokens":364},"completion_tokens_details":{"reasoning_tokens":132,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_87057118","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_52998358","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"index":1,"type":"function"}]}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"b4b9e8e9-d0a8-fea3-52ae-7c4c33004f65","object":"chat.completion.chunk","created":1762854951,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":433,"completion_tokens":68,"total_tokens":645,"prompt_tokens_details":{"text_tokens":433,"audio_tokens":0,"image_tokens":0,"cached_tokens":403},"completion_tokens_details":{"reasoning_tokens":144,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}
 
       data: [DONE]
 
@@ -303,7 +327,7 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 443.52575ms
+    duration: 415.14375ms
 - id: 1
   request:
     proto: HTTP/1.1
@@ -311,14 +335,14 @@ interactions:
     proto_minor: 1
     content_length: 1214
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/simple.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,10 +24,10 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"b579848f-4236-577c-5f9c-c35402b4f2aa_us-east-1","object":"chat.completion","created":1758884699,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"Olá!","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":126,"completion_tokens":2,"total_tokens":229,"prompt_tokens_details":{"text_tokens":126,"audio_tokens":0,"image_tokens":0,"cached_tokens":117},"completion_tokens_details":{"reasoning_tokens":101,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}'
+    body: '{"id":"ba921086-b431-a891-6539-f253e188df6f","object":"chat.completion","created":1762854936,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"Olá!","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":165,"completion_tokens":2,"total_tokens":244,"prompt_tokens_details":{"text_tokens":165,"audio_tokens":0,"image_tokens":0,"cached_tokens":150},"completion_tokens_details":{"reasoning_tokens":77,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 2.421426625s
+    duration: 928.874459ms

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/simple_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,259 +24,291 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854937,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884701,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"Olá"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"d902f9b5-9a22-96b1-4b9c-97175fa193ee_us-east-1","object":"chat.completion.chunk","created":1758884702,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":126,"completion_tokens":2,"total_tokens":251,"prompt_tokens_details":{"text_tokens":126,"audio_tokens":0,"image_tokens":0,"cached_tokens":125},"completion_tokens_details":{"reasoning_tokens":123,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"Olá"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"bd8fcffa-eabb-78dc-6980-d22e46ee7cea","object":"chat.completion.chunk","created":1762854938,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":165,"completion_tokens":2,"total_tokens":306,"prompt_tokens_details":{"text_tokens":165,"audio_tokens":0,"image_tokens":0,"cached_tokens":150},"completion_tokens_details":{"reasoning_tokens":139,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}
 
       data: [DONE]
 
@@ -285,4 +317,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 189.396459ms
+    duration: 198.825167ms

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/tool.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,13 +24,13 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"d1e1c64c-3c5a-a479-6336-b6caee908ccc_us-east-1","object":"chat.completion","created":1758884702,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_38180916","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":322,"completion_tokens":26,"total_tokens":560,"prompt_tokens_details":{"text_tokens":322,"audio_tokens":0,"image_tokens":0,"cached_tokens":266},"completion_tokens_details":{"reasoning_tokens":212,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}'
+    body: '{"id":"6645739c-32ed-3f7b-3df7-eae6c86bee88","object":"chat.completion","created":1762854938,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_38088650","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":361,"completion_tokens":26,"total_tokens":527,"prompt_tokens_details":{"text_tokens":361,"audio_tokens":0,"image_tokens":0,"cached_tokens":304},"completion_tokens_details":{"reasoning_tokens":140,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 3.417448417s
+    duration: 2.622645042s
 - id: 1
   request:
     proto: HTTP/1.1
@@ -38,14 +38,14 @@ interactions:
     proto_minor: 1
     content_length: 673
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_38180916","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_38180916","role":"tool"}],"model":"grok-4-fast","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_38088650","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_38088650","role":"tool"}],"model":"grok-4-fast","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -54,10 +54,10 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"71fd2c5c-142f-a2bd-995f-f4c7329bf9f3_us-east-1","object":"chat.completion","created":1758884706,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"The current weather in Florence, Italy, is 40°C (104°F). It looks like a hot day—stay hydrated! If you need more details like forecast or humidity, let me know.","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":573,"completion_tokens":40,"total_tokens":657,"prompt_tokens_details":{"text_tokens":573,"audio_tokens":0,"image_tokens":0,"cached_tokens":561},"completion_tokens_details":{"reasoning_tokens":44,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}'
+    body: '{"id":"8359b4aa-22c3-dfe0-c3b5-9e622b2be670","object":"chat.completion","created":1762854941,"model":"grok-4-fast-reasoning","choices":[{"index":0,"message":{"role":"assistant","content":"The current temperature in Florence, Italy, is 40°C. If you need more details like forecasts or conditions, let me know!","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":540,"completion_tokens":27,"total_tokens":661,"prompt_tokens_details":{"text_tokens":540,"audio_tokens":0,"image_tokens":0,"cached_tokens":304},"completion_tokens_details":{"reasoning_tokens":94,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 1.162276458s
+    duration: 1.701426875s

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-4-fast/tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,365 +24,451 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854943,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884707,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884708,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884709,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_25115338","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884709,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"9e3e23e4-4728-c6d6-2b5b-2ce716581ec5_us-east-1","object":"chat.completion.chunk","created":1758884709,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":322,"completion_tokens":26,"total_tokens":525,"prompt_tokens_details":{"text_tokens":322,"audio_tokens":0,"image_tokens":0,"cached_tokens":321},"completion_tokens_details":{"reasoning_tokens":177,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_54240681","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"86dec149-d152-1223-0b58-aaea2004fdc1","object":"chat.completion.chunk","created":1762854944,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":361,"completion_tokens":26,"total_tokens":607,"prompt_tokens_details":{"text_tokens":361,"audio_tokens":0,"image_tokens":0,"cached_tokens":304},"completion_tokens_details":{"reasoning_tokens":220,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}
 
       data: [DONE]
 
@@ -391,7 +477,7 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 267.996292ms
+    duration: 182.838541ms
 - id: 1
   request:
     proto: HTTP/1.1
@@ -399,14 +485,14 @@ interactions:
     proto_minor: 1
     content_length: 727
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_25115338","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_25115338","role":"tool"}],"model":"grok-4-fast","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_54240681","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_54240681","role":"tool"}],"model":"grok-4-fast","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
     headers:
       Accept:
       - application/json
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -415,163 +501,165 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"role":"assistant"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
+
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"The"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" current"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" weather"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" in"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"The"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" Florence"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" current"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" weather"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" Italy"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" in"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" Florence"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" is"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" Italy"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"40"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"°C"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" is"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" ("}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"104"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"40"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"°F"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"°C"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":")."}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" ("}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" It's"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"104"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" quite"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"°F"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" hot"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":")."}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"—"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" It"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"stay"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" looks"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" hydrated"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" like"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" and"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" a"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" seek"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" very"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" shade"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" hot"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" if"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" day"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" you're"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"—"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" out"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"stay"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" and"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" hydrated"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" about"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" If"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" If"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" you"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" you"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" need"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" need"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" more"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" more"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" details"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" details"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" like"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" like"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" forecasts"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" forecasts"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" or"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" or"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" humidity"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" humidity"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" let"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" let"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" me"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" me"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" know"}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":" know"}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"."}}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{"content":"."}}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_bfbe7bd0a2"}
 
-      data: {"id":"46f59f6a-5f58-6c76-7d46-e80c3a577263_us-east-1","object":"chat.completion.chunk","created":1758884710,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":538,"completion_tokens":41,"total_tokens":615,"prompt_tokens_details":{"text_tokens":538,"audio_tokens":0,"image_tokens":0,"cached_tokens":265},"completion_tokens_details":{"reasoning_tokens":36,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_9362061f30"}
+      data: {"id":"653a2216-e941-bdf0-0fa3-efe1681b9405","object":"chat.completion.chunk","created":1762854945,"model":"grok-4-fast-reasoning","choices":[],"usage":{"prompt_tokens":620,"completion_tokens":45,"total_tokens":698,"prompt_tokens_details":{"text_tokens":620,"audio_tokens":0,"image_tokens":0,"cached_tokens":365},"completion_tokens_details":{"reasoning_tokens":33,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_bfbe7bd0a2"}
 
       data: [DONE]
 
@@ -580,4 +668,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 175.263833ms
+    duration: 188.3925ms

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/multi_tool.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,13 +24,13 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"04b263b6-d273-8420-bbd3-14872d8cc81f_us-east-1","object":"chat.completion","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_23158856","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"type":"function"},{"id":"call_18184073","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":471,"completion_tokens":68,"total_tokens":764,"prompt_tokens_details":{"text_tokens":471,"audio_tokens":0,"image_tokens":0,"cached_tokens":320},"completion_tokens_details":{"reasoning_tokens":225,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
+    body: '{"id":"9874b007-2b46-d81c-99af-a1e5f79ad5f8","object":"chat.completion","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_20392219","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"type":"function"},{"id":"call_35218664","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":471,"completion_tokens":68,"total_tokens":773,"prompt_tokens_details":{"text_tokens":471,"audio_tokens":0,"image_tokens":0,"cached_tokens":320},"completion_tokens_details":{"reasoning_tokens":234,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 1.932519584s
+    duration: 2.281730792s
 - id: 1
   request:
     proto: HTTP/1.1
@@ -38,14 +38,14 @@ interactions:
     proto_minor: 1
     content_length: 1182
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/multi_tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,641 +24,381 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"The","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"The","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" task"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" asked"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" add"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" add"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" multiply"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" multiply"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" numbers"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"2"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"3"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" instructions"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" use"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" say"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" both"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" tools"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" always"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" use"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" add"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" both"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" add"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" multiply"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" multiply"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" at"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" same"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" time"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854969,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884730,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\n\n## Understanding Task Requirements  \n- The goal is to add and multiply the numbers 2 and 3 simultaneously, as instructed."}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_28204233","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_72666071","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"index":1,"type":"function"}]}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"  \n- Both addition and multiplication must be performed together in the process."}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884731,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"  \n\n## Preparing for Calculation  \n- Need to use function calls to execute the operations, following a specific format."}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_50546188","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_32158093","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"},"index":1,"type":"function"}]}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"06fd2962-c3a9-167d-1df3-6f50376068e4_us-east-1","object":"chat.completion.chunk","created":1758884732,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":467,"completion_tokens":68,"total_tokens":849,"prompt_tokens_details":{"text_tokens":467,"audio_tokens":0,"image_tokens":0,"cached_tokens":384},"completion_tokens_details":{"reasoning_tokens":314,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"f4589f03-c781-01f2-4824-8406d4201043","object":"chat.completion.chunk","created":1762854970,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":467,"completion_tokens":68,"total_tokens":719,"prompt_tokens_details":{"text_tokens":467,"audio_tokens":0,"image_tokens":0,"cached_tokens":384},"completion_tokens_details":{"reasoning_tokens":184,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
 
       data: [DONE]
 
@@ -667,22 +407,22 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 158.118ms
+    duration: 195.743ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 1219
+    content_length: 1331
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/simple.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,10 +24,10 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"0407413d-194d-4ba1-8a87-d2f902eedffc_us-east-1","object":"chat.completion","created":1758884716,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"Oi! (That''s \"hi\" in Portuguese. In Brazil, it''s common, while in Portugal, \"Olá\" is more formal.)","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":213,"completion_tokens":27,"total_tokens":411,"prompt_tokens_details":{"text_tokens":213,"audio_tokens":0,"image_tokens":0,"cached_tokens":192},"completion_tokens_details":{"reasoning_tokens":171,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
+    body: '{"id":"3d4e99a3-243f-88eb-3ebf-9bba327ac44b","object":"chat.completion","created":1762854952,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"Olá! (That''s \"hi\" in Portuguese. For a more informal vibe, you can use \"Oi!\".)","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":213,"completion_tokens":23,"total_tokens":414,"prompt_tokens_details":{"text_tokens":213,"audio_tokens":0,"image_tokens":0,"cached_tokens":192},"completion_tokens_details":{"reasoning_tokens":178,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 2.174340667s
+    duration: 4.059811333s

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/simple_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,355 +24,429 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" said"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" said"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"Say"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"Say"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" hi"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" hi"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Portuguese"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Portuguese"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\"\n"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\""}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" This"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" simple"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" request"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" translate"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" or"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" say"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"hi"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Portuguese"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854957,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884719,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\n\n## Responding to the request  \n- The user asked to say \"hi\" in Portuguese."}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"  \n- \"Hi\" in Portuguese translates to \"Oi."}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\"  \n- The response should be simple and directly address the user's request."}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\n\n## Understanding user request  \n- The user asked to say \"hi\" in Portuguese, a straightforward translation request."}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"Olá"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" ("}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"That's"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"hi"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"\""}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" Portuguese"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":".)"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"6ddfbb47-99c8-1430-d8bb-896bd9e00a4e_us-east-1","object":"chat.completion.chunk","created":1758884720,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":213,"completion_tokens":10,"total_tokens":386,"prompt_tokens_details":{"text_tokens":213,"audio_tokens":0,"image_tokens":0,"cached_tokens":192},"completion_tokens_details":{"reasoning_tokens":163,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"Oi"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" ("}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"That's"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"hi"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"\""}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" Portuguese"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":".)"}}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_10f00c862d"}
+
+      data: {"id":"e34db796-8dc4-24e9-2b49-613698c2c1d6","object":"chat.completion.chunk","created":1762854958,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":213,"completion_tokens":10,"total_tokens":423,"prompt_tokens_details":{"text_tokens":213,"audio_tokens":0,"image_tokens":0,"cached_tokens":192},"completion_tokens_details":{"reasoning_tokens":200,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
 
       data: [DONE]
 
@@ -381,4 +455,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 167.506084ms
+    duration: 195.607084ms

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/tool.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,13 +24,13 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"49760c2f-8767-b64c-25bb-2b489b423c2c_us-east-1","object":"chat.completion","created":1758884720,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_84841300","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":390,"completion_tokens":26,"total_tokens":499,"prompt_tokens_details":{"text_tokens":390,"audio_tokens":0,"image_tokens":0,"cached_tokens":320},"completion_tokens_details":{"reasoning_tokens":83,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
+    body: '{"id":"55c3d80a-b267-c2cb-8a03-387402a2fe4f","object":"chat.completion","created":1762854959,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"","tool_calls":[{"id":"call_27103959","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"},"type":"function"}],"refusal":null},"finish_reason":"tool_calls"}],"usage":{"prompt_tokens":390,"completion_tokens":26,"total_tokens":537,"prompt_tokens_details":{"text_tokens":390,"audio_tokens":0,"image_tokens":0,"cached_tokens":320},"completion_tokens_details":{"reasoning_tokens":121,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 1.2000465s
+    duration: 2.562176375s
 - id: 1
   request:
     proto: HTTP/1.1
@@ -38,14 +38,14 @@ interactions:
     proto_minor: 1
     content_length: 677
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_84841300","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_84841300","role":"tool"}],"model":"grok-code-fast-1","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_27103959","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_27103959","role":"tool"}],"model":"grok-code-fast-1","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -54,10 +54,10 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"id":"29d0775d-98fa-5ad0-bf4b-41df1c3d6da0_us-east-1","object":"chat.completion","created":1758884721,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"The current temperature in Florence, Italy is 40°C. (Note: This is a snapshot; for a full forecast, check a weather app or site.)","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":512,"completion_tokens":32,"total_tokens":664,"prompt_tokens_details":{"text_tokens":512,"audio_tokens":0,"image_tokens":0,"cached_tokens":448},"completion_tokens_details":{"reasoning_tokens":120,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
+    body: '{"id":"87f13718-fb6b-512d-cf9d-969f79138225","object":"chat.completion","created":1762854961,"model":"grok-code-fast-1","choices":[{"index":0,"message":{"role":"assistant","content":"The current temperature in Florence, Italy is 40°C.","refusal":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":550,"completion_tokens":12,"total_tokens":702,"prompt_tokens_details":{"text_tokens":550,"audio_tokens":0,"image_tokens":0,"cached_tokens":512},"completion_tokens_details":{"reasoning_tokens":140,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}'
     headers:
       Content-Type:
       - application/json
     status: 200 OK
     code: 200
-    duration: 1.712903125s
+    duration: 1.857338583s

providertests/testdata/TestOpenAICompatibleCommon/xai-grok-code-fast/tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,327 +24,169 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"The","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"The","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" asked"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" asked"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" about"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"What's"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Florence"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Florence"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"Italy"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"?\"\n"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" use"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" tool"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854963,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_64629939","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884724,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\n\n## Handling User Query  \n- The user asked about the weather in Florence, Italy, prompting a search for current conditions."}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_09365067","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"91729e21-f660-9e16-80cd-dba67fc3aa9d_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":390,"completion_tokens":26,"total_tokens":574,"prompt_tokens_details":{"text_tokens":390,"audio_tokens":0,"image_tokens":0,"cached_tokens":384},"completion_tokens_details":{"reasoning_tokens":158,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"ba8d6fcb-acbd-9d88-c17c-8ddef4027734","object":"chat.completion.chunk","created":1762854964,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":390,"completion_tokens":26,"total_tokens":495,"prompt_tokens_details":{"text_tokens":390,"audio_tokens":0,"image_tokens":0,"cached_tokens":384},"completion_tokens_details":{"reasoning_tokens":79,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
 
       data: [DONE]
 
@@ -353,22 +195,22 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 449.278083ms
+    duration: 226.151666ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 732
+    content_length: 813
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_09365067","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_09365067","role":"tool"}],"model":"grok-code-fast-1","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"tool_calls":[{"id":"call_64629939","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_content":"The user asked: \"What''s the weather in Florence,Italy?\"\n"},{"content":"40 C","tool_call_id":"call_64629939","role":"tool"}],"model":"grok-code-fast-1","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
     headers:
       Accept:
       - application/json
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -377,211 +219,169 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"The","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" tool"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" returned"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"40"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" C"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"40"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" degrees"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Celsius"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
-
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"The","role":"assistant"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884725,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" tool"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" returned"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"40"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" C"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" means"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" "}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":"40"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" degrees"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":" Celsius"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"reasoning_content":".\n"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"The"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" current"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" temperature"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" Florence"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" Italy"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" is"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"40"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"°C"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" ("}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"104"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"°F"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":")."}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884726,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" Please"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" note"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" that"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" this"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" is"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" a"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" snapshot"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" and"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" weather"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" can"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"The"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" change"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" current"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"—"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" weather"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"consider"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" in"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" checking"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" Florence"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" a"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":","}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" detailed"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" Italy"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" forecast"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" is"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" for"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" "}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" more"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"40"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":" information"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"°C"}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"!"}}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{"content":"."}}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"system_fingerprint":"fp_10f00c862d"}
 
-      data: {"id":"5666ced6-a98f-32e7-3768-22e00c948f41_us-east-1","object":"chat.completion.chunk","created":1758884727,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":587,"completion_tokens":37,"total_tokens":688,"prompt_tokens_details":{"text_tokens":587,"audio_tokens":0,"image_tokens":0,"cached_tokens":512},"completion_tokens_details":{"reasoning_tokens":64,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
+      data: {"id":"438e92b5-a71d-8052-6667-f9db15f43cbe","object":"chat.completion.chunk","created":1762854965,"model":"grok-code-fast-1","choices":[],"usage":{"prompt_tokens":508,"completion_tokens":12,"total_tokens":588,"prompt_tokens_details":{"text_tokens":508,"audio_tokens":0,"image_tokens":0,"cached_tokens":448},"completion_tokens_details":{"reasoning_tokens":68,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_10f00c862d"}
 
       data: [DONE]
 
@@ -590,4 +390,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 166.998833ms
+    duration: 431.66775ms

providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/multi_tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -24,279 +24,213 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" wants"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" wants"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" me"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" me"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" add"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" both"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" add"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" multiply"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" multiply"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" numbers"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" numbers"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"2"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"2"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"3"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"3"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" two"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" need"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" functions"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" available"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" use"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" both"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" add"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" add"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" multiply"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" multiply"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Both"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" functions"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" require"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" with"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" two"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" these"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":".\n\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"a"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"For"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" b"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" add"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":")"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" which"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" are"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" integers"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" The"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"2"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" has"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" provided"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" b"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" numbers"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"2"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"3"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"For"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"3"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":".\n\n"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" multiply"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"I"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" need"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" call"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" both"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" functions"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" with"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"2"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"  \n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" same"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" b"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":\n"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" add"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"3"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"(a"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"="}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"I"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"2"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" all"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" b"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"="}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" required"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"3"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":")\n"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" both"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" multiply"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" functions"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"(a"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"="}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" so"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"2"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" can"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" b"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" proceed"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"="}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" with"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"3"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":")\n\n"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" calls"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" specifically"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asked"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"I"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" me"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"'ll"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" add"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" use"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" and"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" both"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" multiply"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" functions"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" the"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" numbers"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" my"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"2"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" instructions"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" and"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" say"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" "}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"3"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" always"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" for"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" use"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" you"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" both"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":".\n"}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" add"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_4be9c6251abb4f3fbc1956bd","index":0,"type":"function","function":{"name":"add","arguments":"{\"a\":2,\"b\":3}"}}]}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_29207bee5b434b86830450d2","index":1,"type":"function","function":{"name":"multiply","arguments":"{\"a\":2,\"b\":3}"}}]}}]}
 
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" multiply"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" at"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" same"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" time"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" so"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" this"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" exactly"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" what"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" should"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" do"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"I"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"'ll"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" add"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" and"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" multiply"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" the"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" numbers"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" "}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"2"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" and"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" "}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"3"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" for"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" you"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":".\n"}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"tool_calls":[{"id":"call_2dbb7568bf254f7cb91b4a09","index":0,"type":"function","function":{"name":"add","arguments":"{\"a\": 2, \"b\": 3}"}}]}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"tool_calls":[{"id":"call_88cb0be022f94339af640b13","index":1,"type":"function","function":{"name":"multiply","arguments":"{\"a\": 2, \"b\": 3}"}}]}}]}
-
-      data: {"id":"20250926190620c633be90e4bb4b9f","created":1758884780,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":282,"completion_tokens":178,"total_tokens":460,"prompt_tokens_details":{"cached_tokens":43}}}
+      data: {"id":"20251111175650c48a4928f3614935","created":1762855010,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":282,"completion_tokens":145,"total_tokens":427,"prompt_tokens_details":{"cached_tokens":258}}}
 
       data: [DONE]
 
@@ -305,22 +239,22 @@ interactions:
       - text/event-stream;charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 675.755916ms
+    duration: 692.625208ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 1349
+    content_length: 1691
     host: ""

providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/simple.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -24,10 +24,10 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"choices":[{"finish_reason":"stop","index":0,"message":{"content":"Olá!","reasoning_content":"The person is asking me to say \"hi\" in Portuguese. In Portuguese, \"hi\" or \"hello\" is commonly translated as \"Olá\". I should provide this translation directly.\n\n\"Olá\" is the standard greeting in Portuguese, used in both formal and informal situations in Portugal and Brazil. There are other greetings like \"Oi\" which is more informal and common in Brazil, but \"Olá\" is the most universal translation of \"hi\" in Portuguese.","role":"assistant"}}],"created":1758884739,"id":"202509261905381f1d8b98070242a6","model":"glm-4.5","request_id":"202509261905381f1d8b98070242a6","usage":{"completion_tokens":100,"prompt_tokens":18,"prompt_tokens_details":{"cached_tokens":0},"total_tokens":118}}'
+    body: '{"choices":[{"finish_reason":"stop","index":0,"message":{"content":"Olá!","reasoning_content":"\nThe user is asking me to say \"hi\" in Portuguese. I''ll provide the Portuguese greeting for \"hi\" or \"hello\".\n\nIn Portuguese, \"hi\" or \"hello\" is typically translated as \"Olá\". This is the common greeting used in both Brazilian and European Portuguese.\n\nI''ll respond with this greeting.","role":"assistant"}}],"created":1762854981,"id":"2025111117561942405e9f6eb547c7","model":"glm-4.5","request_id":"2025111117561942405e9f6eb547c7","usage":{"completion_tokens":72,"prompt_tokens":16,"prompt_tokens_details":{"cached_tokens":7},"total_tokens":88}}'
     headers:
       Content-Type:
       - application/json; charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 4.173540625s
+    duration: 4.974643125s

providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/simple_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -24,407 +24,291 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" person"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" person"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asking"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" me"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asking"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" me"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" say"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" say"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hi"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Portuguese"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Portuguese"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" In"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Portuguese"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" In"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Portuguese"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hi"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" or"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" or"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hello"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hello"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" typically"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" translated"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" typically"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" as"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" translated"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" as"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Ol"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"á"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Ol"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\"."}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"á"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" There"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" are"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" or"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" few"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Oi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" other"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\"."}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" common"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Both"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" greetings"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" are"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" common"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Portuguese"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" greetings"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" depending"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" on"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Portuguese"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-speaking"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" context"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" countries"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":".\n\n"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" form"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"ality"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Ol"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":":\n\n"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"á"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Ol"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"á"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" bit"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" more"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" -"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" formal"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" A"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" standard"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" while"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" neutral"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Oi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" greeting"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"like"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" more"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" informal"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Hello"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\")\n"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" casual"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Since"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Oi"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" request"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" -"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" A"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" just"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" more"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" informal"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" say"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" greeting"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"like"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\","}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" either"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Hi"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" would"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\")\n"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" be"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" appropriate"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"B"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"om"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"'ll"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" dia"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" provide"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" both"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" -"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" options"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" with"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Good"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" morning"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" brief"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" explanation"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" of"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"used"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" their"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" until"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" usage"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" about"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" noon"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"Hi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":")\n"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" in"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" Portuguese"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Bo"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"a"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"Ol"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" tarde"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"á"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" -"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" or"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Good"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"Oi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" afternoon"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\"."}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" \n\n"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"used"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"Ol"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" from"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"á"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" noon"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" until"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" evening"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" a"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":")\n"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" standard"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"-"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" greeting"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" that"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Bo"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" can"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"a"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" be"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" noite"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" used"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" in"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" -"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" both"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" formal"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Good"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" and"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" evening"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" informal"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"/"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" situations"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"night"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":","}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" while"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" ("}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" \""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"used"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"Oi"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\""}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" is"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" evening"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" more"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" and"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" casual"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" at"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" and"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" night"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" commonly"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":")\n\n"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" used"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Since"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" among"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" they"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" friends"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" specifically"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" and"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asked"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" in"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" informal"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" settings"}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"hi"}}]}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"."}}]}
 
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\","}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" which"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" casual"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"'ll"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" provide"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" most"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" common"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Portuguese"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" equivalent"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" which"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Oi"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\"."}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"'ll"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" also"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" include"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Ol"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"á"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" as"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" slightly"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" more"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" formal"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" alternative"}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"Ol","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"á","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"!","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" That","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"'s","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" \"","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"hi","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\"","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" in","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" Portuguese","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":".","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" You","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" can","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" also","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" use","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" \"","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"Oi","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\"","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" for","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" a","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" more","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" casual","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" greeting","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":".","reasoning_content":""}}]}
-
-      data: {"id":"20250926190540c29952ed24ae4570","created":1758884740,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"stop","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":18,"completion_tokens":202,"total_tokens":220,"prompt_tokens_details":{"cached_tokens":0}}}
+      data: {"id":"20251111175621ea00b15bd30046c2","created":1762854981,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"stop","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":16,"completion_tokens":145,"total_tokens":161,"prompt_tokens_details":{"cached_tokens":6}}}
 
       data: [DONE]
 
@@ -433,4 +317,4 @@ interactions:
       - text/event-stream;charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 653.648917ms
+    duration: 3.570999666s

providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/tool.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -24,28 +24,28 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"content":"\n\n","reasoning_content":"The user is asking for the weather in Florence, Italy. I need to use the weather function to get this information. The function requires a \"location\" parameter, and the user has provided \"Florence,Italy\" as the location. I should use this exact value for the location parameter.","role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\": \"Florence,Italy\"}","name":"weather"},"id":"call_-8303649628005950554","index":0,"type":"function"}]}}],"created":1758884753,"id":"20250926190543de74b873b8e04ebc","model":"glm-4.5","request_id":"20250926190543de74b873b8e04ebc","usage":{"completion_tokens":79,"prompt_tokens":179,"prompt_tokens_details":{"cached_tokens":43},"total_tokens":258}}'
+    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"content":"\n","reasoning_content":"\nThe user is asking for the weather in Florence, Italy. I have access to a weather function that takes a location parameter. The user has specified \"Florence, Italy\" as the location. I should use this exact value for the location parameter.","role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"id":"call_-8170221349237369383","index":0,"type":"function"}]}}],"created":1762854991,"id":"20251111175629f43492c8ddc74b40","model":"glm-4.5","request_id":"20251111175629f43492c8ddc74b40","usage":{"completion_tokens":70,"prompt_tokens":179,"prompt_tokens_details":{"cached_tokens":44},"total_tokens":249}}'
     headers:
       Content-Type:
       - application/json; charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 11.165218167s
+    duration: 2.204044625s
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 710
+    content_length: 973
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"content":"\n\n","tool_calls":[{"id":"call_-8303649628005950554","function":{"arguments":"{\"location\": \"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_-8303649628005950554","role":"tool"}],"model":"glm-4.5","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"content":"\n","tool_calls":[{"id":"call_-8170221349237369383","function":{"arguments":"{\"location\":\"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_content":"\nThe user is asking for the weather in Florence, Italy. I have access to a weather function that takes a location parameter. The user has specified \"Florence, Italy\" as the location. I should use this exact value for the location parameter."},{"content":"40 C","tool_call_id":"call_-8170221349237369383","role":"tool"}],"model":"glm-4.5","max_tokens":4000,"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -54,10 +54,10 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"choices":[{"finish_reason":"stop","index":0,"message":{"content":"\n\nThe current weather in Florence, Italy is 40°C (104°F). That''s quite hot! It''s a very warm day there, so if you''re planning to visit, make sure to stay hydrated and seek shade or air conditioning when possible.","reasoning_content":"The weather function returned \"40 C\" for Florence, Italy. This indicates that the current temperature in Florence is 40 degrees Celsius, which is quite hot. I should provide this information to the user in a clear and helpful way.","role":"assistant"}}],"created":1758884757,"id":"2025092619055464ba39f15d9f4c36","model":"glm-4.5","request_id":"2025092619055464ba39f15d9f4c36","usage":{"completion_tokens":102,"prompt_tokens":207,"prompt_tokens_details":{"cached_tokens":43},"total_tokens":309}}'
+    body: '{"choices":[{"finish_reason":"stop","index":0,"message":{"content":"\nThe weather in Florence, Italy is currently 40°C (104°F). That''s quite hot! Make sure to stay hydrated and seek shade if you''re visiting or in the area.","reasoning_content":"\nThe weather function returned that the temperature in Florence, Italy is 40°C. This is quite hot! I should provide this information to the user in a helpful way.","role":"assistant"}}],"created":1762854995,"id":"20251111175631a3e10345eaf44b75","model":"glm-4.5","request_id":"20251111175631a3e10345eaf44b75","usage":{"completion_tokens":76,"prompt_tokens":257,"prompt_tokens_details":{"cached_tokens":43},"total_tokens":333}}'
     headers:
       Content-Type:
       - application/json; charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 3.454754417s
+    duration: 4.128735209s

providertests/testdata/TestOpenAICompatibleCommon/zai-glm-4.5/tool_streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -24,113 +24,127 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asking"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asking"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Florence"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Florence"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Italy"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Italy"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" need"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" access"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" use"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" that"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" with"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" requires"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameter"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameter"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" The"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" The"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" specified"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" has"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" provided"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Flo"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"rence"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Flo"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"rence"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Italy"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Italy"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" so"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" as"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" should"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" use"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" that"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" exact"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" string"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" should"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" use"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" this"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" exact"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameter"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" value"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" as"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"I"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"'ll"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameter"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" check"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" the"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" weather"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"tool_calls":[{"id":"call_51a97502d6444997b56fd204","index":0,"type":"function","function":{"name":"weather","arguments":"{\"location\": \"Florence,Italy\"}"}}]}}]}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" in"}}]}
 
-      data: {"id":"202509261905574f05504f94b04bb2","created":1758884757,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":179,"completion_tokens":70,"total_tokens":249,"prompt_tokens_details":{"cached_tokens":43}}}
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" Florence"}}]}
+
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":","}}]}
+
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" Italy"}}]}
+
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" for"}}]}
+
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" you"}}]}
+
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":".\n"}}]}
+
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_6bc2e48a34f34e80995b40d2","index":0,"type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence,Italy\"}"}}]}}]}
+
+      data: {"id":"202511111756356bb63041b022431d","created":1762854995,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":179,"completion_tokens":77,"total_tokens":256,"prompt_tokens_details":{"cached_tokens":178}}}
 
       data: [DONE]
 
@@ -139,22 +153,22 @@ interactions:
       - text/event-stream;charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 658.388083ms
+    duration: 1.132874458s
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 772
+    content_length: 1064
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence,Italy?","role":"user"},{"content":"\n\n","tool_calls":[{"id":"call_51a97502d6444997b56fd204","function":{"arguments":"{\"location\": \"Florence,Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_51a97502d6444997b56fd204","role":"tool"}],"model":"glm-4.5","max_tokens":4000,"stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'

providertests/testdata/TestOpenAICompatibleThinking/llama-cpp-gpt-oss/thinking-streaming.yaml 🔗

@@ -26,43 +26,59 @@ interactions:
     - chunked
     content_length: -1
     body: |+
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1762855742,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"We"}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"We"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" need"}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" need"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" call"}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" call"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" the"}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" function"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" '"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" function"}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"weather"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"'"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"id":"Q2J4SAYY3S9Bwuymis3vFUCFquG4g5Za","type":"function","function":{"name":"weather","arguments":"{\""}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" with"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" location"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Flor"}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"Flor"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ence"}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"ence"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":","}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" Italy"}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Italy"}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\"."}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{}}],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"id":"1wNpqrejg1FCTjf6xq8JRCGKgWZO74AL","type":"function","function":{"name":"weather","arguments":"{\""}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[],"created":1761672728,"id":"chatcmpl-6VnA4IQXB7MUKijyHkcSCKqZpkFTSwfL","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk","usage":{"completion_tokens":34,"prompt_tokens":139,"total_tokens":173},"timings":{"cache_n":138,"prompt_n":1,"prompt_ms":15.016,"prompt_per_token_ms":15.016,"prompt_per_second":66.59563132658498,"predicted_n":34,"predicted_ms":475.989,"predicted_per_token_ms":13.999676470588234,"predicted_per_second":71.43022212698193}}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"location"}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Flor"}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ence"}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":","}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":" Italy"}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[{"finish_reason":"tool_calls","index":0,"delta":{}}],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
+
+      data: {"choices":[],"created":1762855743,"id":"chatcmpl-dNaHXNvtiMumXqXykdu8VPuqCSZoLY4U","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk","usage":{"completion_tokens":42,"prompt_tokens":139,"total_tokens":181},"timings":{"cache_n":138,"prompt_n":1,"prompt_ms":9.198,"prompt_per_token_ms":9.198,"prompt_per_second":108.71928680147857,"predicted_n":42,"predicted_ms":344.633,"predicted_per_token_ms":8.205547619047618,"predicted_per_second":121.86877054721981}}
 
       data: [DONE]
 
@@ -71,15 +87,15 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 1.124ms
+    duration: 980.667µs
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 781
+    content_length: 873
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"Q2J4SAYY3S9Bwuymis3vFUCFquG4g5Za","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"Q2J4SAYY3S9Bwuymis3vFUCFquG4g5Za","role":"tool"}],"model":"openai/gpt-oss-20b","reasoning_effort":"high","stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"1wNpqrejg1FCTjf6xq8JRCGKgWZO74AL","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_content":"We need to call function ''weather'' with location \"Florence, Italy\"."},{"content":"40 C","tool_call_id":"1wNpqrejg1FCTjf6xq8JRCGKgWZO74AL","role":"tool"}],"model":"openai/gpt-oss-20b","reasoning_effort":"high","stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'
     headers:
       Accept:
       - application/json
@@ -97,225 +113,39 @@ interactions:
     - chunked
     content_length: -1
     body: |+
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"We"}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" need"}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" respond"}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" user"}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672728,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"What's"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" the"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Florence"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":","}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Italy"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"?\""}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" called"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" function"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" which"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" returned"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"40"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" C"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\"."}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" That"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" is"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" presumably"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" the"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" temperature"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" need"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" respond"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" According"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" to"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" instruction"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"You"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" are"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" a"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" helpful"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" assistant"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":".\""}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" So"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" we"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" should"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" respond"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" with"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" a"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" concise"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" answer"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":":"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"The"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" weather"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" in"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Florence"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":","}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Italy"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" is"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" 40"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"°C"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\""}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" maybe"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" include"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" other"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" details"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" like"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"sun"}}],"created":1761672729,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"ny"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\""}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" or"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" \""}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"clear"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"\""}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" but"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" not"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" provided"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" Just"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" temperature"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" We'll"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" provide"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" the"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":" answer"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
-
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"reasoning_content":"."}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"role":"assistant","content":null}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"The"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"The"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" current"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" current"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" weather"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" weather"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" in"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" in"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Florence"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Florence"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":","}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":","}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Italy"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" Italy"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" is"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" is"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" **"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" **"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"40"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"40"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" "}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":" "}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"°C"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"°C"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"**"}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"**"}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"."}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":null,"index":0,"delta":{"content":"."}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[{"finish_reason":"stop","index":0,"delta":{}}],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk"}
+      data: {"choices":[{"finish_reason":"stop","index":0,"delta":{}}],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk"}
 
-      data: {"choices":[],"created":1761672730,"id":"chatcmpl-OEqywDEaa0oaGwjbamEm70IhcnFFxSyH","model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion.chunk","usage":{"completion_tokens":118,"prompt_tokens":175,"total_tokens":293},"timings":{"cache_n":139,"prompt_n":36,"prompt_ms":155.914,"prompt_per_token_ms":4.3309444444444445,"prompt_per_second":230.8965198763421,"predicted_n":118,"predicted_ms":1737.289,"predicted_per_token_ms":14.72278813559322,"predicted_per_second":67.92191742421669}}
+      data: {"choices":[],"created":1762855743,"id":"chatcmpl-KbAer6ddvMjzAfTSDzyLr2XLW1rjunAq","model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion.chunk","usage":{"completion_tokens":18,"prompt_tokens":197,"total_tokens":215},"timings":{"cache_n":161,"prompt_n":36,"prompt_ms":79.751,"prompt_per_token_ms":2.2153055555555556,"prompt_per_second":451.40499805645067,"predicted_n":18,"predicted_ms":139.164,"predicted_per_token_ms":7.731333333333333,"predicted_per_second":129.34379580926102}}
 
       data: [DONE]
 
@@ -324,4 +154,4 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 6.87925ms
+    duration: 2.833375ms

providertests/testdata/TestOpenAICompatibleThinking/llama-cpp-gpt-oss/thinking.yaml 🔗

@@ -22,22 +22,22 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 905
-    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"role":"assistant","reasoning_content":"User asks: \"What''s the weather in Florence, Italy?\" We have a tool \"weather\" to get weather information. We should call it.","content":null,"tool_calls":[{"type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"id":"u36jVf07R9qUqfK2POEsHz6i6DUtUlrb"}]}}],"created":1761672726,"model":"openai/gpt-oss-20b","system_fingerprint":"b6865-1c1409e13","object":"chat.completion","usage":{"completion_tokens":55,"prompt_tokens":139,"total_tokens":194},"id":"chatcmpl-4kIkhSfHyNWuEKyYA5E7TAJXPd43t4TA","timings":{"cache_n":134,"prompt_n":5,"prompt_ms":2466.686,"prompt_per_token_ms":493.33720000000005,"prompt_per_second":2.027011139642419,"predicted_n":55,"predicted_ms":758.656,"predicted_per_token_ms":13.793745454545453,"predicted_per_second":72.49662561160791}}'
+    content_length: 887
+    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"role":"assistant","reasoning_content":"The user asks: \"What''s the weather in Florence, Italy?\" We can use the weather function. So call the function.","content":null,"tool_calls":[{"type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"id":"fdRvrwCxXKWGpydIdV3kNaiuirhnhEoL"}]}}],"created":1762855742,"model":"openai/gpt-oss-20b","system_fingerprint":"b7010-c27efd2bd","object":"chat.completion","usage":{"completion_tokens":51,"prompt_tokens":139,"total_tokens":190},"id":"chatcmpl-taknL1RlYNQ4ybq3l7O6u7Th97XVLXui","timings":{"cache_n":134,"prompt_n":5,"prompt_ms":49.294,"prompt_per_token_ms":9.858799999999999,"prompt_per_second":101.43222298859902,"predicted_n":51,"predicted_ms":428.45,"predicted_per_token_ms":8.400980392156862,"predicted_per_second":119.03372622242969}}'
     headers:
       Content-Type:
       - application/json; charset=utf-8
     status: 200 OK
     code: 200
-    duration: 3.241207416s
+    duration: 481.413666ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 727
+    content_length: 862
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"u36jVf07R9qUqfK2POEsHz6i6DUtUlrb","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"u36jVf07R9qUqfK2POEsHz6i6DUtUlrb","role":"tool"}],"model":"openai/gpt-oss-20b","reasoning_effort":"high","tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
+    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"fdRvrwCxXKWGpydIdV3kNaiuirhnhEoL","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant","reasoning_content":"The user asks: \"What''s the weather in Florence, Italy?\" We can use the weather function. So call the function."},{"content":"40 C","tool_call_id":"fdRvrwCxXKWGpydIdV3kNaiuirhnhEoL","role":"tool"}],"model":"openai/gpt-oss-20b","reasoning_effort":"high","tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'
     headers:
       Accept:
       - application/json
@@ -51,11 +51,11 @@ interactions:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 1115

providertests/testdata/TestOpenAICompatibleThinking/xai-grok-3-mini/thinking-streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.x.ai/v1/chat/completions
     method: POST
   response:
@@ -24,495 +24,557 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"First","role":"assistant"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" asking"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" asking"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" have"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" have"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" an"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" called"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" called"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" that"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" get"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" get"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" information"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" information"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" description"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" description"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Get"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Get"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" information"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" information"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\"."}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" require"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" require"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"location"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"location"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" string"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" string"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" describing"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" described"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" city"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"In"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" city"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" query"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" has"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" which"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" specifies"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\"."}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" both"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" This"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884798,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" clearly"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" city"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" specifies"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" city"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" country"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" country"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" This"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" so"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" sufficient"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" infer"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"able"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" parameter"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" can"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" use"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\"."}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" don't"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" ask"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" argument"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" more"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" clarification"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"The"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"All"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855027,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" required"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" be"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" are"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" JSON"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" format"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" clear"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" within"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" No"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"></"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" ask"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" clarification"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" tags"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"I"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" format"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" specified"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" JSON"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":">{\""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" format"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" within"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_name"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":">"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" tags"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_input"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" format"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" {\""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"parameter"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" <"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"argument"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":">{\""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"}}</"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":">\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"For"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"action"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_input"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" action"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" {\""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"location"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\":"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" action"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_input"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"}}</"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" have"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"_call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":">\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" parameter"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"After"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" calling"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"location"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" value"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" might"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" need"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" handle"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"I"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" in"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" subsequent"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" not"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" turns"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" provide"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" any"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" but"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" additional"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" now"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" outside"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" of"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" this"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" is"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" logical"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" if"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" next"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I'm"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" step"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" deciding"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" advance"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" user's"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884799,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" request"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" as"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"My"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" per"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" instructions"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" only"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" contain"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" The"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" instructions"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" say"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" since"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I'm"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Keep"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" deciding"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" your"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" user"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" clear"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":";"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" please"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" shouldn't"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" do"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" add"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" not"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" extra"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" make"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" text"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" your"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" unless"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" response"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" necessary"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" verbose"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"!\""}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" So"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" instructions"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" say"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" to"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" just"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" keep"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" make"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" responses"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" clear"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" not"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" verbose"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"This"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" seems"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"So"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" like"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" a"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I'll"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" direct"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" output"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" match"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" just"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" available"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_64866740","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" and"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855028,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" all"}}],"system_fingerprint":"fp_a6fbae1a97"}
 
-      data: {"id":"aec0b881-26b5-4e1f-a428-1f70a8e27816_us-east-1","object":"chat.completion.chunk","created":1758884800,"model":"grok-3-mini-high","choices":[],"usage":{"prompt_tokens":288,"completion_tokens":27,"total_tokens":557,"prompt_tokens_details":{"text_tokens":288,"audio_tokens":0,"image_tokens":0,"cached_tokens":287},"completion_tokens_details":{"reasoning_tokens":242,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_a6fbae1a97"}
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" required"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" parameters"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" are"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" provided"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" So"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" I"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" should"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":".\n\n"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Final"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" decision"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":":"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Trigger"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" the"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" function"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" call"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" for"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" weather"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" with"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" location"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" \""}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"Florence"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":","}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":" Italy"}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"reasoning_content":"\"."}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_91894226","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"},"index":0,"type":"function"}]}}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}],"system_fingerprint":"fp_a6fbae1a97"}
+
+      data: {"id":"b0c242a8-b68d-f435-3f59-b35f8a09195a","object":"chat.completion.chunk","created":1762855029,"model":"grok-3-mini-high","choices":[],"usage":{"prompt_tokens":288,"completion_tokens":27,"total_tokens":588,"prompt_tokens_details":{"text_tokens":288,"audio_tokens":0,"image_tokens":0,"cached_tokens":287},"completion_tokens_details":{"reasoning_tokens":273,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0},"num_sources_used":0},"system_fingerprint":"fp_a6fbae1a97"}
 
       data: [DONE]
 
@@ -521,22 +583,22 @@ interactions:
       - text/event-stream
     status: 200 OK
     code: 200
-    duration: 166.84775ms
+    duration: 196.291541ms
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 736
+    content_length: 2177
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"tool_calls":[{"id":"call_64866740","function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_64866740","role":"tool"}],"model":"grok-3-mini","reasoning_effort":"high","stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'

providertests/testdata/TestOpenAICompatibleThinking/zai-glm-4.5/thinking-streaming.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -24,117 +24,141 @@ interactions:
     proto_minor: 0
     content_length: -1
     body: |+
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"","reasoning_content":"\n"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"The"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" is"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asking"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" asking"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" information"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" in"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" for"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Florence"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Florence"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Italy"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Italy"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" access"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" access"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" weather"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" that"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" that"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" takes"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" takes"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" a"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameter"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameter"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" The"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" The"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" user"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" has"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" has"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" specified"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" specified"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" \""}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Flo"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"Flo"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"rence"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"rence"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Italy"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" Italy"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"\""}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" as"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" as"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" location"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":","}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" so"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" so"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" I"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" have"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" all"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" all"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" required"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" required"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" parameters"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" to"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" make"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" make"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" the"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" function"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" call"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":" call"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","reasoning_content":"."}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"\n"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"tool_calls":[{"id":"call_e6e3edb2371843ad9503e65b","index":0,"type":"function","function":{"name":"weather","arguments":"{\"location\": \"Florence, Italy\"}"}}]}}]}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"I"}}]}
 
-      data: {"id":"2025092619065217d08d861c2248cd","created":1758884812,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":179,"completion_tokens":72,"total_tokens":251,"prompt_tokens_details":{"cached_tokens":43}}}
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":"'ll"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" check"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" the"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" weather"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" in"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" Florence"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":","}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" Italy"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" for"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":" you"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"role":"assistant","content":".\n"}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"delta":{"tool_calls":[{"id":"call_c31d9089eb114d168d3264ff","index":0,"type":"function","function":{"name":"weather","arguments":"{\"location\":\"Florence, Italy\"}"}}]}}]}
+
+      data: {"id":"202511111757251676844c980648b3","created":1762855045,"model":"glm-4.5","choices":[{"index":0,"finish_reason":"tool_calls","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":179,"completion_tokens":84,"total_tokens":263,"prompt_tokens_details":{"cached_tokens":178}}}
 
       data: [DONE]
 
@@ -143,22 +167,22 @@ interactions:
       - text/event-stream;charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 901.215542ms
+    duration: 1.438553125s
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 782
+    content_length: 1113
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"content":"\n\n","tool_calls":[{"id":"call_e6e3edb2371843ad9503e65b","function":{"arguments":"{\"location\": \"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_e6e3edb2371843ad9503e65b","role":"tool"}],"model":"glm-4.5","reasoning_effort":"high","stream_options":{"include_usage":true},"tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}],"stream":true}'

providertests/testdata/TestOpenAICompatibleThinking/zai-glm-4.5/thinking.yaml 🔗

@@ -15,7 +15,7 @@ interactions:
       Content-Type:
       - application/json
       User-Agent:
-      - OpenAI/Go 2.3.0
+      - OpenAI/Go 2.7.1
     url: https://api.z.ai/api/coding/paas/v4/chat/completions
     method: POST
   response:
@@ -24,28 +24,28 @@ interactions:
     proto_minor: 0
     content_length: -1
     uncompressed: true
-    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"content":"\n\nI''ll check the weather in Florence, Italy for you.\n","reasoning_content":"The user is asking for weather information for Florence, Italy. I have access to a weather function that requires a \"location\" parameter. The user has provided \"Florence, Italy\" as the location, so I have all the required information to make the function call.","role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\": \"Florence, Italy\"}","name":"weather"},"id":"call_-8303617501649735809","index":0,"type":"function"}]}}],"created":1758884808,"id":"20250926190643068def4b4247493f","model":"glm-4.5","request_id":"20250926190643068def4b4247493f","usage":{"completion_tokens":86,"prompt_tokens":179,"prompt_tokens_details":{"cached_tokens":43},"total_tokens":265}}'
+    body: '{"choices":[{"finish_reason":"tool_calls","index":0,"message":{"content":"\nI''ll check the weather in Florence, Italy for you.\n","reasoning_content":"\nThe user is asking for the weather in Florence, Italy. I need to use the weather function to get this information. The function requires a \"location\" parameter, and the user has specified \"Florence, Italy\" as the location. I should use this exact value for the location parameter.","role":"assistant","tool_calls":[{"function":{"arguments":"{\"location\":\"Florence, Italy\"}","name":"weather"},"id":"call_-8167683298435521960","index":0,"type":"function"}]}}],"created":1762855036,"id":"20251111175712e9c3abb6e9ff40e7","model":"glm-4.5","request_id":"20251111175712e9c3abb6e9ff40e7","usage":{"completion_tokens":91,"prompt_tokens":179,"prompt_tokens_details":{"cached_tokens":44},"total_tokens":270}}'
     headers:
       Content-Type:
       - application/json; charset=UTF-8
     status: 200 OK
     code: 200
-    duration: 4.969463833s
+    duration: 4.539574875s
 - id: 1
   request:
     proto: HTTP/1.1
     proto_major: 1
     proto_minor: 1
-    content_length: 772
+    content_length: 1078
     host: ""
-    body: '{"messages":[{"content":"You are a helpful assistant","role":"system"},{"content":"What''s the weather in Florence, Italy?","role":"user"},{"content":"\n\nI''ll check the weather in Florence, Italy for you.\n","tool_calls":[{"id":"call_-8303617501649735809","function":{"arguments":"{\"location\": \"Florence, Italy\"}","name":"weather"},"type":"function"}],"role":"assistant"},{"content":"40 C","tool_call_id":"call_-8303617501649735809","role":"tool"}],"model":"glm-4.5","reasoning_effort":"high","tool_choice":"auto","tools":[{"function":{"name":"weather","strict":false,"description":"Get weather information for a location","parameters":{"properties":{"location":{"description":"the city","type":"string"}},"required":["location"],"type":"object"}},"type":"function"}]}'

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o-mini/complex_object.yaml 🔗

@@ -0,0 +1,69 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 968
+    host: ""
+    body: '{"messages":[{"content":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","role":"user"}],"model":"gpt-4o-mini","max_tokens":4000,"response_format":{"json_schema":{"name":"Book","strict":true,"description":"A book with title, author, genres, and publication year","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZkh7y0v50HiK3bHkckDQM27mAxaF",
+        "object": "chat.completion",
+        "created": 1762637009,
+        "model": "gpt-4o-mini-2024-07-18",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"Fantasy\",\"Adventure\",\"Epic\",\"High Fantasy\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "logprobs": null,
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 160,
+          "completion_tokens": 43,
+          "total_tokens": 203,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 0,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": "fp_560af6e559"
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 1.814804666s

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o-mini/simple_object.yaml 🔗

@@ -0,0 +1,69 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 601
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"gpt-4o-mini","max_tokens":4000,"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZkh6UpzjVoPIwiP6798RaJh45GaE",
+        "object": "chat.completion",
+        "created": 1762637008,
+        "model": "gpt-4o-mini-2024-07-18",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "logprobs": null,
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 99,
+          "completion_tokens": 13,
+          "total_tokens": 112,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 0,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": "fp_560af6e559"
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 926.519208ms

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o-mini/simple_object_streaming.yaml 🔗

@@ -0,0 +1,66 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 655
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"gpt-4o-mini","max_tokens":4000,"stream_options":{"include_usage":true},"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FopRVPvq1"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"{\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"vcH0mk1c"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"age"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Yp08y6zs"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"\":"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"yEwAOmw5"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"30"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"PedSD3PYu"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":",\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"I5M18YOR"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"city"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"9ReOCb0"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"\":\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"dRYkzy"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"clnEfR"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"\",\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"y8uwQU"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"name"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"hoFrRnB"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"\":\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"f2tFLb"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"Alice"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"MdtNOk"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{"content":"\"}"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"4NFrFBQr"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"RyhJI"}
+
+      data: {"id":"chatcmpl-CZkh6JIHchpBryosw9Q1zBULiOgQP","object":"chat.completion.chunk","created":1762637008,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_560af6e559","choices":[],"usage":{"prompt_tokens":99,"completion_tokens":13,"total_tokens":112,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"a9TEmM6E7"}
+
+      data: [DONE]
+
+    headers:
+      Content-Type:
+      - text/event-stream; charset=utf-8
+    status: 200 OK
+    code: 200
+    duration: 611.309416ms

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o/complex_object.yaml 🔗

@@ -0,0 +1,69 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 963
+    host: ""
+    body: '{"messages":[{"content":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","role":"user"}],"model":"gpt-4o","max_tokens":4000,"response_format":{"json_schema":{"name":"Book","strict":true,"description":"A book with title, author, genres, and publication year","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZkh4icu3jixl4IcoAjWVF1mV1oYu",
+        "object": "chat.completion",
+        "created": 1762637006,
+        "model": "gpt-4o-2024-08-06",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"Fantasy\",\"Adventure\",\"Epic\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "logprobs": null,
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 160,
+          "completion_tokens": 40,
+          "total_tokens": 200,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 0,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": "fp_b1442291a8"
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 1.01740425s

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o/simple_object.yaml 🔗

@@ -0,0 +1,69 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 596
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"gpt-4o","max_tokens":4000,"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZkh2yUHIKUTvXaI7RuJhKssQ3u8J",
+        "object": "chat.completion",
+        "created": 1762637004,
+        "model": "gpt-4o-2024-08-06",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "logprobs": null,
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 99,
+          "completion_tokens": 13,
+          "total_tokens": 112,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 0,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": "fp_cbf1785567"
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 866.25175ms

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-4o/simple_object_streaming.yaml 🔗

@@ -0,0 +1,66 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 650
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"gpt-4o","max_tokens":4000,"stream_options":{"include_usage":true},"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"Q7EWId38WGszkS"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"{\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"WDGuponLquJpz"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"age"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"rCGUFNPg6GmYo"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"\":"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"wEfLaS45CzBz3"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"30"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"FXGR1dTIvN4Qp6"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":",\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"KmEPUsJzFtpi5"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"city"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"TxOjAiMNR8i2"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"\":\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ZdagyqxzdDT"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"Paris"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"7AV1wjObQw9"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"\",\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"ecbr6MtR7cR"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"name"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"swinVIK7vWIt"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"\":\""},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"V94lL7Iu9CQ"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"Alice"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"tegZ0PohAUA"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{"content":"\"}"},"logprobs":null,"finish_reason":null}],"usage":null,"obfuscation":"npvxJxBLlAEZV"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null,"obfuscation":"gxtfhzu7ZT"}
+
+      data: {"id":"chatcmpl-CZkh26YobsyDr3tfAEylpsGb7mCKf","object":"chat.completion.chunk","created":1762637004,"model":"gpt-4o-2024-08-06","service_tier":"default","system_fingerprint":"fp_cbf1785567","choices":[],"usage":{"prompt_tokens":99,"completion_tokens":13,"total_tokens":112,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"mo9vda7oGi3jDi"}
+
+      data: [DONE]
+
+    headers:
+      Content-Type:
+      - text/event-stream; charset=utf-8
+    status: 200 OK
+    code: 200
+    duration: 878.195625ms

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-5/complex_object.yaml 🔗

@@ -0,0 +1,68 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 973
+    host: ""
+    body: '{"messages":[{"content":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","role":"user"}],"model":"gpt-5","max_completion_tokens":4000,"response_format":{"json_schema":{"name":"Book","strict":true,"description":"A book with title, author, genres, and publication year","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZkhdPgupBvka4xhGSEPQHw0QQKRf",
+        "object": "chat.completion",
+        "created": 1762637041,
+        "model": "gpt-5-2025-08-07",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"Fantasy\",\"Adventure\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 156,
+          "completion_tokens": 370,
+          "total_tokens": 526,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 320,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": null
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 6.754405583s

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-5/simple_object.yaml 🔗

@@ -0,0 +1,68 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 606
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"gpt-5","max_completion_tokens":4000,"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZkhB1eWodsLQ6Gs98f4VUjNlzKV6",
+        "object": "chat.completion",
+        "created": 1762637013,
+        "model": "gpt-5-2025-08-07",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 95,
+          "completion_tokens": 793,
+          "total_tokens": 888,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 768,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": null
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 20.674063542s

providertests/testdata/TestOpenAIObjectGeneration/openai-gpt-5/simple_object_streaming.yaml 🔗

@@ -0,0 +1,66 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 660
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"gpt-5","max_completion_tokens":4000,"stream_options":{"include_usage":true},"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"finish_reason":null}],"usage":null,"obfuscation":"XOkQ64PZpE"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"{\""},"finish_reason":null}],"usage":null,"obfuscation":"Ni84MpFSw"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"age"},"finish_reason":null}],"usage":null,"obfuscation":"HWAfWDi80"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":"},"finish_reason":null}],"usage":null,"obfuscation":"MgEKDfqen"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"30"},"finish_reason":null}],"usage":null,"obfuscation":"xSUuDmVnPA"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":",\""},"finish_reason":null}],"usage":null,"obfuscation":"rg02xRX4E"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"city"},"finish_reason":null}],"usage":null,"obfuscation":"Otwkppxs"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":\""},"finish_reason":null}],"usage":null,"obfuscation":"WryBuCt"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Paris"},"finish_reason":null}],"usage":null,"obfuscation":"xHwu9qY"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\",\""},"finish_reason":null}],"usage":null,"obfuscation":"5fVw4lG"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"name"},"finish_reason":null}],"usage":null,"obfuscation":"9Ionk7pl"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":\""},"finish_reason":null}],"usage":null,"obfuscation":"5vKRCJC"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Alice"},"finish_reason":null}],"usage":null,"obfuscation":"99RRfh5"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\"}"},"finish_reason":null}],"usage":null,"obfuscation":"mpjzsT6aj"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":null,"obfuscation":"Y02J6J"}
+
+      data: {"id":"chatcmpl-CZkhWAnMkiLSCMK7u8Hid2v2V0JKT","object":"chat.completion.chunk","created":1762637034,"model":"gpt-5-2025-08-07","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":95,"completion_tokens":345,"total_tokens":440,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":320,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}},"obfuscation":"oT4O7bI"}
+
+      data: [DONE]
+
+    headers:
+      Content-Type:
+      - text/event-stream; charset=utf-8
+    status: 200 OK
+    code: 200
+    duration: 6.848382125s

providertests/testdata/TestOpenAIObjectGeneration/openai-o4-mini/complex_object.yaml 🔗

@@ -0,0 +1,68 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 975
+    host: ""
+    body: '{"messages":[{"content":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","role":"user"}],"model":"o4-mini","max_completion_tokens":4000,"response_format":{"json_schema":{"name":"Book","strict":true,"description":"A book with title, author, genres, and publication year","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZki5CYlesaMKCtCSbinnMUnYGvLR",
+        "object": "chat.completion",
+        "created": 1762637069,
+        "model": "o4-mini-2025-04-16",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"Fantasy\",\"Adventure\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 156,
+          "completion_tokens": 187,
+          "total_tokens": 343,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 128,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": null
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 3.853936875s

providertests/testdata/TestOpenAIObjectGeneration/openai-o4-mini/simple_object.yaml 🔗

@@ -0,0 +1,68 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 608
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"o4-mini","max_completion_tokens":4000,"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |
+      {
+        "id": "chatcmpl-CZkhy2Semw4FSy9i59cUlONdYx0mh",
+        "object": "chat.completion",
+        "created": 1762637062,
+        "model": "o4-mini-2025-04-16",
+        "choices": [
+          {
+            "index": 0,
+            "message": {
+              "role": "assistant",
+              "content": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}",
+              "refusal": null,
+              "annotations": []
+            },
+            "finish_reason": "stop"
+          }
+        ],
+        "usage": {
+          "prompt_tokens": 95,
+          "completion_tokens": 162,
+          "total_tokens": 257,
+          "prompt_tokens_details": {
+            "cached_tokens": 0,
+            "audio_tokens": 0
+          },
+          "completion_tokens_details": {
+            "reasoning_tokens": 128,
+            "audio_tokens": 0,
+            "accepted_prediction_tokens": 0,
+            "rejected_prediction_tokens": 0
+          }
+        },
+        "service_tier": "default",
+        "system_fingerprint": null
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 3.135977959s

providertests/testdata/TestOpenAIObjectGeneration/openai-o4-mini/simple_object_streaming.yaml 🔗

@@ -0,0 +1,66 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 662
+    host: ""
+    body: '{"messages":[{"content":"Generate information about a person named Alice who is 30 years old and lives in Paris.","role":"user"}],"model":"o4-mini","max_completion_tokens":4000,"stream_options":{"include_usage":true},"response_format":{"json_schema":{"name":"Person","strict":true,"description":"A person with name, age, and city","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"}},"type":"json_schema"},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/chat/completions
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"finish_reason":null}],"usage":null,"obfuscation":"1u4UMeKG"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"{\""},"finish_reason":null}],"usage":null,"obfuscation":"Q5UxGax"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"age"},"finish_reason":null}],"usage":null,"obfuscation":"PC0HaNl"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":"},"finish_reason":null}],"usage":null,"obfuscation":"lsI4acg"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"30"},"finish_reason":null}],"usage":null,"obfuscation":"tcdcmfbK"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":",\""},"finish_reason":null}],"usage":null,"obfuscation":"TD1rpZS"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"city"},"finish_reason":null}],"usage":null,"obfuscation":"IaOcwg"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":\""},"finish_reason":null}],"usage":null,"obfuscation":"6cUFm"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Paris"},"finish_reason":null}],"usage":null,"obfuscation":"2yZjs"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\",\""},"finish_reason":null}],"usage":null,"obfuscation":"Q37jl"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"name"},"finish_reason":null}],"usage":null,"obfuscation":"kT7Jci"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\":\""},"finish_reason":null}],"usage":null,"obfuscation":"ou5VZ"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"Alice"},"finish_reason":null}],"usage":null,"obfuscation":"AMhVx"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{"content":"\"}"},"finish_reason":null}],"usage":null,"obfuscation":"ZDFb7mY"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":null,"obfuscation":"AQhR"}
+
+      data: {"id":"chatcmpl-CZki1J9qrKifHLYfd83Fec01s4z8D","object":"chat.completion.chunk","created":1762637065,"model":"o4-mini-2025-04-16","service_tier":"default","system_fingerprint":null,"choices":[],"usage":{"prompt_tokens":95,"completion_tokens":290,"total_tokens":385,"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}},"obfuscation":"xEKhD"}
+
+      data: [DONE]
+
+    headers:
+      Content-Type:
+      - text/event-stream; charset=utf-8
+    status: 200 OK
+    code: 200
+    duration: 3.874454375s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/complex_object.yaml 🔗

@@ -0,0 +1,149 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 915
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"gpt-4o-mini","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_00aee193a62b03b301690fb5e67a8481a0890292ac13193180",
+        "object": "response",
+        "created_at": 1762637286,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "gpt-4o-mini-2024-07-18",
+        "output": [
+          {
+            "id": "msg_00aee193a62b03b301690fb5e6bf6881a0ab198f7831a11cf0",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"Fantasy\",\"Adventure\",\"Epic\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": null,
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Book",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "author": {
+                  "additionalProperties": false,
+                  "properties": {
+                    "name": {
+                      "description": "Author's name",
+                      "type": "string"
+                    },
+                    "nationality": {
+                      "description": "Author's nationality",
+                      "type": "string"
+                    }
+                  },
+                  "required": [
+                    "name",
+                    "nationality"
+                  ],
+                  "type": "object"
+                },
+                "genres": {
+                  "description": "List of genres",
+                  "items": {
+                    "type": "string"
+                  },
+                  "type": "array"
+                },
+                "published_year": {
+                  "description": "Year the book was published",
+                  "type": "integer"
+                },
+                "title": {
+                  "description": "The book title",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "title",
+                "author",
+                "genres",
+                "published_year"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 140,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 41,
+          "output_tokens_details": {
+            "reasoning_tokens": 0
+          },
+          "total_tokens": 181
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 1.153408417s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/complex_object_streaming.yaml 🔗

@@ -0,0 +1,176 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 929
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"gpt-4o-mini","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/simple_object.yaml 🔗

@@ -0,0 +1,127 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 570
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"gpt-4o-mini","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_0bbc50a7c5ff86f001690fb5e419a8819087b97bd3cbc4c406",
+        "object": "response",
+        "created_at": 1762637284,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "gpt-4o-mini-2024-07-18",
+        "output": [
+          {
+            "id": "msg_0bbc50a7c5ff86f001690fb5e4fabc8190a9749a3e0c928bce",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": null,
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Person",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "age": {
+                  "description": "The person's age",
+                  "type": "integer"
+                },
+                "city": {
+                  "description": "The city where the person lives",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The person's name",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "name",
+                "age",
+                "city"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 82,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 14,
+          "output_tokens_details": {
+            "reasoning_tokens": 0
+          },
+          "total_tokens": 96
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 1.465307584s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o-mini/simple_object_streaming.yaml 🔗

@@ -0,0 +1,95 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 584
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"gpt-4o-mini","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/complex_object.yaml 🔗

@@ -0,0 +1,149 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 910
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"gpt-4o","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_00fee2bcbce77a6b01690fb5e194848191a77c3f9796902417",
+        "object": "response",
+        "created_at": 1762637281,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "gpt-4o-2024-08-06",
+        "output": [
+          {
+            "id": "msg_00fee2bcbce77a6b01690fb5e25dfc8191b275e2c92a87865a",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"Fantasy\",\"Adventure\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": null,
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Book",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "author": {
+                  "additionalProperties": false,
+                  "properties": {
+                    "name": {
+                      "description": "Author's name",
+                      "type": "string"
+                    },
+                    "nationality": {
+                      "description": "Author's nationality",
+                      "type": "string"
+                    }
+                  },
+                  "required": [
+                    "name",
+                    "nationality"
+                  ],
+                  "type": "object"
+                },
+                "genres": {
+                  "description": "List of genres",
+                  "items": {
+                    "type": "string"
+                  },
+                  "type": "array"
+                },
+                "published_year": {
+                  "description": "Year the book was published",
+                  "type": "integer"
+                },
+                "title": {
+                  "description": "The book title",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "title",
+                "author",
+                "genres",
+                "published_year"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 140,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 39,
+          "output_tokens_details": {
+            "reasoning_tokens": 0
+          },
+          "total_tokens": 179
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 1.348413375s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/complex_object_streaming.yaml 🔗

@@ -0,0 +1,176 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 924
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"gpt-4o","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/simple_object.yaml 🔗

@@ -0,0 +1,127 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 565
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"gpt-4o","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_0f20344bcc1b767601690fb5e04c9c81a08af63f829b10bb55",
+        "object": "response",
+        "created_at": 1762637280,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "gpt-4o-2024-08-06",
+        "output": [
+          {
+            "id": "msg_0f20344bcc1b767601690fb5e094e481a0833865218a771607",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": null,
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Person",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "age": {
+                  "description": "The person's age",
+                  "type": "integer"
+                },
+                "city": {
+                  "description": "The city where the person lives",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The person's name",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "name",
+                "age",
+                "city"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 82,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 14,
+          "output_tokens_details": {
+            "reasoning_tokens": 0
+          },
+          "total_tokens": 96
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 816.505042ms

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-4o/simple_object_streaming.yaml 🔗

@@ -0,0 +1,95 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 579
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"gpt-4o","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/complex_object.yaml 🔗

@@ -0,0 +1,154 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 909
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"gpt-5","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_0d7efb113168df8301690fb603c0f881a1a5ecec45f910e875",
+        "object": "response",
+        "created_at": 1762637315,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "gpt-5-2025-08-07",
+        "output": [
+          {
+            "id": "rs_0d7efb113168df8301690fb6041bb881a198a6e417f00bba70",
+            "type": "reasoning",
+            "summary": []
+          },
+          {
+            "id": "msg_0d7efb113168df8301690fb610bf2881a1be28a4885c1876ac",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"British\"},\"genres\":[\"Fantasy\",\"Adventure\",\"Epic fantasy\",\"High fantasy\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": "medium",
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Book",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "author": {
+                  "additionalProperties": false,
+                  "properties": {
+                    "name": {
+                      "description": "Author's name",
+                      "type": "string"
+                    },
+                    "nationality": {
+                      "description": "Author's nationality",
+                      "type": "string"
+                    }
+                  },
+                  "required": [
+                    "name",
+                    "nationality"
+                  ],
+                  "type": "object"
+                },
+                "genres": {
+                  "description": "List of genres",
+                  "items": {
+                    "type": "string"
+                  },
+                  "type": "array"
+                },
+                "published_year": {
+                  "description": "Year the book was published",
+                  "type": "integer"
+                },
+                "title": {
+                  "description": "The book title",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "title",
+                "author",
+                "genres",
+                "published_year"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 138,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 885,
+          "output_tokens_details": {
+            "reasoning_tokens": 832
+          },
+          "total_tokens": 1023
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 13.745367625s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/complex_object_streaming.yaml 🔗

@@ -0,0 +1,191 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 923
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"gpt-5","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/simple_object.yaml 🔗

@@ -0,0 +1,132 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 564
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"gpt-5","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_027d860ff8453c5c01690fb5e8b590819c98d4fefe82a2d697",
+        "object": "response",
+        "created_at": 1762637288,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "gpt-5-2025-08-07",
+        "output": [
+          {
+            "id": "rs_027d860ff8453c5c01690fb5e90bf8819cafd2ab51156cc379",
+            "type": "reasoning",
+            "summary": []
+          },
+          {
+            "id": "msg_027d860ff8453c5c01690fb5fe2978819ca252f996006bf96e",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": "medium",
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Person",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "age": {
+                  "description": "The person's age",
+                  "type": "integer"
+                },
+                "city": {
+                  "description": "The city where the person lives",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The person's name",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "name",
+                "age",
+                "city"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 80,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 1238,
+          "output_tokens_details": {
+            "reasoning_tokens": 1216
+          },
+          "total_tokens": 1318
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 22.08059475s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-gpt-5/simple_object_streaming.yaml 🔗

@@ -0,0 +1,101 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 578
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"gpt-5","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/complex_object.yaml 🔗

@@ -0,0 +1,154 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 911
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"o4-mini","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_017b2c309fa6f10301690fb622abf481a0a85dad143f87cc57",
+        "object": "response",
+        "created_at": 1762637346,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "o4-mini-2025-04-16",
+        "output": [
+          {
+            "id": "rs_017b2c309fa6f10301690fb623133881a0b253929605c93041",
+            "type": "reasoning",
+            "summary": []
+          },
+          {
+            "id": "msg_017b2c309fa6f10301690fb6269d6c81a0abb3acf886a1efe0",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"author\":{\"name\":\"J.R.R. Tolkien\",\"nationality\":\"English\"},\"genres\":[\"Fantasy\",\"Adventure\"],\"published_year\":1954,\"title\":\"The Lord of the Rings\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": "medium",
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Book",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "author": {
+                  "additionalProperties": false,
+                  "properties": {
+                    "name": {
+                      "description": "Author's name",
+                      "type": "string"
+                    },
+                    "nationality": {
+                      "description": "Author's nationality",
+                      "type": "string"
+                    }
+                  },
+                  "required": [
+                    "name",
+                    "nationality"
+                  ],
+                  "type": "object"
+                },
+                "genres": {
+                  "description": "List of genres",
+                  "items": {
+                    "type": "string"
+                  },
+                  "type": "array"
+                },
+                "published_year": {
+                  "description": "Year the book was published",
+                  "type": "integer"
+                },
+                "title": {
+                  "description": "The book title",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "title",
+                "author",
+                "genres",
+                "published_year"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 138,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 431,
+          "output_tokens_details": {
+            "reasoning_tokens": 384
+          },
+          "total_tokens": 569
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 4.660075375s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/complex_object_streaming.yaml 🔗

@@ -0,0 +1,176 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 925
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about ''The Lord of the Rings'' book by J.R.R. Tolkien, including genres like fantasy and adventure, and its publication year (1954).","type":"input_text"}],"role":"user"}],"model":"o4-mini","text":{"format":{"name":"Book","schema":{"additionalProperties":false,"properties":{"author":{"additionalProperties":false,"properties":{"name":{"description":"Author''s name","type":"string"},"nationality":{"description":"Author''s nationality","type":"string"}},"required":["name","nationality"],"type":"object"},"genres":{"description":"List of genres","items":{"type":"string"},"type":"array"},"published_year":{"description":"Year the book was published","type":"integer"},"title":{"description":"The book title","type":"string"}},"required":["title","author","genres","published_year"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/simple_object.yaml 🔗

@@ -0,0 +1,132 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 566
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"o4-mini","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}}}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    uncompressed: true
+    body: |-
+      {
+        "id": "resp_098f453613ad314501690fb61bc6e0819382952362bbb4e647",
+        "object": "response",
+        "created_at": 1762637339,
+        "status": "completed",
+        "background": false,
+        "billing": {
+          "payer": "developer"
+        },
+        "error": null,
+        "incomplete_details": null,
+        "instructions": null,
+        "max_output_tokens": 4000,
+        "max_tool_calls": null,
+        "model": "o4-mini-2025-04-16",
+        "output": [
+          {
+            "id": "rs_098f453613ad314501690fb61c869c81939eea265ba983fa58",
+            "type": "reasoning",
+            "summary": []
+          },
+          {
+            "id": "msg_098f453613ad314501690fb61f8828819389d543a45e07bc0b",
+            "type": "message",
+            "status": "completed",
+            "content": [
+              {
+                "type": "output_text",
+                "annotations": [],
+                "logprobs": [],
+                "text": "{\"age\":30,\"city\":\"Paris\",\"name\":\"Alice\"}"
+              }
+            ],
+            "role": "assistant"
+          }
+        ],
+        "parallel_tool_calls": true,
+        "previous_response_id": null,
+        "prompt_cache_key": null,
+        "prompt_cache_retention": null,
+        "reasoning": {
+          "effort": "medium",
+          "summary": null
+        },
+        "safety_identifier": null,
+        "service_tier": "default",
+        "store": false,
+        "temperature": 1.0,
+        "text": {
+          "format": {
+            "type": "json_schema",
+            "description": null,
+            "name": "Person",
+            "schema": {
+              "additionalProperties": false,
+              "properties": {
+                "age": {
+                  "description": "The person's age",
+                  "type": "integer"
+                },
+                "city": {
+                  "description": "The city where the person lives",
+                  "type": "string"
+                },
+                "name": {
+                  "description": "The person's name",
+                  "type": "string"
+                }
+              },
+              "required": [
+                "name",
+                "age",
+                "city"
+              ],
+              "type": "object"
+            },
+            "strict": true
+          },
+          "verbosity": "medium"
+        },
+        "tool_choice": "auto",
+        "tools": [],
+        "top_logprobs": 0,
+        "top_p": 1.0,
+        "truncation": "disabled",
+        "usage": {
+          "input_tokens": 80,
+          "input_tokens_details": {
+            "cached_tokens": 0
+          },
+          "output_tokens": 342,
+          "output_tokens_details": {
+            "reasoning_tokens": 320
+          },
+          "total_tokens": 422
+        },
+        "user": null,
+        "metadata": {}
+      }
+    headers:
+      Content-Type:
+      - application/json
+    status: 200 OK
+    code: 200
+    duration: 4.174928125s

providertests/testdata/TestOpenAIResponsesObjectGeneration/openai-o4-mini/simple_object_streaming.yaml 🔗

@@ -0,0 +1,101 @@
+---
+version: 2
+interactions:
+- id: 0
+  request:
+    proto: HTTP/1.1
+    proto_major: 1
+    proto_minor: 1
+    content_length: 580
+    host: ""
+    body: '{"max_output_tokens":4000,"store":false,"input":[{"content":[{"text":"Generate information about a person named Alice who is 30 years old and lives in Paris.","type":"input_text"}],"role":"user"}],"model":"o4-mini","text":{"format":{"name":"Person","schema":{"additionalProperties":false,"properties":{"age":{"description":"The person''s age","type":"integer"},"city":{"description":"The city where the person lives","type":"string"},"name":{"description":"The person''s name","type":"string"}},"required":["name","age","city"],"type":"object"},"type":"json_schema"}},"stream":true}'
+    headers:
+      Accept:
+      - application/json
+      Content-Type:
+      - application/json
+      User-Agent:
+      - OpenAI/Go 2.7.1
+    url: https://api.openai.com/v1/responses
+    method: POST
+  response:
+    proto: HTTP/2.0
+    proto_major: 2
+    proto_minor: 0
+    content_length: -1
+    body: |+
+      event: response.created

schema/schema.go 🔗

@@ -0,0 +1,403 @@
+// Package schema provides JSON schema generation and validation utilities.
+// It supports automatic schema generation from Go types and validation of parsed objects.
+package schema
+
+import (
+	"context"
+	"encoding/json"
+	"fmt"
+	"reflect"
+	"slices"
+	"strings"
+
+	jsonrepair "github.com/RealAlexandreAI/json-repair"
+	"github.com/kaptinlin/jsonschema"
+)
+
+// ObjectRepairFunc is a function that attempts to repair invalid JSON output.
+// It receives the raw text and the error encountered during parsing or validation,
+// and returns repaired text or an error if repair is not possible.
+type ObjectRepairFunc func(ctx context.Context, text string, err error) (string, error)
+
+// ParseError is returned when object generation fails
+// due to parsing errors, validation errors, or model failures.
+type ParseError struct {
+	RawText         string
+	ParseError      error
+	ValidationError error
+}
+
+// Schema represents a JSON schema for tool input validation.
+type Schema struct {
+	Type        string             `json:"type,omitempty"`
+	Properties  map[string]*Schema `json:"properties,omitempty"`
+	Required    []string           `json:"required,omitempty"`
+	Items       *Schema            `json:"items,omitempty"`
+	Description string             `json:"description,omitempty"`
+	Enum        []any              `json:"enum,omitempty"`
+	Format      string             `json:"format,omitempty"`
+	Minimum     *float64           `json:"minimum,omitempty"`
+	Maximum     *float64           `json:"maximum,omitempty"`
+	MinLength   *int               `json:"minLength,omitempty"`
+	MaxLength   *int               `json:"maxLength,omitempty"`
+}
+
+// ParseState represents the state of JSON parsing.
+type ParseState string
+
+const (
+	// ParseStateUndefined means input was undefined/empty.
+	ParseStateUndefined ParseState = "undefined"
+
+	// ParseStateSuccessful means JSON parsed without repair.
+	ParseStateSuccessful ParseState = "successful"
+
+	// ParseStateRepaired means JSON parsed after repair.
+	ParseStateRepaired ParseState = "repaired"
+
+	// ParseStateFailed means JSON could not be parsed even after repair.
+	ParseStateFailed ParseState = "failed"
+)
+
+// ToParameters converts a Schema to the parameters map format expected by ToolInfo.
+func ToParameters(s Schema) map[string]any {
+	if s.Properties == nil {
+		return make(map[string]any)
+	}
+
+	result := make(map[string]any)
+	for name, propSchema := range s.Properties {
+		result[name] = ToMap(*propSchema)
+	}
+	return result
+}
+
+// Generate generates a JSON schema from a reflect.Type.
+// It recursively processes struct fields, arrays, maps, and primitive types.
+func Generate(t reflect.Type) Schema {
+	return generateSchemaRecursive(t, make(map[reflect.Type]bool))
+}
+
+func generateSchemaRecursive(t reflect.Type, visited map[reflect.Type]bool) Schema {
+	if t.Kind() == reflect.Pointer {
+		t = t.Elem()
+	}
+
+	if visited[t] {
+		return Schema{Type: "object"}
+	}
+	visited[t] = true
+	defer delete(visited, t)
+
+	switch t.Kind() {
+	case reflect.String:
+		return Schema{Type: "string"}
+	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
+		reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
+		return Schema{Type: "integer"}
+	case reflect.Float32, reflect.Float64:
+		return Schema{Type: "number"}
+	case reflect.Bool:
+		return Schema{Type: "boolean"}
+	case reflect.Slice, reflect.Array:
+		itemSchema := generateSchemaRecursive(t.Elem(), visited)
+		return Schema{
+			Type:  "array",
+			Items: &itemSchema,
+		}
+	case reflect.Map:
+		if t.Key().Kind() == reflect.String {
+			valueSchema := generateSchemaRecursive(t.Elem(), visited)
+			schema := Schema{
+				Type: "object",
+				Properties: map[string]*Schema{
+					"*": &valueSchema,
+				},
+			}
+			return schema
+		}
+		return Schema{Type: "object"}
+	case reflect.Struct:
+		schema := Schema{
+			Type:       "object",
+			Properties: make(map[string]*Schema),
+		}
+		for i := range t.NumField() {
+			field := t.Field(i)
+
+			if !field.IsExported() {
+				continue
+			}
+
+			jsonTag := field.Tag.Get("json")
+			if jsonTag == "-" {
+				continue
+			}
+
+			fieldName := field.Name
+			required := true
+
+			if jsonTag != "" {
+				parts := strings.Split(jsonTag, ",")
+				if parts[0] != "" {
+					fieldName = parts[0]
+				}
+
+				if slices.Contains(parts[1:], "omitempty") {
+					required = false
+				}
+			} else {
+				fieldName = toSnakeCase(fieldName)
+			}
+
+			fieldSchema := generateSchemaRecursive(field.Type, visited)
+
+			if desc := field.Tag.Get("description"); desc != "" {
+				fieldSchema.Description = desc
+			}
+
+			if enumTag := field.Tag.Get("enum"); enumTag != "" {
+				enumValues := strings.Split(enumTag, ",")
+				fieldSchema.Enum = make([]any, len(enumValues))
+				for i, v := range enumValues {
+					fieldSchema.Enum[i] = strings.TrimSpace(v)
+				}
+			}
+
+			schema.Properties[fieldName] = &fieldSchema
+
+			if required {
+				schema.Required = append(schema.Required, fieldName)
+			}
+		}
+
+		return schema
+	case reflect.Interface:
+		return Schema{Type: "object"}
+	default:
+		return Schema{Type: "object"}
+	}
+}
+
+// ToMap converts a Schema to a map representation suitable for JSON Schema.
+func ToMap(schema Schema) map[string]any {
+	result := make(map[string]any)
+
+	if schema.Type != "" {
+		result["type"] = schema.Type
+	}
+
+	if schema.Description != "" {
+		result["description"] = schema.Description
+	}
+
+	if len(schema.Enum) > 0 {
+		result["enum"] = schema.Enum
+	}
+
+	if schema.Format != "" {
+		result["format"] = schema.Format
+	}
+
+	if schema.Minimum != nil {
+		result["minimum"] = *schema.Minimum
+	}
+
+	if schema.Maximum != nil {
+		result["maximum"] = *schema.Maximum
+	}
+
+	if schema.MinLength != nil {
+		result["minLength"] = *schema.MinLength
+	}
+
+	if schema.MaxLength != nil {
+		result["maxLength"] = *schema.MaxLength
+	}
+
+	if schema.Properties != nil {
+		props := make(map[string]any)
+		for name, propSchema := range schema.Properties {
+			props[name] = ToMap(*propSchema)
+		}
+		result["properties"] = props
+	}
+
+	if len(schema.Required) > 0 {
+		result["required"] = schema.Required
+	}
+
+	if schema.Items != nil {
+		itemsMap := ToMap(*schema.Items)
+		// Ensure type is always set for items, even if it was blank for llama.cpp compatibility
+		if _, hasType := itemsMap["type"]; !hasType && schema.Items.Type == "" {
+			if len(schema.Items.Properties) > 0 {
+				itemsMap["type"] = "object"
+			}
+		}
+		result["items"] = itemsMap
+	}
+
+	return result
+}
+
+// ParsePartialJSON attempts to parse potentially incomplete JSON.
+// It first tries standard JSON parsing, then attempts repair if that fails.
+//
+// Returns:
+//   - result: The parsed JSON value (map, slice, or primitive)
+//   - state: Indicates whether parsing succeeded, needed repair, or failed
+//   - err: The error if parsing failed completely
+//
+// Example:
+//
+//	obj, state, err := ParsePartialJSON(`{"name": "John", "age": 25`)
+//	// Result: map[string]any{"name": "John", "age": 25}, ParseStateRepaired, nil
+func ParsePartialJSON(text string) (any, ParseState, error) {
+	if text == "" {
+		return nil, ParseStateUndefined, nil
+	}
+
+	var result any
+	if err := json.Unmarshal([]byte(text), &result); err == nil {
+		return result, ParseStateSuccessful, nil
+	}
+
+	repaired, err := jsonrepair.RepairJSON(text)
+	if err != nil {
+		return nil, ParseStateFailed, fmt.Errorf("json repair failed: %w", err)
+	}
+
+	if err := json.Unmarshal([]byte(repaired), &result); err != nil {
+		return nil, ParseStateFailed, fmt.Errorf("failed to parse repaired json: %w", err)
+	}
+
+	return result, ParseStateRepaired, nil
+}
+
+// Error implements the error interface.
+func (e *ParseError) Error() string {
+	if e.ValidationError != nil {
+		return fmt.Sprintf("object validation failed: %v", e.ValidationError)
+	}
+	if e.ParseError != nil {
+		return fmt.Sprintf("failed to parse object: %v", e.ParseError)
+	}
+	return "failed to generate object"
+}
+
+// ParseAndValidate combines JSON parsing and validation.
+// Returns the parsed object if both parsing and validation succeed.
+func ParseAndValidate(text string, schema Schema) (any, error) {
+	obj, state, err := ParsePartialJSON(text)
+	if state == ParseStateFailed {
+		return nil, &ParseError{
+			RawText:    text,
+			ParseError: err,
+		}
+	}
+
+	if err := validateAgainstSchema(obj, schema); err != nil {
+		return nil, &ParseError{
+			RawText:         text,
+			ValidationError: err,
+		}
+	}
+
+	return obj, nil
+}
+
+// ValidateAgainstSchema validates a parsed object against a Schema.
+func ValidateAgainstSchema(obj any, schema Schema) error {
+	return validateAgainstSchema(obj, schema)
+}
+
+func validateAgainstSchema(obj any, schema Schema) error {
+	jsonSchemaBytes, err := json.Marshal(schema)
+	if err != nil {
+		return fmt.Errorf("failed to marshal schema: %w", err)
+	}
+
+	compiler := jsonschema.NewCompiler()
+	validator, err := compiler.Compile(jsonSchemaBytes)
+	if err != nil {
+		return fmt.Errorf("invalid schema: %w", err)
+	}
+
+	result := validator.Validate(obj)
+	if !result.IsValid() {
+		var errMsgs []string
+		for field, validationErr := range result.Errors {
+			errMsgs = append(errMsgs, fmt.Sprintf("%s: %s", field, validationErr.Message))
+		}
+		return fmt.Errorf("validation failed: %s", strings.Join(errMsgs, "; "))
+	}
+
+	return nil
+}
+
+// ParseAndValidateWithRepair attempts parsing, validation, and custom repair.
+func ParseAndValidateWithRepair(
+	ctx context.Context,
+	text string,
+	schema Schema,
+	repair ObjectRepairFunc,
+) (any, error) {
+	obj, state, parseErr := ParsePartialJSON(text)
+
+	if state == ParseStateSuccessful || state == ParseStateRepaired {
+		validationErr := validateAgainstSchema(obj, schema)
+		if validationErr == nil {
+			return obj, nil
+		}
+
+		if repair != nil {
+			repairedText, repairErr := repair(ctx, text, validationErr)
+			if repairErr == nil {
+				obj2, state2, _ := ParsePartialJSON(repairedText)
+				if state2 == ParseStateSuccessful || state2 == ParseStateRepaired {
+					if err := validateAgainstSchema(obj2, schema); err == nil {
+						return obj2, nil
+					}
+				}
+			}
+		}
+
+		return nil, &ParseError{
+			RawText:         text,
+			ValidationError: validationErr,
+		}
+	}
+
+	if repair != nil {
+		repairedText, repairErr := repair(ctx, text, parseErr)
+		if repairErr == nil {
+			obj2, state2, parseErr2 := ParsePartialJSON(repairedText)
+			if state2 == ParseStateSuccessful || state2 == ParseStateRepaired {
+				if err := validateAgainstSchema(obj2, schema); err == nil {
+					return obj2, nil
+				}
+			}
+			return nil, &ParseError{
+				RawText:    repairedText,
+				ParseError: parseErr2,
+			}
+		}
+	}
+
+	return nil, &ParseError{
+		RawText:    text,
+		ParseError: parseErr,
+	}
+}
+
+func toSnakeCase(s string) string {
+	var result strings.Builder
+	for i, r := range s {
+		if i > 0 && r >= 'A' && r <= 'Z' {
+			result.WriteByte('_')
+		}
+		result.WriteRune(r)
+	}
+	return strings.ToLower(result.String())
+}

schema/schema_test.go 🔗

@@ -0,0 +1,534 @@
+package schema
+
+import (
+	"reflect"
+	"testing"
+
+	"github.com/stretchr/testify/require"
+)
+
+func TestEnumSupport(t *testing.T) {
+	// Test enum via struct tags
+	type WeatherInput struct {
+		Location string `json:"location" description:"City name"`
+		Units    string `json:"units" enum:"celsius,fahrenheit,kelvin" description:"Temperature units"`
+		Format   string `json:"format,omitempty" enum:"json,xml,text"`
+	}
+
+	schema := Generate(reflect.TypeOf(WeatherInput{}))
+
+	require.Equal(t, "object", schema.Type)
+
+	// Check units field has enum values
+	unitsSchema := schema.Properties["units"]
+	require.NotNil(t, unitsSchema, "Expected units property to exist")
+	require.Len(t, unitsSchema.Enum, 3)
+	expectedUnits := []string{"celsius", "fahrenheit", "kelvin"}
+	for i, expected := range expectedUnits {
+		require.Equal(t, expected, unitsSchema.Enum[i])
+	}
+
+	// Check required fields (format should not be required due to omitempty)
+	expectedRequired := []string{"location", "units"}
+	require.Len(t, schema.Required, len(expectedRequired))
+}
+
+func TestSchemaToParameters(t *testing.T) {
+	testSchema := Schema{
+		Type: "object",
+		Properties: map[string]*Schema{
+			"name": {
+				Type:        "string",
+				Description: "The name field",
+			},
+			"age": {
+				Type:    "integer",
+				Minimum: func() *float64 { v := 0.0; return &v }(),
+				Maximum: func() *float64 { v := 120.0; return &v }(),
+			},
+			"tags": {
+				Type: "array",
+				Items: &Schema{
+					Type: "string",
+				},
+			},
+			"priority": {
+				Type: "string",
+				Enum: []any{"low", "medium", "high"},
+			},
+		},
+		Required: []string{"name"},
+	}
+
+	params := ToParameters(testSchema)
+
+	// Check name parameter
+	nameParam, ok := params["name"].(map[string]any)
+	require.True(t, ok, "Expected name parameter to exist")
+	require.Equal(t, "string", nameParam["type"])
+	require.Equal(t, "The name field", nameParam["description"])
+
+	// Check age parameter with min/max
+	ageParam, ok := params["age"].(map[string]any)
+	require.True(t, ok, "Expected age parameter to exist")
+	require.Equal(t, "integer", ageParam["type"])
+	require.Equal(t, 0.0, ageParam["minimum"])
+	require.Equal(t, 120.0, ageParam["maximum"])
+
+	// Check priority parameter with enum
+	priorityParam, ok := params["priority"].(map[string]any)
+	require.True(t, ok, "Expected priority parameter to exist")
+	require.Equal(t, "string", priorityParam["type"])
+	enumValues, ok := priorityParam["enum"].([]any)
+	require.True(t, ok)
+	require.Len(t, enumValues, 3)
+}
+
+func TestGenerateSchemaBasicTypes(t *testing.T) {
+	t.Parallel()
+
+	tests := []struct {
+		name     string
+		input    any
+		expected Schema
+	}{
+		{
+			name:     "string type",
+			input:    "",
+			expected: Schema{Type: "string"},
+		},
+		{
+			name:     "int type",
+			input:    0,
+			expected: Schema{Type: "integer"},
+		},
+		{
+			name:     "int64 type",
+			input:    int64(0),
+			expected: Schema{Type: "integer"},
+		},
+		{
+			name:     "uint type",
+			input:    uint(0),
+			expected: Schema{Type: "integer"},
+		},
+		{
+			name:     "float64 type",
+			input:    0.0,
+			expected: Schema{Type: "number"},
+		},
+		{
+			name:     "float32 type",
+			input:    float32(0.0),
+			expected: Schema{Type: "number"},
+		},
+		{
+			name:     "bool type",
+			input:    false,
+			expected: Schema{Type: "boolean"},
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			t.Parallel()
+			schema := Generate(reflect.TypeOf(tt.input))
+			require.Equal(t, tt.expected.Type, schema.Type)
+		})
+	}
+}
+
+func TestGenerateSchemaArrayTypes(t *testing.T) {
+	t.Parallel()
+
+	tests := []struct {
+		name     string
+		input    any
+		expected Schema
+	}{
+		{
+			name:  "string slice",
+			input: []string{},
+			expected: Schema{
+				Type:  "array",
+				Items: &Schema{Type: "string"},
+			},
+		},
+		{
+			name:  "int slice",
+			input: []int{},
+			expected: Schema{
+				Type:  "array",
+				Items: &Schema{Type: "integer"},
+			},
+		},
+		{
+			name:  "string array",
+			input: [3]string{},
+			expected: Schema{
+				Type:  "array",
+				Items: &Schema{Type: "string"},
+			},
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			t.Parallel()
+			schema := Generate(reflect.TypeOf(tt.input))
+			require.Equal(t, tt.expected.Type, schema.Type)
+			require.NotNil(t, schema.Items, "Expected items schema to exist")
+			require.Equal(t, tt.expected.Items.Type, schema.Items.Type)
+		})
+	}
+}
+
+func TestGenerateSchemaMapTypes(t *testing.T) {
+	t.Parallel()
+
+	tests := []struct {
+		name     string
+		input    any
+		expected string
+	}{
+		{
+			name:     "string to string map",
+			input:    map[string]string{},
+			expected: "object",
+		},
+		{
+			name:     "string to int map",
+			input:    map[string]int{},
+			expected: "object",
+		},
+		{
+			name:     "int to string map",
+			input:    map[int]string{},
+			expected: "object",
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			t.Parallel()
+			schema := Generate(reflect.TypeOf(tt.input))
+			require.Equal(t, tt.expected, schema.Type)
+		})
+	}
+}
+
+func TestGenerateSchemaStructTypes(t *testing.T) {
+	t.Parallel()
+
+	type SimpleStruct struct {
+		Name string `json:"name" description:"The name field"`
+		Age  int    `json:"age"`
+	}
+
+	type StructWithOmitEmpty struct {
+		Required string `json:"required"`
+		Optional string `json:"optional,omitempty"`
+	}
+
+	type StructWithJSONIgnore struct {
+		Visible string `json:"visible"`
+		Hidden  string `json:"-"`
+	}
+
+	type StructWithoutJSONTags struct {
+		FirstName string
+		LastName  string
+	}
+
+	tests := []struct {
+		name     string
+		input    any
+		validate func(t *testing.T, schema Schema)
+	}{
+		{
+			name:  "simple struct",
+			input: SimpleStruct{},
+			validate: func(t *testing.T, schema Schema) {
+				require.Equal(t, "object", schema.Type)
+				require.Len(t, schema.Properties, 2)
+				require.NotNil(t, schema.Properties["name"], "Expected name property to exist")
+				require.Equal(t, "The name field", schema.Properties["name"].Description)
+				require.Len(t, schema.Required, 2)
+			},
+		},
+		{
+			name:  "struct with omitempty",
+			input: StructWithOmitEmpty{},
+			validate: func(t *testing.T, schema Schema) {
+				require.Len(t, schema.Required, 1)
+				require.Equal(t, "required", schema.Required[0])
+			},
+		},
+		{
+			name:  "struct with json ignore",
+			input: StructWithJSONIgnore{},
+			validate: func(t *testing.T, schema Schema) {
+				require.Len(t, schema.Properties, 1)
+				require.NotNil(t, schema.Properties["visible"], "Expected visible property to exist")
+				require.Nil(t, schema.Properties["hidden"], "Expected hidden property to not exist")
+			},
+		},
+		{
+			name:  "struct without json tags",
+			input: StructWithoutJSONTags{},
+			validate: func(t *testing.T, schema Schema) {
+				require.NotNil(t, schema.Properties["first_name"], "Expected first_name property to exist")
+				require.NotNil(t, schema.Properties["last_name"], "Expected last_name property to exist")
+			},
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			t.Parallel()
+			schema := Generate(reflect.TypeOf(tt.input))
+			tt.validate(t, schema)
+		})
+	}
+}
+
+func TestGenerateSchemaPointerTypes(t *testing.T) {
+	t.Parallel()
+
+	type StructWithPointers struct {
+		Name *string `json:"name"`
+		Age  *int    `json:"age"`
+	}
+
+	schema := Generate(reflect.TypeOf(StructWithPointers{}))
+
+	require.Equal(t, "object", schema.Type)
+
+	require.NotNil(t, schema.Properties["name"], "Expected name property to exist")
+	require.Equal(t, "string", schema.Properties["name"].Type)
+
+	require.NotNil(t, schema.Properties["age"], "Expected age property to exist")
+	require.Equal(t, "integer", schema.Properties["age"].Type)
+}
+
+func TestGenerateSchemaNestedStructs(t *testing.T) {
+	t.Parallel()
+
+	type Address struct {
+		Street string `json:"street"`
+		City   string `json:"city"`
+	}
+
+	type Person struct {
+		Name    string  `json:"name"`
+		Address Address `json:"address"`
+	}
+
+	schema := Generate(reflect.TypeOf(Person{}))
+
+	require.Equal(t, "object", schema.Type)
+
+	require.NotNil(t, schema.Properties["address"], "Expected address property to exist")
+
+	addressSchema := schema.Properties["address"]
+	require.Equal(t, "object", addressSchema.Type)
+
+	require.NotNil(t, addressSchema.Properties["street"], "Expected street property in address to exist")
+	require.NotNil(t, addressSchema.Properties["city"], "Expected city property in address to exist")
+}
+
+func TestGenerateSchemaRecursiveStructs(t *testing.T) {
+	t.Parallel()
+
+	type Node struct {
+		Value string `json:"value"`
+		Next  *Node  `json:"next,omitempty"`
+	}
+
+	schema := Generate(reflect.TypeOf(Node{}))
+
+	require.Equal(t, "object", schema.Type)
+
+	require.NotNil(t, schema.Properties["value"], "Expected value property to exist")
+
+	require.NotNil(t, schema.Properties["next"], "Expected next property to exist")
+
+	// The recursive reference should be handled gracefully
+	nextSchema := schema.Properties["next"]
+	require.Equal(t, "object", nextSchema.Type)
+}
+
+func TestGenerateSchemaWithEnumTags(t *testing.T) {
+	t.Parallel()
+
+	type ConfigInput struct {
+		Level    string `json:"level" enum:"debug,info,warn,error" description:"Log level"`
+		Format   string `json:"format" enum:"json,text"`
+		Optional string `json:"optional,omitempty" enum:"a,b,c"`
+	}
+
+	schema := Generate(reflect.TypeOf(ConfigInput{}))
+
+	// Check level field
+	levelSchema := schema.Properties["level"]
+	require.NotNil(t, levelSchema, "Expected level property to exist")
+	require.Len(t, levelSchema.Enum, 4)
+	expectedLevels := []string{"debug", "info", "warn", "error"}
+	for i, expected := range expectedLevels {
+		require.Equal(t, expected, levelSchema.Enum[i])
+	}
+
+	// Check format field
+	formatSchema := schema.Properties["format"]
+	require.NotNil(t, formatSchema, "Expected format property to exist")
+	require.Len(t, formatSchema.Enum, 2)
+
+	// Check required fields (optional should not be required due to omitempty)
+	expectedRequired := []string{"level", "format"}
+	require.Len(t, schema.Required, len(expectedRequired))
+}
+
+func TestGenerateSchemaComplexTypes(t *testing.T) {
+	t.Parallel()
+
+	type ComplexInput struct {
+		StringSlice []string            `json:"string_slice"`
+		IntMap      map[string]int      `json:"int_map"`
+		NestedSlice []map[string]string `json:"nested_slice"`
+		Interface   any                 `json:"interface"`
+	}
+
+	schema := Generate(reflect.TypeOf(ComplexInput{}))
+
+	// Check string slice
+	stringSliceSchema := schema.Properties["string_slice"]
+	require.NotNil(t, stringSliceSchema, "Expected string_slice property to exist")
+	require.Equal(t, "array", stringSliceSchema.Type)
+	require.Equal(t, "string", stringSliceSchema.Items.Type)
+
+	// Check int map
+	intMapSchema := schema.Properties["int_map"]
+	require.NotNil(t, intMapSchema, "Expected int_map property to exist")
+	require.Equal(t, "object", intMapSchema.Type)
+
+	// Check nested slice
+	nestedSliceSchema := schema.Properties["nested_slice"]
+	require.NotNil(t, nestedSliceSchema, "Expected nested_slice property to exist")
+	require.Equal(t, "array", nestedSliceSchema.Type)
+	require.Equal(t, "object", nestedSliceSchema.Items.Type)
+
+	// Check interface
+	interfaceSchema := schema.Properties["interface"]
+	require.NotNil(t, interfaceSchema, "Expected interface property to exist")
+	require.Equal(t, "object", interfaceSchema.Type)
+}
+
+func TestToSnakeCase(t *testing.T) {
+	t.Parallel()
+
+	tests := []struct {
+		input    string
+		expected string
+	}{
+		{"FirstName", "first_name"},
+		{"XMLHttpRequest", "x_m_l_http_request"},
+		{"ID", "i_d"},
+		{"HTTPSProxy", "h_t_t_p_s_proxy"},
+		{"simple", "simple"},
+		{"", ""},
+		{"A", "a"},
+		{"AB", "a_b"},
+		{"CamelCase", "camel_case"},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.input, func(t *testing.T) {
+			t.Parallel()
+			result := toSnakeCase(tt.input)
+			require.Equal(t, tt.expected, result, "toSnakeCase(%s)", tt.input)
+		})
+	}
+}
+
+func TestSchemaToParametersEdgeCases(t *testing.T) {
+	t.Parallel()
+
+	tests := []struct {
+		name     string
+		schema   Schema
+		expected map[string]any
+	}{
+		{
+			name: "non-object schema",
+			schema: Schema{
+				Type: "string",
+			},
+			expected: map[string]any{},
+		},
+		{
+			name: "object with no properties",
+			schema: Schema{
+				Type:       "object",
+				Properties: nil,
+			},
+			expected: map[string]any{},
+		},
+		{
+			name: "object with empty properties",
+			schema: Schema{
+				Type:       "object",
+				Properties: map[string]*Schema{},
+			},
+			expected: map[string]any{},
+		},
+		{
+			name: "schema with all constraint types",
+			schema: Schema{
+				Type: "object",
+				Properties: map[string]*Schema{
+					"text": {
+						Type:      "string",
+						Format:    "email",
+						MinLength: func() *int { v := 5; return &v }(),
+						MaxLength: func() *int { v := 100; return &v }(),
+					},
+					"number": {
+						Type:    "number",
+						Minimum: func() *float64 { v := 0.0; return &v }(),
+						Maximum: func() *float64 { v := 100.0; return &v }(),
+					},
+				},
+			},
+			expected: map[string]any{
+				"text": map[string]any{
+					"type":      "string",
+					"format":    "email",
+					"minLength": 5,
+					"maxLength": 100,
+				},
+				"number": map[string]any{
+					"type":    "number",
+					"minimum": 0.0,
+					"maximum": 100.0,
+				},
+			},
+		},
+	}
+
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			t.Parallel()
+			result := ToParameters(tt.schema)
+			require.Len(t, result, len(tt.expected))
+			for key, expectedValue := range tt.expected {
+				require.NotNil(t, result[key], "Expected parameter %s to exist", key)
+				// Deep comparison would be complex, so we'll check key properties
+				resultParam := result[key].(map[string]any)
+				expectedParam := expectedValue.(map[string]any)
+				for propKey, propValue := range expectedParam {
+					require.Equal(t, propValue, resultParam[propKey], "Expected %s.%s", key, propKey)
+				}
+			}
+		})
+	}
+}

tool.go 🔗

@@ -5,31 +5,19 @@ import (
 	"encoding/json"
 	"fmt"
 	"reflect"
-	"slices"
-	"strings"
+
+	"charm.land/fantasy/schema"
 )
 
 // Schema represents a JSON schema for tool input validation.
-type Schema struct {
-	Type        string             `json:"type,omitempty"`
-	Properties  map[string]*Schema `json:"properties,omitempty"`
-	Required    []string           `json:"required,omitempty"`
-	Items       *Schema            `json:"items,omitempty"`
-	Description string             `json:"description,omitempty"`
-	Enum        []any              `json:"enum,omitempty"`
-	Format      string             `json:"format,omitempty"`
-	Minimum     *float64           `json:"minimum,omitempty"`
-	Maximum     *float64           `json:"maximum,omitempty"`
-	MinLength   *int               `json:"minLength,omitempty"`
-	MaxLength   *int               `json:"maxLength,omitempty"`
-}
+type Schema = schema.Schema
 
 // ToolInfo represents tool metadata, matching the existing pattern.
 type ToolInfo struct {
-	Name        string
-	Description string
-	Parameters  map[string]any
-	Required    []string
+	Name        string         `json:"name"`
+	Description string         `json:"description"`
+	Parameters  map[string]any `json:"parameters"`
+	Required    []string       `json:"required"`
 }
 
 // ToolCall represents a tool invocation, matching the existing pattern.
@@ -93,7 +81,7 @@ func NewAgentTool[TInput any](
 	fn func(ctx context.Context, input TInput, call ToolCall) (ToolResponse, error),
 ) AgentTool {
 	var input TInput
-	schema := generateSchema(reflect.TypeOf(input))
+	schema := schema.Generate(reflect.TypeOf(input))
 
 	return &funcToolWrapper[TInput]{
 		name:        name,
@@ -127,7 +115,7 @@ func (w *funcToolWrapper[TInput]) Info() ToolInfo {
 	return ToolInfo{
 		Name:        w.name,
 		Description: w.description,
-		Parameters:  schemaToParameters(w.schema),
+		Parameters:  schema.ToParameters(w.schema),
 		Required:    w.schema.Required,
 	}
 }
@@ -140,201 +128,3 @@ func (w *funcToolWrapper[TInput]) Run(ctx context.Context, params ToolCall) (Too
 
 	return w.fn(ctx, input, params)
 }
-
-// schemaToParameters converts a Schema to the parameters map format expected by ToolInfo.
-func schemaToParameters(schema Schema) map[string]any {
-	if schema.Type != "object" || schema.Properties == nil {
-		return map[string]any{}
-	}
-
-	params := make(map[string]any)
-	for name, propSchema := range schema.Properties {
-		param := map[string]any{
-			"type": propSchema.Type,
-		}
-
-		if propSchema.Description != "" {
-			param["description"] = propSchema.Description
-		}
-
-		if len(propSchema.Enum) > 0 {
-			param["enum"] = propSchema.Enum
-		}
-
-		if propSchema.Format != "" {
-			param["format"] = propSchema.Format
-		}
-
-		if propSchema.Minimum != nil {
-			param["minimum"] = *propSchema.Minimum
-		}
-
-		if propSchema.Maximum != nil {
-			param["maximum"] = *propSchema.Maximum
-		}
-
-		if propSchema.MinLength != nil {
-			param["minLength"] = *propSchema.MinLength
-		}
-
-		if propSchema.MaxLength != nil {
-			param["maxLength"] = *propSchema.MaxLength
-		}
-
-		if propSchema.Items != nil {
-			param["items"] = schemaToParameters(*propSchema.Items)
-		}
-
-		params[name] = param
-	}
-
-	return params
-}
-
-// generateSchema automatically generates a JSON schema from a Go type.
-func generateSchema(t reflect.Type) Schema {
-	return generateSchemaRecursive(t, nil, make(map[reflect.Type]bool))
-}
-
-func generateSchemaRecursive(t, parent reflect.Type, visited map[reflect.Type]bool) Schema {
-	// Handle pointers
-	if t.Kind() == reflect.Pointer {
-		t = t.Elem()
-	}
-
-	// Prevent infinite recursion
-	if visited[t] {
-		return Schema{Type: "object"}
-	}
-	visited[t] = true
-	defer delete(visited, t)
-
-	switch t.Kind() {
-	case reflect.String:
-		return Schema{Type: "string"}
-	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
-		reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
-		return Schema{Type: "integer"}
-	case reflect.Float32, reflect.Float64:
-		return Schema{Type: "number"}
-	case reflect.Bool:
-		return Schema{Type: "boolean"}
-	case reflect.Slice, reflect.Array:
-		itemSchema := generateSchemaRecursive(t.Elem(), t, visited)
-		return Schema{
-			Type:  "array",
-			Items: &itemSchema,
-		}
-	case reflect.Map:
-		if t.Key().Kind() == reflect.String {
-			valueSchema := generateSchemaRecursive(t.Elem(), t, visited)
-			schema := Schema{
-				Type: "object",
-				Properties: map[string]*Schema{
-					"*": &valueSchema,
-				},
-			}
-			if useBlankType(parent) {
-				schema.Type = ""
-			}
-			return schema
-		}
-		return Schema{Type: "object"}
-	case reflect.Struct:
-		schema := Schema{
-			Type:       "object",
-			Properties: make(map[string]*Schema),
-		}
-		if useBlankType(parent) {
-			schema.Type = ""
-		}
-
-		for i := range t.NumField() {
-			field := t.Field(i)
-
-			// Skip unexported fields
-			if !field.IsExported() {
-				continue
-			}
-
-			jsonTag := field.Tag.Get("json")
-			if jsonTag == "-" {
-				continue
-			}
-
-			fieldName := field.Name
-			required := true
-
-			// Parse JSON tag
-			if jsonTag != "" {
-				parts := strings.Split(jsonTag, ",")
-				if parts[0] != "" {
-					fieldName = parts[0]
-				}
-
-				// Check for omitempty
-				if slices.Contains(parts[1:], "omitempty") {
-					required = false
-				}
-			} else {
-				// Convert field name to snake_case for JSON
-				fieldName = toSnakeCase(fieldName)
-			}
-
-			fieldSchema := generateSchemaRecursive(field.Type, t, visited)
-
-			// Add description from struct tag if available
-			if desc := field.Tag.Get("description"); desc != "" {
-				fieldSchema.Description = desc
-			}
-
-			// Add enum values from struct tag if available
-			if enumTag := field.Tag.Get("enum"); enumTag != "" {
-				enumValues := strings.Split(enumTag, ",")
-				fieldSchema.Enum = make([]any, len(enumValues))
-				for i, v := range enumValues {
-					fieldSchema.Enum[i] = strings.TrimSpace(v)
-				}
-			}
-
-			schema.Properties[fieldName] = &fieldSchema
-
-			if required {
-				schema.Required = append(schema.Required, fieldName)
-			}
-		}
-
-		return schema
-	case reflect.Interface:
-		return Schema{Type: "object"}
-	default:
-		return Schema{Type: "object"}
-	}
-}
-
-// toSnakeCase converts PascalCase to snake_case.
-func toSnakeCase(s string) string {
-	var result strings.Builder
-	for i, r := range s {
-		if i > 0 && r >= 'A' && r <= 'Z' {
-			result.WriteByte('_')
-		}
-		result.WriteRune(r)
-	}
-	return strings.ToLower(result.String())
-}
-
-// NOTE(@andreynering): This is a hacky workaround for llama.cpp.
-// Ideally, we should always output `type: object` for objects, but
-// llama.cpp complains if we do for arrays of objects.
-func useBlankType(parent reflect.Type) bool {
-	if parent == nil {
-		return false
-	}
-	switch parent.Kind() {
-	case reflect.Slice, reflect.Array:
-		return true
-	default:
-		return false
-	}
-}

tool_test.go 🔗

@@ -3,7 +3,6 @@ package fantasy
 import (
 	"context"
 	"fmt"
-	"reflect"
 	"testing"
 
 	"github.com/stretchr/testify/require"
@@ -64,7 +63,6 @@ func TestEnumToolExample(t *testing.T) {
 			return NewTextResponse(fmt.Sprintf("Weather in %s: %s, sunny", input.Location, temp)), nil
 		},
 	)
-
 	// Check that the schema includes enum values
 	info := tool.Info()
 	unitsParam, ok := info.Parameters["units"].(map[string]any)
@@ -85,529 +83,3 @@ func TestEnumToolExample(t *testing.T) {
 	require.Contains(t, result.Content, "San Francisco")
 	require.Contains(t, result.Content, "72°F")
 }
-
-func TestEnumSupport(t *testing.T) {
-	// Test enum via struct tags
-	type WeatherInput struct {
-		Location string `json:"location" description:"City name"`
-		Units    string `json:"units" enum:"celsius,fahrenheit,kelvin" description:"Temperature units"`
-		Format   string `json:"format,omitempty" enum:"json,xml,text"`
-	}
-
-	schema := generateSchema(reflect.TypeOf(WeatherInput{}))
-
-	require.Equal(t, "object", schema.Type)
-
-	// Check units field has enum values
-	unitsSchema := schema.Properties["units"]
-	require.NotNil(t, unitsSchema, "Expected units property to exist")
-	require.Len(t, unitsSchema.Enum, 3)
-	expectedUnits := []string{"celsius", "fahrenheit", "kelvin"}
-	for i, expected := range expectedUnits {
-		require.Equal(t, expected, unitsSchema.Enum[i])
-	}
-
-	// Check required fields (format should not be required due to omitempty)
-	expectedRequired := []string{"location", "units"}
-	require.Len(t, schema.Required, len(expectedRequired))
-}
-
-func TestSchemaToParameters(t *testing.T) {
-	schema := Schema{
-		Type: "object",
-		Properties: map[string]*Schema{
-			"name": {
-				Type:        "string",
-				Description: "The name field",
-			},
-			"age": {
-				Type:    "integer",
-				Minimum: func() *float64 { v := 0.0; return &v }(),
-				Maximum: func() *float64 { v := 120.0; return &v }(),
-			},
-			"tags": {
-				Type: "array",
-				Items: &Schema{
-					Type: "string",
-				},
-			},
-			"priority": {
-				Type: "string",
-				Enum: []any{"low", "medium", "high"},
-			},
-		},
-		Required: []string{"name"},
-	}
-
-	params := schemaToParameters(schema)
-
-	// Check name parameter
-	nameParam, ok := params["name"].(map[string]any)
-	require.True(t, ok, "Expected name parameter to exist")
-	require.Equal(t, "string", nameParam["type"])
-	require.Equal(t, "The name field", nameParam["description"])
-
-	// Check age parameter with min/max
-	ageParam, ok := params["age"].(map[string]any)
-	require.True(t, ok, "Expected age parameter to exist")
-	require.Equal(t, "integer", ageParam["type"])
-	require.Equal(t, 0.0, ageParam["minimum"])
-	require.Equal(t, 120.0, ageParam["maximum"])
-
-	// Check priority parameter with enum
-	priorityParam, ok := params["priority"].(map[string]any)
-	require.True(t, ok, "Expected priority parameter to exist")
-	require.Equal(t, "string", priorityParam["type"])
-	enumValues, ok := priorityParam["enum"].([]any)
-	require.True(t, ok)
-	require.Len(t, enumValues, 3)
-}
-
-func TestGenerateSchemaBasicTypes(t *testing.T) {
-	t.Parallel()
-
-	tests := []struct {
-		name     string
-		input    any
-		expected Schema
-	}{
-		{
-			name:     "string type",
-			input:    "",
-			expected: Schema{Type: "string"},
-		},
-		{
-			name:     "int type",
-			input:    0,
-			expected: Schema{Type: "integer"},
-		},
-		{
-			name:     "int64 type",
-			input:    int64(0),
-			expected: Schema{Type: "integer"},
-		},
-		{
-			name:     "uint type",
-			input:    uint(0),
-			expected: Schema{Type: "integer"},
-		},
-		{
-			name:     "float64 type",
-			input:    0.0,
-			expected: Schema{Type: "number"},
-		},
-		{
-			name:     "float32 type",
-			input:    float32(0.0),
-			expected: Schema{Type: "number"},
-		},
-		{
-			name:     "bool type",
-			input:    false,
-			expected: Schema{Type: "boolean"},
-		},
-	}
-
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			t.Parallel()
-			schema := generateSchema(reflect.TypeOf(tt.input))
-			require.Equal(t, tt.expected.Type, schema.Type)
-		})
-	}
-}
-
-func TestGenerateSchemaArrayTypes(t *testing.T) {
-	t.Parallel()
-
-	tests := []struct {
-		name     string
-		input    any
-		expected Schema
-	}{
-		{
-			name:  "string slice",
-			input: []string{},
-			expected: Schema{
-				Type:  "array",
-				Items: &Schema{Type: "string"},
-			},
-		},
-		{
-			name:  "int slice",
-			input: []int{},
-			expected: Schema{
-				Type:  "array",
-				Items: &Schema{Type: "integer"},
-			},
-		},
-		{
-			name:  "string array",
-			input: [3]string{},
-			expected: Schema{
-				Type:  "array",
-				Items: &Schema{Type: "string"},
-			},
-		},
-	}
-
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			t.Parallel()
-			schema := generateSchema(reflect.TypeOf(tt.input))
-			require.Equal(t, tt.expected.Type, schema.Type)
-			require.NotNil(t, schema.Items, "Expected items schema to exist")
-			require.Equal(t, tt.expected.Items.Type, schema.Items.Type)
-		})
-	}
-}
-
-func TestGenerateSchemaMapTypes(t *testing.T) {
-	t.Parallel()
-
-	tests := []struct {
-		name     string
-		input    any
-		expected string
-	}{
-		{
-			name:     "string to string map",
-			input:    map[string]string{},
-			expected: "object",
-		},
-		{
-			name:     "string to int map",
-			input:    map[string]int{},
-			expected: "object",
-		},
-		{
-			name:     "int to string map",
-			input:    map[int]string{},
-			expected: "object",
-		},
-	}
-
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			t.Parallel()
-			schema := generateSchema(reflect.TypeOf(tt.input))
-			require.Equal(t, tt.expected, schema.Type)
-		})
-	}
-}
-
-func TestGenerateSchemaStructTypes(t *testing.T) {
-	t.Parallel()
-
-	type SimpleStruct struct {
-		Name string `json:"name" description:"The name field"`
-		Age  int    `json:"age"`
-	}
-
-	type StructWithOmitEmpty struct {
-		Required string `json:"required"`
-		Optional string `json:"optional,omitempty"`
-	}
-
-	type StructWithJSONIgnore struct {
-		Visible string `json:"visible"`
-		Hidden  string `json:"-"`
-	}
-
-	type StructWithoutJSONTags struct {
-		FirstName string
-		LastName  string
-	}
-
-	tests := []struct {
-		name     string
-		input    any
-		validate func(t *testing.T, schema Schema)
-	}{
-		{
-			name:  "simple struct",
-			input: SimpleStruct{},
-			validate: func(t *testing.T, schema Schema) {
-				require.Equal(t, "object", schema.Type)
-				require.Len(t, schema.Properties, 2)
-				require.NotNil(t, schema.Properties["name"], "Expected name property to exist")
-				require.Equal(t, "The name field", schema.Properties["name"].Description)
-				require.Len(t, schema.Required, 2)
-			},
-		},
-		{
-			name:  "struct with omitempty",
-			input: StructWithOmitEmpty{},
-			validate: func(t *testing.T, schema Schema) {
-				require.Len(t, schema.Required, 1)
-				require.Equal(t, "required", schema.Required[0])
-			},
-		},
-		{
-			name:  "struct with json ignore",
-			input: StructWithJSONIgnore{},
-			validate: func(t *testing.T, schema Schema) {
-				require.Len(t, schema.Properties, 1)
-				require.NotNil(t, schema.Properties["visible"], "Expected visible property to exist")
-				require.Nil(t, schema.Properties["hidden"], "Expected hidden property to not exist")
-			},
-		},
-		{
-			name:  "struct without json tags",
-			input: StructWithoutJSONTags{},
-			validate: func(t *testing.T, schema Schema) {
-				require.NotNil(t, schema.Properties["first_name"], "Expected first_name property to exist")
-				require.NotNil(t, schema.Properties["last_name"], "Expected last_name property to exist")
-			},
-		},
-	}
-
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			t.Parallel()
-			schema := generateSchema(reflect.TypeOf(tt.input))
-			tt.validate(t, schema)
-		})
-	}
-}
-
-func TestGenerateSchemaPointerTypes(t *testing.T) {
-	t.Parallel()
-
-	type StructWithPointers struct {
-		Name *string `json:"name"`
-		Age  *int    `json:"age"`
-	}
-
-	schema := generateSchema(reflect.TypeOf(StructWithPointers{}))
-
-	require.Equal(t, "object", schema.Type)
-
-	require.NotNil(t, schema.Properties["name"], "Expected name property to exist")
-	require.Equal(t, "string", schema.Properties["name"].Type)
-
-	require.NotNil(t, schema.Properties["age"], "Expected age property to exist")
-	require.Equal(t, "integer", schema.Properties["age"].Type)
-}
-
-func TestGenerateSchemaNestedStructs(t *testing.T) {
-	t.Parallel()
-
-	type Address struct {
-		Street string `json:"street"`
-		City   string `json:"city"`
-	}
-
-	type Person struct {
-		Name    string  `json:"name"`
-		Address Address `json:"address"`
-	}
-
-	schema := generateSchema(reflect.TypeOf(Person{}))
-
-	require.Equal(t, "object", schema.Type)
-
-	require.NotNil(t, schema.Properties["address"], "Expected address property to exist")
-
-	addressSchema := schema.Properties["address"]
-	require.Equal(t, "object", addressSchema.Type)
-
-	require.NotNil(t, addressSchema.Properties["street"], "Expected street property in address to exist")
-	require.NotNil(t, addressSchema.Properties["city"], "Expected city property in address to exist")
-}
-
-func TestGenerateSchemaRecursiveStructs(t *testing.T) {
-	t.Parallel()
-
-	type Node struct {
-		Value string `json:"value"`
-		Next  *Node  `json:"next,omitempty"`
-	}
-
-	schema := generateSchema(reflect.TypeOf(Node{}))
-
-	require.Equal(t, "object", schema.Type)
-
-	require.NotNil(t, schema.Properties["value"], "Expected value property to exist")
-
-	require.NotNil(t, schema.Properties["next"], "Expected next property to exist")
-
-	// The recursive reference should be handled gracefully
-	nextSchema := schema.Properties["next"]
-	require.Equal(t, "object", nextSchema.Type)
-}
-
-func TestGenerateSchemaWithEnumTags(t *testing.T) {
-	t.Parallel()
-
-	type ConfigInput struct {
-		Level    string `json:"level" enum:"debug,info,warn,error" description:"Log level"`
-		Format   string `json:"format" enum:"json,text"`
-		Optional string `json:"optional,omitempty" enum:"a,b,c"`
-	}
-
-	schema := generateSchema(reflect.TypeOf(ConfigInput{}))
-
-	// Check level field
-	levelSchema := schema.Properties["level"]
-	require.NotNil(t, levelSchema, "Expected level property to exist")
-	require.Len(t, levelSchema.Enum, 4)
-	expectedLevels := []string{"debug", "info", "warn", "error"}
-	for i, expected := range expectedLevels {
-		require.Equal(t, expected, levelSchema.Enum[i])
-	}
-
-	// Check format field
-	formatSchema := schema.Properties["format"]
-	require.NotNil(t, formatSchema, "Expected format property to exist")
-	require.Len(t, formatSchema.Enum, 2)
-
-	// Check required fields (optional should not be required due to omitempty)
-	expectedRequired := []string{"level", "format"}
-	require.Len(t, schema.Required, len(expectedRequired))
-}
-
-func TestGenerateSchemaComplexTypes(t *testing.T) {
-	t.Parallel()
-
-	type ComplexInput struct {
-		StringSlice []string            `json:"string_slice"`
-		IntMap      map[string]int      `json:"int_map"`
-		NestedSlice []map[string]string `json:"nested_slice"`
-		Interface   any                 `json:"interface"`
-	}
-
-	schema := generateSchema(reflect.TypeOf(ComplexInput{}))
-
-	// Check string slice
-	stringSliceSchema := schema.Properties["string_slice"]
-	require.NotNil(t, stringSliceSchema, "Expected string_slice property to exist")
-	require.Equal(t, "array", stringSliceSchema.Type)
-	require.Equal(t, "string", stringSliceSchema.Items.Type)
-
-	// Check int map
-	intMapSchema := schema.Properties["int_map"]
-	require.NotNil(t, intMapSchema, "Expected int_map property to exist")
-	require.Equal(t, "object", intMapSchema.Type)
-
-	// Check nested slice
-	nestedSliceSchema := schema.Properties["nested_slice"]
-	require.NotNil(t, nestedSliceSchema, "Expected nested_slice property to exist")
-	require.Equal(t, "array", nestedSliceSchema.Type)
-	require.Equal(t, "", nestedSliceSchema.Items.Type)
-
-	// Check interface
-	interfaceSchema := schema.Properties["interface"]
-	require.NotNil(t, interfaceSchema, "Expected interface property to exist")
-	require.Equal(t, "object", interfaceSchema.Type)
-}
-
-func TestToSnakeCase(t *testing.T) {
-	t.Parallel()
-
-	tests := []struct {
-		input    string
-		expected string
-	}{
-		{"FirstName", "first_name"},
-		{"XMLHttpRequest", "x_m_l_http_request"},
-		{"ID", "i_d"},
-		{"HTTPSProxy", "h_t_t_p_s_proxy"},
-		{"simple", "simple"},
-		{"", ""},
-		{"A", "a"},
-		{"AB", "a_b"},
-		{"CamelCase", "camel_case"},
-	}
-
-	for _, tt := range tests {
-		t.Run(tt.input, func(t *testing.T) {
-			t.Parallel()
-			result := toSnakeCase(tt.input)
-			require.Equal(t, tt.expected, result, "toSnakeCase(%s)", tt.input)
-		})
-	}
-}
-
-func TestSchemaToParametersEdgeCases(t *testing.T) {
-	t.Parallel()
-
-	tests := []struct {
-		name     string
-		schema   Schema
-		expected map[string]any
-	}{
-		{
-			name: "non-object schema",
-			schema: Schema{
-				Type: "string",
-			},
-			expected: map[string]any{},
-		},
-		{
-			name: "object with no properties",
-			schema: Schema{
-				Type:       "object",
-				Properties: nil,
-			},
-			expected: map[string]any{},
-		},
-		{
-			name: "object with empty properties",
-			schema: Schema{
-				Type:       "object",
-				Properties: map[string]*Schema{},
-			},
-			expected: map[string]any{},
-		},
-		{
-			name: "schema with all constraint types",
-			schema: Schema{
-				Type: "object",
-				Properties: map[string]*Schema{
-					"text": {
-						Type:      "string",
-						Format:    "email",
-						MinLength: func() *int { v := 5; return &v }(),
-						MaxLength: func() *int { v := 100; return &v }(),
-					},
-					"number": {
-						Type:    "number",
-						Minimum: func() *float64 { v := 0.0; return &v }(),
-						Maximum: func() *float64 { v := 100.0; return &v }(),
-					},
-				},
-			},
-			expected: map[string]any{
-				"text": map[string]any{
-					"type":      "string",
-					"format":    "email",
-					"minLength": 5,
-					"maxLength": 100,
-				},
-				"number": map[string]any{
-					"type":    "number",
-					"minimum": 0.0,
-					"maximum": 100.0,
-				},
-			},
-		},
-	}
-
-	for _, tt := range tests {
-		t.Run(tt.name, func(t *testing.T) {
-			t.Parallel()
-			result := schemaToParameters(tt.schema)
-			require.Len(t, result, len(tt.expected))
-			for key, expectedValue := range tt.expected {
-				require.NotNil(t, result[key], "Expected parameter %s to exist", key)
-				// Deep comparison would be complex, so we'll check key properties
-				resultParam := result[key].(map[string]any)
-				expectedParam := expectedValue.(map[string]any)
-				for propKey, propValue := range expectedParam {
-					require.Equal(t, propValue, resultParam[propKey], "Expected %s.%s", key, propKey)
-				}
-			}
-		})
-	}
-}